diff --git a/app/models/users/callout.rb b/app/models/users/callout.rb
index 0c13e9d8c23be2c7539cd484f33da24283791b0d..290fe3578e34c8d6da37af370d2aecdccf3bbf97 100644
--- a/app/models/users/callout.rb
+++ b/app/models/users/callout.rb
@@ -33,7 +33,7 @@ class Callout < MainClusterwide::ApplicationRecord
       pipeline_needs_hover_tip: 30,
       web_ide_ci_environments_guidance: 31,
       security_configuration_upgrade_banner: 32,
-      cloud_licensing_subscription_activation_banner: 33, # EE-only
+      # 33 removed in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/159243
       trial_status_reminder_d14: 34,             # EE-only
       trial_status_reminder_d3: 35,              # EE-only
       security_configuration_devops_alert: 36,   # EE-only
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index 0aedd952b97323853026113bd332d3f6291321fb..76d59b90e02c23aac48d7c225dadee682e44987e 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -36581,7 +36581,6 @@ Name of the feature that the callout is for.
 | <a id="usercalloutfeaturenameenumbuy_pipeline_minutes_notification_dot"></a>`BUY_PIPELINE_MINUTES_NOTIFICATION_DOT` | Callout feature name for buy_pipeline_minutes_notification_dot. |
 | <a id="usercalloutfeaturenameenumcanary_deployment"></a>`CANARY_DEPLOYMENT` | Callout feature name for canary_deployment. |
 | <a id="usercalloutfeaturenameenumci_deprecation_warning_for_types_keyword"></a>`CI_DEPRECATION_WARNING_FOR_TYPES_KEYWORD` | Callout feature name for ci_deprecation_warning_for_types_keyword. |
-| <a id="usercalloutfeaturenameenumcloud_licensing_subscription_activation_banner"></a>`CLOUD_LICENSING_SUBSCRIPTION_ACTIVATION_BANNER` | Callout feature name for cloud_licensing_subscription_activation_banner. |
 | <a id="usercalloutfeaturenameenumcluster_security_warning"></a>`CLUSTER_SECURITY_WARNING` | Callout feature name for cluster_security_warning. |
 | <a id="usercalloutfeaturenameenumdeployment_approvals_empty_state"></a>`DEPLOYMENT_APPROVALS_EMPTY_STATE` | Callout feature name for deployment_approvals_empty_state. |
 | <a id="usercalloutfeaturenameenumdeployment_details_feedback"></a>`DEPLOYMENT_DETAILS_FEEDBACK` | Callout feature name for deployment_details_feedback. |
diff --git a/ee/app/assets/javascripts/admin/subscriptions/show/components/subscription_activation_banner.vue b/ee/app/assets/javascripts/admin/subscriptions/show/components/subscription_activation_banner.vue
deleted file mode 100644
index 0e53128ba3dd6d2877b8ec3adaf6afbebcf4aafe..0000000000000000000000000000000000000000
--- a/ee/app/assets/javascripts/admin/subscriptions/show/components/subscription_activation_banner.vue
+++ /dev/null
@@ -1,60 +0,0 @@
-<script>
-import { GlBanner, GlLink, GlSprintf } from '@gitlab/ui';
-import {
-  addActivationCode,
-  subscriptionBannerBlogPostUrl,
-  subscriptionBannerText,
-  subscriptionBannerTitle,
-} from '../constants';
-
-export const ACTIVATE_SUBSCRIPTION_EVENT = 'activate-subscription';
-export const CLOSE_ACTIVATE_SUBSCRIPTION_BANNER_EVENT = 'close';
-
-export default {
-  name: 'SubscriptionActivationBanner',
-  subscriptionBannerBlogPostUrl,
-  i18n: {
-    bannerText: subscriptionBannerText,
-    buttonText: addActivationCode,
-    title: subscriptionBannerTitle,
-  },
-  components: {
-    GlBanner,
-    GlLink,
-    GlSprintf,
-  },
-  inject: ['congratulationSvgPath', 'customersPortalUrl'],
-  methods: {
-    handleClose() {
-      this.$emit(CLOSE_ACTIVATE_SUBSCRIPTION_BANNER_EVENT);
-    },
-    handlePrimary() {
-      this.$emit(ACTIVATE_SUBSCRIPTION_EVENT);
-    },
-  },
-};
-</script>
-
-<template>
-  <gl-banner
-    :button-text="$options.i18n.buttonText"
-    :title="$options.i18n.title"
-    variant="promotion"
-    :svg-path="congratulationSvgPath"
-    @close="handleClose"
-    @primary="handlePrimary"
-  >
-    <p>
-      <gl-sprintf :message="$options.i18n.bannerText">
-        <template #blogPostLink="{ content }">
-          <gl-link :href="$options.subscriptionBannerBlogPostUrl" target="_blank">{{
-            content
-          }}</gl-link>
-        </template>
-        <template #portalLink="{ content }">
-          <gl-link :href="customersPortalUrl" target="_blank">{{ content }}</gl-link>
-        </template>
-      </gl-sprintf>
-    </p>
-  </gl-banner>
-</template>
diff --git a/ee/app/assets/javascripts/admin/subscriptions/show/components/subscription_breakdown.vue b/ee/app/assets/javascripts/admin/subscriptions/show/components/subscription_breakdown.vue
index e7148a5bb566fa95281e9442c7ca75d4639c25f1..91bbdf3e4681a0312190a8d53d28a079eadedad8 100644
--- a/ee/app/assets/javascripts/admin/subscriptions/show/components/subscription_breakdown.vue
+++ b/ee/app/assets/javascripts/admin/subscriptions/show/components/subscription_breakdown.vue
@@ -6,7 +6,6 @@ import { uniqueId } from 'lodash';
 import SafeHtml from '~/vue_shared/directives/safe_html';
 import { createAlert } from '~/alert';
 import { __, sprintf } from '~/locale';
-import UserCalloutDismisser from '~/vue_shared/components/user_callout_dismisser.vue';
 import SubscriptionDetailsHistory from 'jh_else_ee/admin/subscriptions/show/components/subscription_details_history.vue';
 import {
   addActivationCode,
@@ -14,7 +13,6 @@ import {
   subscriptionDetailsHeaderText,
   subscriptionTypes,
 } from '../constants';
-import SubscriptionActivationBanner from './subscription_activation_banner.vue';
 import SubscriptionActivationModal from './subscription_activation_modal.vue';
 import SubscriptionDetailsCard from './subscription_details_card.vue';
 import SubscriptionDetailsUserInfo from './subscription_details_user_info.vue';
@@ -48,15 +46,13 @@ export default {
   components: {
     GlButton,
     GlModal,
-    SubscriptionActivationBanner,
     SubscriptionActivationModal,
     SubscriptionDetailsCard,
     SubscriptionDetailsHistory,
     SubscriptionDetailsUserInfo,
     SubscriptionSyncNotifications: () => import('./subscription_sync_notifications.vue'),
-    UserCalloutDismisser,
   },
-  inject: ['licenseRemovePath', 'subscriptionActivationBannerCalloutName'],
+  inject: ['licenseRemovePath'],
   props: {
     subscription: {
       type: Object,
@@ -149,16 +145,6 @@ export default {
       :modal-id="$options.activateSubscriptionModal.id"
       v-on="$listeners"
     />
-    <user-callout-dismisser :feature-name="subscriptionActivationBannerCalloutName">
-      <template #default="{ dismiss, shouldShowCallout }">
-        <subscription-activation-banner
-          v-if="isLegacySubscription && shouldShowCallout"
-          class="mb-4"
-          @activate-subscription="showActivationModal"
-          @close="dismiss"
-        />
-      </template>
-    </user-callout-dismisser>
     <subscription-sync-notifications v-if="shouldShowNotifications" class="gl-mb-4" />
     <div class="gl-grid sm:gl-grid-cols-2 gl-gap-5 gl-mb-5">
       <subscription-details-card
diff --git a/ee/app/assets/javascripts/admin/subscriptions/show/constants.js b/ee/app/assets/javascripts/admin/subscriptions/show/constants.js
index 4b46f7acb743acc59318888ba4e0db13ee26c9ed..3b46a2627a8bcc7d488c6d16e219711c6a9ba296 100644
--- a/ee/app/assets/javascripts/admin/subscriptions/show/constants.js
+++ b/ee/app/assets/javascripts/admin/subscriptions/show/constants.js
@@ -115,11 +115,6 @@ export const CONNECTIVITY_ERROR = 'CONNECTIVITY_ERROR';
 export const INVALID_CODE_ERROR = 'INVALID_CODE_ERROR';
 
 export const supportLink = `${PROMO_URL}/support/#contact-support`;
-export const subscriptionBannerTitle = s__('SuperSonics|Cloud licensing');
-export const subscriptionBannerText = s__(
-  "SuperSonics|Cloud licensing is now available. It's an easier way to activate instances and manage subscriptions. Read more about it in our %{blogPostLinkStart}blog post%{blogPostLinkEnd}. Activation codes are available in the %{portalLinkStart}Customers Portal%{portalLinkEnd}.",
-);
-export const subscriptionBannerBlogPostUrl = `${PROMO_URL}/blog/2021/07/20/improved-billing-and-subscription-management/`;
 export const exportLicenseUsageBtnText = s__('SuperSonics|Export license usage file');
 export const customersPortalBtnText = s__('SuperSonics|Customers Portal');
 
diff --git a/ee/app/assets/javascripts/admin/subscriptions/show/mount_cloud_licenses.js b/ee/app/assets/javascripts/admin/subscriptions/show/mount_cloud_licenses.js
index be29472623f295eca28f32afdae2a63965ffb13b..3bd3780c0931a4911f3d0db648d90b67a24bca7f 100644
--- a/ee/app/assets/javascripts/admin/subscriptions/show/mount_cloud_licenses.js
+++ b/ee/app/assets/javascripts/admin/subscriptions/show/mount_cloud_licenses.js
@@ -26,7 +26,6 @@ export default () => {
     freeTrialPath,
     hasActiveLicense,
     licenseRemovePath,
-    subscriptionActivationBannerCalloutName,
     subscriptionSyncPath,
     licenseUsageFilePath,
   } = el.dataset;
@@ -46,7 +45,6 @@ export default () => {
       customersPortalUrl,
       freeTrialPath,
       licenseRemovePath,
-      subscriptionActivationBannerCalloutName,
       subscriptionSyncPath,
     },
     render: (h) =>
diff --git a/ee/app/helpers/ee/users/callouts_helper.rb b/ee/app/helpers/ee/users/callouts_helper.rb
index 6f463755d85df69cdd1bd8b2d2b025671f0477ef..78f4706daa41f95fc6206b09460d256eab608557 100644
--- a/ee/app/helpers/ee/users/callouts_helper.rb
+++ b/ee/app/helpers/ee/users/callouts_helper.rb
@@ -12,7 +12,6 @@ module CalloutsHelper
       ULTIMATE_TRIAL = 'ultimate_trial'
       NEW_USER_SIGNUPS_CAP_REACHED = 'new_user_signups_cap_reached'
       PERSONAL_ACCESS_TOKEN_EXPIRY = 'personal_access_token_expiry'
-      CL_SUBSCRIPTION_ACTIVATION = 'cloud_licensing_subscription_activation_banner'
       PROFILE_PERSONAL_ACCESS_TOKEN_EXPIRY = 'profile_personal_access_token_expiry'
       JOINING_A_PROJECT_ALERT = 'joining_a_project_alert'
 
diff --git a/ee/app/helpers/license_helper.rb b/ee/app/helpers/license_helper.rb
index 8be728281bc66d7440912f367dbca42b268367ac..4c3e451f30284382397615d67b9ddbd71b7be90d 100644
--- a/ee/app/helpers/license_helper.rb
+++ b/ee/app/helpers/license_helper.rb
@@ -64,7 +64,6 @@ def cloud_license_view_data
       license_remove_path: admin_license_path,
       subscription_sync_path: sync_seat_link_admin_license_path,
       congratulation_svg_path: image_path('illustrations/cloud-check-sm.svg'),
-      subscription_activation_banner_callout_name: ::EE::Users::CalloutsHelper::CL_SUBSCRIPTION_ACTIVATION,
       license_usage_file_path: admin_license_usage_export_path(format: :csv)
     }
   end
diff --git a/ee/spec/frontend/admin/subscriptions/show/components/subscription_activation_banner_spec.js b/ee/spec/frontend/admin/subscriptions/show/components/subscription_activation_banner_spec.js
deleted file mode 100644
index f2496e97fac73b471dd57af1e53a908de77218d4..0000000000000000000000000000000000000000
--- a/ee/spec/frontend/admin/subscriptions/show/components/subscription_activation_banner_spec.js
+++ /dev/null
@@ -1,73 +0,0 @@
-import { GlBanner, GlLink, GlSprintf } from '@gitlab/ui';
-import { shallowMount } from '@vue/test-utils';
-import SubscriptionActivationBanner, {
-  ACTIVATE_SUBSCRIPTION_EVENT,
-  CLOSE_ACTIVATE_SUBSCRIPTION_BANNER_EVENT,
-} from 'ee/admin/subscriptions/show/components/subscription_activation_banner.vue';
-import {
-  addActivationCode,
-  subscriptionBannerBlogPostUrl,
-  subscriptionBannerText,
-  subscriptionBannerTitle,
-} from 'ee/admin/subscriptions/show/constants';
-
-describe('SubscriptionActivationBanner', () => {
-  let wrapper;
-
-  const findBanner = () => wrapper.findComponent(GlBanner);
-  const findLink = (at) => wrapper.findAllComponents(GlLink).at(at);
-
-  const customersPortalUrl = 'customers.dot';
-  const congratulationSvgPath = '/path/to/svg';
-  const createComponent = () => {
-    wrapper = shallowMount(SubscriptionActivationBanner, {
-      provide: {
-        congratulationSvgPath,
-        customersPortalUrl,
-      },
-      stubs: {
-        GlSprintf,
-      },
-    });
-  };
-
-  beforeEach(() => {
-    createComponent();
-  });
-
-  it('provides the correct props to the banner', () => {
-    expect(findBanner().props()).toMatchObject({
-      buttonText: addActivationCode,
-      title: subscriptionBannerTitle,
-      svgPath: congratulationSvgPath,
-    });
-  });
-
-  it('contains help text', () => {
-    expect(findBanner().text()).toMatchInterpolatedText(subscriptionBannerText);
-  });
-
-  it('contains a link to the blog post', () => {
-    expect(findLink(0).attributes('href')).toBe(subscriptionBannerBlogPostUrl);
-  });
-
-  it('contains a link to the customers portal', () => {
-    expect(findLink(1).attributes('href')).toBe(customersPortalUrl);
-  });
-
-  it('emits an event when the primary button is clicked', () => {
-    expect(wrapper.emitted(ACTIVATE_SUBSCRIPTION_EVENT)).toBeUndefined();
-
-    findBanner().vm.$emit('primary');
-
-    expect(wrapper.emitted(ACTIVATE_SUBSCRIPTION_EVENT)).toHaveLength(1);
-  });
-
-  it('emits an event when the close button is clicked', () => {
-    expect(wrapper.emitted(CLOSE_ACTIVATE_SUBSCRIPTION_BANNER_EVENT)).toBeUndefined();
-
-    findBanner().vm.$emit('close');
-
-    expect(wrapper.emitted(CLOSE_ACTIVATE_SUBSCRIPTION_BANNER_EVENT)).toHaveLength(1);
-  });
-});
diff --git a/ee/spec/frontend/admin/subscriptions/show/components/subscription_breakdown_spec.js b/ee/spec/frontend/admin/subscriptions/show/components/subscription_breakdown_spec.js
index 0ccb98ed45092f5d7fa1723be978dc719a368fa1..d1074fc798b2a409b3ba0e0f6f70de5eae246006 100644
--- a/ee/spec/frontend/admin/subscriptions/show/components/subscription_breakdown_spec.js
+++ b/ee/spec/frontend/admin/subscriptions/show/components/subscription_breakdown_spec.js
@@ -1,16 +1,13 @@
 // eslint-disable-next-line no-restricted-imports
 import Vuex from 'vuex';
 import { GlCard } from '@gitlab/ui';
-import { mount, shallowMount } from '@vue/test-utils';
+import { shallowMount } from '@vue/test-utils';
 import AxiosMockAdapter from 'axios-mock-adapter';
 import { nextTick } from 'vue';
 import { createAlert } from '~/alert';
 import mutations from 'ee/admin/subscriptions/show/store/mutations';
 import * as types from 'ee/admin/subscriptions/show/store/mutation_types';
 import createState from 'ee/admin/subscriptions/show/store/state';
-import SubscriptionActivationBanner, {
-  ACTIVATE_SUBSCRIPTION_EVENT,
-} from 'ee/admin/subscriptions/show/components/subscription_activation_banner.vue';
 import SubscriptionActivationModal from 'ee/admin/subscriptions/show/components/subscription_activation_modal.vue';
 import SubscriptionBreakdown, {
   licensedToFields,
@@ -43,7 +40,6 @@ describe('Subscription Breakdown', () => {
   const congratulationSvgPath = '/path/to/svg';
   const connectivityHelpURL = 'connectivity/help/url';
   const licenseRemovePath = '/license/remove/';
-  const subscriptionActivationBannerCalloutName = 'banner_callout_name';
   const subscriptionSyncPath = '/sync/path/';
 
   const findDetailsCards = () => wrapper.findAllComponents(SubscriptionDetailsCard);
@@ -53,8 +49,6 @@ describe('Subscription Breakdown', () => {
   const findRemoveLicenseButton = () => wrapper.findByTestId('remove-license-button');
   const findActivateSubscriptionAction = () =>
     wrapper.findByTestId('subscription-activate-subscription-action');
-  const findSubscriptionActivationBanner = () =>
-    wrapper.findComponent(SubscriptionActivationBanner);
   const findSubscriptionActivationModal = () => wrapper.findComponent(SubscriptionActivationModal);
   const findSubscriptionSyncNotifications = () =>
     wrapper.findComponent(SubscriptionSyncNotifications);
@@ -104,7 +98,6 @@ describe('Subscription Breakdown', () => {
           congratulationSvgPath,
           connectivityHelpURL,
           licenseRemovePath,
-          subscriptionActivationBannerCalloutName,
           subscriptionSyncPath,
           ...provide,
         },
@@ -186,10 +179,6 @@ describe('Subscription Breakdown', () => {
       expect(findSubscriptionActivationModal().props('visible')).toBe(true);
     });
 
-    it('does not present a subscription activation banner', () => {
-      expect(findSubscriptionActivationBanner().exists()).toBe(false);
-    });
-
     describe('footer buttons', () => {
       it.each`
         url                  | type                                | shouldShow
@@ -252,42 +241,6 @@ describe('Subscription Breakdown', () => {
       });
     });
 
-    describe('subscription activation banner', () => {
-      beforeEach(() => {
-        createComponent({
-          props: { subscription: licenseFile },
-        });
-      });
-
-      it('presents a subscription activation banner', () => {
-        expect(findSubscriptionActivationBanner().exists()).toBe(true);
-      });
-
-      it('calls the dismiss callback when closing the banner', () => {
-        findSubscriptionActivationBanner().vm.$emit('close');
-
-        expect(userCalloutDismissSpy).toHaveBeenCalledTimes(1);
-      });
-
-      it('shows a modal', async () => {
-        expect(findSubscriptionActivationModal().props('visible')).toBe(false);
-
-        await findSubscriptionActivationBanner().vm.$emit(ACTIVATE_SUBSCRIPTION_EVENT);
-
-        expect(findSubscriptionActivationModal().props('visible')).toBe(true);
-      });
-
-      it('hides the banner when the proper condition applies', () => {
-        createComponent({
-          mountMethod: mount,
-          props: { subscription: licenseFile },
-          shouldShowCallout: false,
-        });
-
-        expect(findSubscriptionActivationBanner().exists()).toBe(false);
-      });
-    });
-
     describe('showAlert', () => {
       let state;
 
diff --git a/ee/spec/helpers/license_helper_spec.rb b/ee/spec/helpers/license_helper_spec.rb
index c0f79b8a9ae18bab415d034ca323557ec560ad97..bb9d74cb42ac7453de33bcb6490a476434f2d3e6 100644
--- a/ee/spec/helpers/license_helper_spec.rb
+++ b/ee/spec/helpers/license_helper_spec.rb
@@ -98,7 +98,6 @@ def stub_default_url_options(host: "localhost", protocol: "http", port: nil, scr
                                                        subscription_sync_path: sync_seat_link_admin_license_path,
                                                        license_remove_path: admin_license_path,
                                                        congratulation_svg_path: helper.image_path('illustrations/cloud-check-sm.svg'),
-                                                       subscription_activation_banner_callout_name: ::EE::Users::CalloutsHelper::CL_SUBSCRIPTION_ACTIVATION,
                                                        license_usage_file_path: admin_license_usage_export_path(format: :csv) })
       end
     end
@@ -114,7 +113,6 @@ def stub_default_url_options(host: "localhost", protocol: "http", port: nil, scr
                                                        subscription_sync_path: sync_seat_link_admin_license_path,
                                                        license_remove_path: admin_license_path,
                                                        congratulation_svg_path: helper.image_path('illustrations/cloud-check-sm.svg'),
-                                                       subscription_activation_banner_callout_name: ::EE::Users::CalloutsHelper::CL_SUBSCRIPTION_ACTIVATION,
                                                        license_usage_file_path: admin_license_usage_export_path(format: :csv) })
       end
     end
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index f092dfbe4b08bd96d5d33b344b6d9db354eadd20..a076e6d8a71229643223e0fbc731e836d6ac4a1c 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -52205,12 +52205,6 @@ msgstr ""
 msgid "SuperSonics|Cannot activate instance due to a connectivity issue"
 msgstr ""
 
-msgid "SuperSonics|Cloud licensing"
-msgstr ""
-
-msgid "SuperSonics|Cloud licensing is now available. It's an easier way to activate instances and manage subscriptions. Read more about it in our %{blogPostLinkStart}blog post%{blogPostLinkEnd}. Activation codes are available in the %{portalLinkStart}Customers Portal%{portalLinkEnd}."
-msgstr ""
-
 msgid "SuperSonics|Customers Portal"
 msgstr ""