diff --git a/app/assets/javascripts/ci/admin/jobs_table/admin_jobs_table_app.vue b/app/assets/javascripts/ci/admin/jobs_table/admin_jobs_table_app.vue
index 55ff647e25f374839f28f2bf19db4830b8d6c95e..61a619580c11cc3bb1f45ddfd01066d1223c22a7 100644
--- a/app/assets/javascripts/ci/admin/jobs_table/admin_jobs_table_app.vue
+++ b/app/assets/javascripts/ci/admin/jobs_table/admin_jobs_table_app.vue
@@ -7,6 +7,7 @@ import JobsTableTabs from '~/ci/jobs_page/components/jobs_table_tabs.vue';
 import JobsFilteredSearch from '~/ci/common/private/jobs_filtered_search/app.vue';
 import JobsTableEmptyState from '~/ci/jobs_page/components/jobs_table_empty_state.vue';
 import { createAlert } from '~/alert';
+import { InternalEvents } from '~/tracking';
 import {
   TOKEN_TYPE_STATUS,
   TOKEN_TYPE_JOBS_RUNNER_TYPE,
@@ -19,6 +20,7 @@ import {
   JOBS_FETCH_ERROR_MSG,
   LOADING_ARIA_LABEL,
   CANCELABLE_JOBS_ERROR_MSG,
+  VIEW_ADMIN_JOBS_PAGELOAD,
 } from './constants';
 import JobsSkeletonLoader from './components/jobs_skeleton_loader.vue';
 import GetAllJobs from './graphql/queries/get_all_jobs.query.graphql';
@@ -44,7 +46,7 @@ export default {
     GlIntersectionObserver,
     GlLoadingIcon,
   },
-  mixins: [glFeatureFlagsMixin()],
+  mixins: [glFeatureFlagsMixin(), InternalEvents.mixin()],
   inject: {
     jobStatuses: {
       default: null,
@@ -155,6 +157,9 @@ export default {
       this.count = newCount;
     },
   },
+  mounted() {
+    this.trackEvent(VIEW_ADMIN_JOBS_PAGELOAD);
+  },
   methods: {
     updateHistoryAndFetchCount(filterParams = {}) {
       this.$apollo.queries.jobsCount.refetch(filterParams);
diff --git a/app/assets/javascripts/ci/admin/jobs_table/constants.js b/app/assets/javascripts/ci/admin/jobs_table/constants.js
index 015749a2f593d7431593a241e3117fd76c4b02e3..9b09bfe7a559b8a39f4d24661db0cab12047d0b5 100644
--- a/app/assets/javascripts/ci/admin/jobs_table/constants.js
+++ b/app/assets/javascripts/ci/admin/jobs_table/constants.js
@@ -30,3 +30,4 @@ export const DEFAULT_FIELDS_ADMIN = [
 ];
 
 export const RAW_TEXT_WARNING_ADMIN = RAW_TEXT_WARNING;
+export const VIEW_ADMIN_JOBS_PAGELOAD = 'view_admin_jobs_pageload';
diff --git a/config/events/view_admin_jobs_pageload.yml b/config/events/view_admin_jobs_pageload.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6f5ff1c969bf4951119d0d3fec2ed807b53f81b3
--- /dev/null
+++ b/config/events/view_admin_jobs_pageload.yml
@@ -0,0 +1,16 @@
+---
+description: Tracks pageviews for the admin jobs page
+internal_events: true
+action: view_admin_jobs_pageload
+identifiers:
+- user
+product_group: personal_productivity
+milestone: '17.2'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/156814
+distributions:
+- ce
+- ee
+tiers:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/count_distinct_user_id_from_view_admin_jobs_pageload_monthly.yml b/config/metrics/counts_28d/count_distinct_user_id_from_view_admin_jobs_pageload_monthly.yml
new file mode 100644
index 0000000000000000000000000000000000000000..680a6bda917e6341618d504c54b55db534756ea1
--- /dev/null
+++ b/config/metrics/counts_28d/count_distinct_user_id_from_view_admin_jobs_pageload_monthly.yml
@@ -0,0 +1,22 @@
+---
+key_path: redis_hll_counters.count_distinct_user_id_from_view_admin_jobs_pageload_monthly
+description: Monthly count of unique users who visit the admin jobs page
+product_group: personal_productivity
+performance_indicator_type: []
+value_type: number
+status: active
+milestone: '17.2'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/156814
+time_frame: 28d
+data_source: internal_events
+data_category: optional
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+events:
+- name: view_admin_jobs_pageload
+  unique: user.id
diff --git a/config/metrics/counts_28d/count_total_view_admin_jobs_pageload_monthly.yml b/config/metrics/counts_28d/count_total_view_admin_jobs_pageload_monthly.yml
new file mode 100644
index 0000000000000000000000000000000000000000..9f71e252c2e63397b1c96715abe7fefcf6a97471
--- /dev/null
+++ b/config/metrics/counts_28d/count_total_view_admin_jobs_pageload_monthly.yml
@@ -0,0 +1,21 @@
+---
+key_path: counts.count_total_view_admin_jobs_pageload_monthly
+description: Monthly count of total users who visit the admin jobs page
+product_group: personal_productivity
+performance_indicator_type: []
+value_type: number
+status: active
+milestone: '17.2'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/156814
+time_frame: 28d
+data_source: internal_events
+data_category: optional
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+events:
+- name: view_admin_jobs_pageload
diff --git a/config/metrics/counts_7d/count_distinct_user_id_from_view_admin_jobs_pageload_weekly.yml b/config/metrics/counts_7d/count_distinct_user_id_from_view_admin_jobs_pageload_weekly.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a04e77961130807da7fd5e60d4454750afa91c7e
--- /dev/null
+++ b/config/metrics/counts_7d/count_distinct_user_id_from_view_admin_jobs_pageload_weekly.yml
@@ -0,0 +1,22 @@
+---
+key_path: redis_hll_counters.count_distinct_user_id_from_view_admin_jobs_pageload_weekly
+description: Weekly count of unique users who visit the admin jobs page
+product_group: personal_productivity
+performance_indicator_type: []
+value_type: number
+status: active
+milestone: '17.2'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/156814
+time_frame: 7d
+data_source: internal_events
+data_category: optional
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+events:
+- name: view_admin_jobs_pageload
+  unique: user.id
diff --git a/config/metrics/counts_7d/count_total_view_admin_jobs_pageload_weekly.yml b/config/metrics/counts_7d/count_total_view_admin_jobs_pageload_weekly.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b88101e2916d97e738c58791ee76630b79bf96d8
--- /dev/null
+++ b/config/metrics/counts_7d/count_total_view_admin_jobs_pageload_weekly.yml
@@ -0,0 +1,21 @@
+---
+key_path: counts.count_total_view_admin_jobs_pageload_weekly
+description: Weekly count of total users who visit the admin jobs page
+product_group: personal_productivity
+performance_indicator_type: []
+value_type: number
+status: active
+milestone: '17.2'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/156814
+time_frame: 7d
+data_source: internal_events
+data_category: optional
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+events:
+- name: view_admin_jobs_pageload
diff --git a/spec/frontend/ci/admin/jobs_table/admin_job_table_app_spec.js b/spec/frontend/ci/admin/jobs_table/admin_job_table_app_spec.js
index d14b78d2f4dcee95a879baca7c0466107f00f4f4..0c7af8bebc44dff83617b199c868252ccf4ca225 100644
--- a/spec/frontend/ci/admin/jobs_table/admin_job_table_app_spec.js
+++ b/spec/frontend/ci/admin/jobs_table/admin_job_table_app_spec.js
@@ -16,12 +16,14 @@ import { createAlert } from '~/alert';
 import { TEST_HOST } from 'spec/test_constants';
 import JobsFilteredSearch from '~/ci/common/private/jobs_filtered_search/app.vue';
 import * as urlUtils from '~/lib/utils/url_utility';
+import { useMockInternalEventsTracking } from 'helpers/tracking_internal_events_helper';
 import {
   JOBS_FETCH_ERROR_MSG,
   CANCELABLE_JOBS_ERROR_MSG,
   LOADING_ARIA_LABEL,
   RAW_TEXT_WARNING_ADMIN,
   JOBS_COUNT_ERROR_MESSAGE,
+  VIEW_ADMIN_JOBS_PAGELOAD,
 } from '~/ci/admin/jobs_table/constants';
 import { TOKEN_TYPE_JOBS_RUNNER_TYPE } from '~/vue_shared/components/filtered_search_bar/constants';
 import {
@@ -96,6 +98,16 @@ describe('Job table app', () => {
     });
   };
 
+  describe('on page load', () => {
+    const { bindInternalEventDocument } = useMockInternalEventsTracking();
+
+    it('tracks view_admin_jobs_pageload event', () => {
+      createComponent();
+      const { trackEventSpy } = bindInternalEventDocument(wrapper.element);
+      expect(trackEventSpy).toHaveBeenCalledWith(VIEW_ADMIN_JOBS_PAGELOAD, {}, undefined);
+    });
+  });
+
   describe('loading state', () => {
     it('should display skeleton loader when loading', () => {
       createComponent();