diff --git a/config/events/agent_users_using_ci_tunnel.yml b/config/events/agent_users_using_ci_tunnel.yml
new file mode 100644
index 0000000000000000000000000000000000000000..575c2ddf9e8f76a20c52fd697dfb5203f6e68d26
--- /dev/null
+++ b/config/events/agent_users_using_ci_tunnel.yml
@@ -0,0 +1,20 @@
+---
+description: Kubernetes API proxy request using the CI/CD Tunnel
+category: InternalEventTracking
+action: agent_users_using_ci_tunnel
+identifiers:
+- project
+- namespace
+- user
+product_section: cd
+product_stage: deploy
+product_group: environments
+milestone: '16.8'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140038
+distributions:
+- ce
+- ee
+tiers:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20220729001651_agent_users_using_ci_tunnel_monthly.yml b/config/metrics/counts_28d/20220729001651_agent_users_using_ci_tunnel_monthly.yml
index a16dbc17f055bd3b44df76bf3c5218abfef01675..1938323ffdadc803bd3a0adf9e1427e84e34aaae 100644
--- a/config/metrics/counts_28d/20220729001651_agent_users_using_ci_tunnel_monthly.yml
+++ b/config/metrics/counts_28d/20220729001651_agent_users_using_ci_tunnel_monthly.yml
@@ -10,12 +10,14 @@ status: active
 milestone: "15.3"
 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/61685
 time_frame: 28d
-data_source: redis_hll
+data_source: internal_events
 data_category: optional
-instrumentation_class: RedisHLLMetric
 options:
   events:
     - agent_users_using_ci_tunnel
+events:
+  - name: agent_users_using_ci_tunnel
+    unique: user.id
 performance_indicator_type: []
 distribution:
   - ce
diff --git a/config/metrics/counts_7d/20220729001644_agent_users_using_ci_tunnel_weekly.yml b/config/metrics/counts_7d/20220729001644_agent_users_using_ci_tunnel_weekly.yml
index efb97bc1b9536280c56a8ddb7b6eba8463a4a72e..3c309eb1bb5593b5a8ecb9ae506d4842e9b516ab 100644
--- a/config/metrics/counts_7d/20220729001644_agent_users_using_ci_tunnel_weekly.yml
+++ b/config/metrics/counts_7d/20220729001644_agent_users_using_ci_tunnel_weekly.yml
@@ -9,13 +9,15 @@ status: active
 milestone: "15.3"
 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/61685
 time_frame: 7d
-data_source: redis_hll
+data_source: internal_events
 data_category: optional
-instrumentation_class: RedisHLLMetric
 performance_indicator_type: []
 options:
   events:
     - agent_users_using_ci_tunnel
+events:
+  - name: agent_users_using_ci_tunnel
+    unique: user.id
 distribution:
   - ce
   - ee
diff --git a/doc/development/internal_api/index.md b/doc/development/internal_api/index.md
index 84f5d09418fc663634e8b9fe6d8fdc7515dce6bc..fc73fcb6c2c2d3050c213e1e17981de7bf55f041 100644
--- a/doc/development/internal_api/index.md
+++ b/doc/development/internal_api/index.md
@@ -534,7 +534,6 @@ metric counters.
 | `counters["k8s_api_proxy_requests_via_user_access"]`                      | integer       | no       | The number to increase the `k8s_api_proxy_requests_via_user_access` counter by                                                                                  |
 | `counters["k8s_api_proxy_requests_via_pat_access"]`                       | integer       | no       | The number to increase the `k8s_api_proxy_requests_via_pat_access` counter by                                                                                   |
 | `unique_counters`                                                         | hash          | no       | Array of unique numbers                                                                                                                                         |
-| `unique_counters["agent_users_using_ci_tunnel"]`                          | integer array | no       | The set of unique user ids that have interacted a CI Tunnel to track the `agent_users_using_ci_tunnel` metric event                                             |
 | `unique_counters["k8s_api_proxy_requests_unique_users_via_ci_access"]`    | integer array | no       | The set of unique user ids that have interacted a CI Tunnel via `ci_access` to track the `k8s_api_proxy_requests_unique_users_via_ci_access` metric event       |
 | `unique_counters["k8s_api_proxy_requests_unique_agents_via_ci_access"]`   | integer array | no       | The set of unique agent ids that have interacted a CI Tunnel via `ci_access` to track the `k8s_api_proxy_requests_unique_agents_via_ci_access` metric event     |
 | `unique_counters["k8s_api_proxy_requests_unique_users_via_user_access"]`  | integer array | no       | The set of unique user ids that have interacted a CI Tunnel via `user_access` to track the `k8s_api_proxy_requests_unique_users_via_user_access` metric event   |
diff --git a/lib/api/helpers/kubernetes/agent_helpers.rb b/lib/api/helpers/kubernetes/agent_helpers.rb
index eca26c023cf5403c845d6a23cfdf09c1eefe7a95..18f47fa99554b2232c39b2c3c3bb9e8d96931291 100644
--- a/lib/api/helpers/kubernetes/agent_helpers.rb
+++ b/lib/api/helpers/kubernetes/agent_helpers.rb
@@ -40,7 +40,6 @@ def agent_has_access_to_project?(project)
 
         def increment_unique_events
           events = params[:unique_counters]&.slice(
-            :agent_users_using_ci_tunnel,
             :k8s_api_proxy_requests_unique_agents_via_ci_access,
             :k8s_api_proxy_requests_unique_agents_via_user_access,
             :k8s_api_proxy_requests_unique_agents_via_pat_access,
@@ -60,6 +59,8 @@ def track_events
           )
           return if event_lists.blank?
 
+          event_lists[:agent_users_using_ci_tunnel] = event_lists.values.flatten
+
           users, projects = load_users_and_projects(event_lists)
           event_lists.each do |event_name, events|
             track_events_for(event_name, events, users, projects)
diff --git a/lib/api/internal/kubernetes.rb b/lib/api/internal/kubernetes.rb
index d3a4d94f8cac6d15daf06c8ea2a655192e45197d..286192f80935002d4a040243199762e2bf41e1d2 100644
--- a/lib/api/internal/kubernetes.rb
+++ b/lib/api/internal/kubernetes.rb
@@ -127,7 +127,6 @@ class Kubernetes < ::API::Base
             end
 
             optional :unique_counters, type: Hash do
-              optional :agent_users_using_ci_tunnel, type: Array[Integer], desc: 'An array of user ids that have interacted with CI Tunnel'
               optional :k8s_api_proxy_requests_unique_users_via_ci_access, type: Array[Integer], desc: 'An array of users that have interacted with the CI tunnel via `ci_access`'
               optional :k8s_api_proxy_requests_unique_agents_via_ci_access, type: Array[Integer], desc: 'An array of agents that have interacted with the CI tunnel via `ci_access`'
               optional :k8s_api_proxy_requests_unique_users_via_user_access, type: Array[Integer], desc: 'An array of users that have interacted with the CI tunnel via `user_access`'
diff --git a/spec/requests/api/internal/kubernetes_spec.rb b/spec/requests/api/internal/kubernetes_spec.rb
index 5ef041881b903450a89a7f8036d076ac45fcb873..7934fa4a35896fb40e6fa7004c5d8be8b1c58ea9 100644
--- a/spec/requests/api/internal/kubernetes_spec.rb
+++ b/spec/requests/api/internal/kubernetes_spec.rb
@@ -80,7 +80,7 @@ def send_request(headers: {}, params: {})
 
       it 'returns no_content for valid events' do
         counters = { gitops_sync: 10, k8s_api_proxy_request: 5 }
-        unique_counters = { agent_users_using_ci_tunnel: [10] }
+        unique_counters = { k8s_api_proxy_requests_unique_users_via_ci_access: [10] }
 
         send_request(params: { counters: counters, unique_counters: unique_counters })
 
@@ -89,7 +89,7 @@ def send_request(headers: {}, params: {})
 
       it 'returns no_content for counts of zero' do
         counters = { gitops_sync: 0, k8s_api_proxy_request: 0 }
-        unique_counters = { agent_users_using_ci_tunnel: [] }
+        unique_counters = { k8s_api_proxy_requests_unique_users_via_ci_access: [] }
 
         send_request(params: { counters: counters, unique_counters: unique_counters })
 
@@ -105,7 +105,7 @@ def send_request(headers: {}, params: {})
       end
 
       it 'returns 400 for non unique_counter set' do
-        unique_counters = { agent_users_using_ci_tunnel: 1 }
+        unique_counters = { k8s_api_proxy_requests_unique_users_via_ci_access: 1 }
 
         send_request(params: { unique_counters: unique_counters })
 
@@ -125,7 +125,6 @@ def send_request(headers: {}, params: {})
         users = create_list(:user, 3)
         user_ids = users.map(&:id) << users[0].id
         unique_counters = {
-          agent_users_using_ci_tunnel: user_ids,
           k8s_api_proxy_requests_unique_users_via_ci_access: user_ids,
           k8s_api_proxy_requests_unique_agents_via_ci_access: user_ids,
           k8s_api_proxy_requests_unique_users_via_user_access: user_ids,
@@ -191,6 +190,7 @@ def send_request(headers: {}, params: {})
         end
 
         it 'tracks events and returns no_content', :aggregate_failures do
+          events[:agent_users_using_ci_tunnel] = events.values.flatten
           events.each do |event_name, event_list|
             event_list.each do |event|
               expect(Gitlab::InternalEvents).to receive(:track_event)