diff --git a/app/models/resource_timebox_event.rb b/app/models/resource_timebox_event.rb
index dbb2b428c7be0af966a87987ebd1aa2cc7ae5c52..ac1647839452374b95e9c9eb25f31f062875b6e6 100644
--- a/app/models/resource_timebox_event.rb
+++ b/app/models/resource_timebox_event.rb
@@ -29,10 +29,10 @@ def usage_metrics
     case self
     when ResourceMilestoneEvent
       Gitlab::UsageDataCounters::IssueActivityUniqueCounter.track_issue_milestone_changed_action(author: user)
-    when ResourceIterationEvent
-      Gitlab::UsageDataCounters::IssueActivityUniqueCounter.track_issue_iteration_changed_action(author: user)
     else
       # no-op
     end
   end
 end
+
+ResourceTimeboxEvent.prepend_if_ee('EE::ResourceTimeboxEvent')
diff --git a/ee/app/models/ee/resource_timebox_event.rb b/ee/app/models/ee/resource_timebox_event.rb
new file mode 100644
index 0000000000000000000000000000000000000000..e352a7bde3af85b5b394ca1f6da705d788b23ae8
--- /dev/null
+++ b/ee/app/models/ee/resource_timebox_event.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+module EE
+  module ResourceTimeboxEvent
+    extend ::Gitlab::Utils::Override
+
+    private
+
+    override :usage_metrics
+    def usage_metrics
+      case self
+      when ResourceIterationEvent
+        ::Gitlab::UsageDataCounters::IssueActivityUniqueCounter.track_issue_iteration_changed_action(author: user)
+      else
+        super
+      end
+    end
+  end
+end
diff --git a/ee/lib/ee/gitlab/usage_data_counters/issue_activity_unique_counter.rb b/ee/lib/ee/gitlab/usage_data_counters/issue_activity_unique_counter.rb
index ceb28309776dc5af49daf575b26054fb2fc6af95..3ec0acf7cf534863eb239f3831a8e5bb9d994e4d 100644
--- a/ee/lib/ee/gitlab/usage_data_counters/issue_activity_unique_counter.rb
+++ b/ee/lib/ee/gitlab/usage_data_counters/issue_activity_unique_counter.rb
@@ -7,11 +7,36 @@ module IssueActivityUniqueCounter
         extend ActiveSupport::Concern
 
         ISSUE_HEALTH_STATUS_CHANGED = 'g_project_management_issue_health_status_changed'
+        ISSUE_ITERATION_CHANGED = 'g_project_management_issue_iteration_changed'
+        ISSUE_WEIGHT_CHANGED = 'g_project_management_issue_weight_changed'
+        ISSUE_ADDED_TO_EPIC = 'g_project_management_issue_added_to_epic'
+        ISSUE_REMOVED_FROM_EPIC = 'g_project_management_issue_removed_from_epic'
+        ISSUE_CHANGED_EPIC = 'g_project_management_issue_changed_epic'
 
         class_methods do
           def track_issue_health_status_changed_action(author:, time: Time.zone.now)
             track_unique_action(ISSUE_HEALTH_STATUS_CHANGED, author, time)
           end
+
+          def track_issue_iteration_changed_action(author:, time: Time.zone.now)
+            track_unique_action(ISSUE_ITERATION_CHANGED, author, time)
+          end
+
+          def track_issue_weight_changed_action(author:, time: Time.zone.now)
+            track_unique_action(ISSUE_WEIGHT_CHANGED, author, time)
+          end
+
+          def track_issue_added_to_epic_action(author:, time: Time.zone.now)
+            track_unique_action(ISSUE_ADDED_TO_EPIC, author, time)
+          end
+
+          def track_issue_removed_from_epic_action(author:, time: Time.zone.now)
+            track_unique_action(ISSUE_REMOVED_FROM_EPIC, author, time)
+          end
+
+          def track_issue_changed_epic_action(author:, time: Time.zone.now)
+            track_unique_action(ISSUE_CHANGED_EPIC, author, time)
+          end
         end
       end
     end
diff --git a/ee/spec/lib/ee/gitlab/usage_data_counters/issue_activity_unique_counter_spec.rb b/ee/spec/lib/ee/gitlab/usage_data_counters/issue_activity_unique_counter_spec.rb
index 9ae8e4dfe608e4ae0bc620bda1828fa89504470c..75e097687377b6549dbec519c5b59b1fb2dc344c 100644
--- a/ee/spec/lib/ee/gitlab/usage_data_counters/issue_activity_unique_counter_spec.rb
+++ b/ee/spec/lib/ee/gitlab/usage_data_counters/issue_activity_unique_counter_spec.rb
@@ -17,4 +17,54 @@ def track_action(params)
       end
     end
   end
+
+  context 'for Issue iteration changed actions' do
+    it_behaves_like 'a tracked issue edit event' do
+      let(:action) { described_class::ISSUE_ITERATION_CHANGED }
+
+      def track_action(params)
+        described_class.track_issue_iteration_changed_action(**params)
+      end
+    end
+  end
+
+  context 'for Issue weight changed actions' do
+    it_behaves_like 'a tracked issue edit event' do
+      let(:action) { described_class::ISSUE_WEIGHT_CHANGED }
+
+      def track_action(params)
+        described_class.track_issue_weight_changed_action(**params)
+      end
+    end
+  end
+
+  context 'for Issue added to epic actions' do
+    it_behaves_like 'a tracked issue edit event' do
+      let(:action) { described_class::ISSUE_ADDED_TO_EPIC}
+
+      def track_action(params)
+        described_class.track_issue_added_to_epic_action(**params)
+      end
+    end
+  end
+
+  context 'for Issue removed from epic actions' do
+    it_behaves_like 'a tracked issue edit event' do
+      let(:action) { described_class::ISSUE_REMOVED_FROM_EPIC}
+
+      def track_action(params)
+        described_class.track_issue_removed_from_epic_action(**params)
+      end
+    end
+  end
+
+  context 'for Issue changed epic actions' do
+    it_behaves_like 'a tracked issue edit event' do
+      let(:action) { described_class::ISSUE_CHANGED_EPIC}
+
+      def track_action(params)
+        described_class.track_issue_changed_epic_action(**params)
+      end
+    end
+  end
 end
diff --git a/lib/gitlab/usage_data_counters/issue_activity_unique_counter.rb b/lib/gitlab/usage_data_counters/issue_activity_unique_counter.rb
index 7d019dc51303b5441f85143e0a99618c985f0eb6..da013a0677731c39127f739ff2a6d038a78e45ae 100644
--- a/lib/gitlab/usage_data_counters/issue_activity_unique_counter.rb
+++ b/lib/gitlab/usage_data_counters/issue_activity_unique_counter.rb
@@ -9,14 +9,12 @@ module IssueActivityUniqueCounter
       ISSUE_CREATED = 'g_project_management_issue_created'
       ISSUE_CLOSED = 'g_project_management_issue_closed'
       ISSUE_DESCRIPTION_CHANGED = 'g_project_management_issue_description_changed'
-      ISSUE_ITERATION_CHANGED = 'g_project_management_issue_iteration_changed'
       ISSUE_LABEL_CHANGED = 'g_project_management_issue_label_changed'
       ISSUE_MADE_CONFIDENTIAL = 'g_project_management_issue_made_confidential'
       ISSUE_MADE_VISIBLE = 'g_project_management_issue_made_visible'
       ISSUE_MILESTONE_CHANGED = 'g_project_management_issue_milestone_changed'
       ISSUE_REOPENED = 'g_project_management_issue_reopened'
       ISSUE_TITLE_CHANGED = 'g_project_management_issue_title_changed'
-      ISSUE_WEIGHT_CHANGED = 'g_project_management_issue_weight_changed'
       ISSUE_CROSS_REFERENCED = 'g_project_management_issue_cross_referenced'
       ISSUE_MOVED = 'g_project_management_issue_moved'
       ISSUE_RELATED = 'g_project_management_issue_related'
@@ -24,9 +22,6 @@ module IssueActivityUniqueCounter
       ISSUE_MARKED_AS_DUPLICATE = 'g_project_management_issue_marked_as_duplicate'
       ISSUE_LOCKED = 'g_project_management_issue_locked'
       ISSUE_UNLOCKED = 'g_project_management_issue_unlocked'
-      ISSUE_ADDED_TO_EPIC = 'g_project_management_issue_added_to_epic'
-      ISSUE_REMOVED_FROM_EPIC = 'g_project_management_issue_removed_from_epic'
-      ISSUE_CHANGED_EPIC = 'g_project_management_issue_changed_epic'
       ISSUE_DESIGNS_ADDED = 'g_project_management_issue_designs_added'
       ISSUE_DESIGNS_MODIFIED = 'g_project_management_issue_designs_modified'
       ISSUE_DESIGNS_REMOVED = 'g_project_management_issue_designs_removed'
@@ -78,14 +73,6 @@ def track_issue_milestone_changed_action(author:, time: Time.zone.now)
           track_unique_action(ISSUE_MILESTONE_CHANGED, author, time)
         end
 
-        def track_issue_iteration_changed_action(author:, time: Time.zone.now)
-          track_unique_action(ISSUE_ITERATION_CHANGED, author, time)
-        end
-
-        def track_issue_weight_changed_action(author:, time: Time.zone.now)
-          track_unique_action(ISSUE_WEIGHT_CHANGED, author, time)
-        end
-
         def track_issue_cross_referenced_action(author:, time: Time.zone.now)
           track_unique_action(ISSUE_CROSS_REFERENCED, author, time)
         end
@@ -114,18 +101,6 @@ def track_issue_unlocked_action(author:, time: Time.zone.now)
           track_unique_action(ISSUE_UNLOCKED, author, time)
         end
 
-        def track_issue_added_to_epic_action(author:, time: Time.zone.now)
-          track_unique_action(ISSUE_ADDED_TO_EPIC, author, time)
-        end
-
-        def track_issue_removed_from_epic_action(author:, time: Time.zone.now)
-          track_unique_action(ISSUE_REMOVED_FROM_EPIC, author, time)
-        end
-
-        def track_issue_changed_epic_action(author:, time: Time.zone.now)
-          track_unique_action(ISSUE_CHANGED_EPIC, author, time)
-        end
-
         def track_issue_designs_added_action(author:, time: Time.zone.now)
           track_unique_action(ISSUE_DESIGNS_ADDED, author, time)
         end
diff --git a/spec/lib/gitlab/usage_data_counters/issue_activity_unique_counter_spec.rb b/spec/lib/gitlab/usage_data_counters/issue_activity_unique_counter_spec.rb
index c86b3a01d1e5f0f152fc9628fae3de54de562d28..803eff05efe071ebe3c0ce050d350e4c2aef687f 100644
--- a/spec/lib/gitlab/usage_data_counters/issue_activity_unique_counter_spec.rb
+++ b/spec/lib/gitlab/usage_data_counters/issue_activity_unique_counter_spec.rb
@@ -168,36 +168,6 @@ def track_action(params)
     end
   end
 
-  context 'for Issue added to epic actions' do
-    it_behaves_like 'a tracked issue edit event' do
-      let(:action) { described_class::ISSUE_ADDED_TO_EPIC}
-
-      def track_action(params)
-        described_class.track_issue_added_to_epic_action(**params)
-      end
-    end
-  end
-
-  context 'for Issue removed from epic actions' do
-    it_behaves_like 'a tracked issue edit event' do
-      let(:action) { described_class::ISSUE_REMOVED_FROM_EPIC}
-
-      def track_action(params)
-        described_class.track_issue_removed_from_epic_action(**params)
-      end
-    end
-  end
-
-  context 'for Issue changed epic actions' do
-    it_behaves_like 'a tracked issue edit event' do
-      let(:action) { described_class::ISSUE_CHANGED_EPIC}
-
-      def track_action(params)
-        described_class.track_issue_changed_epic_action(**params)
-      end
-    end
-  end
-
   context 'for Issue designs added actions' do
     it_behaves_like 'a tracked issue edit event' do
       let(:action) { described_class::ISSUE_DESIGNS_ADDED }