# Migrate from Axeptio to OptinStack

> Move an Axeptio GTM setup to OptinStack by replacing vendor-based triggers with OptinStack category events and consent checks.

Author: OptinStack Team  
Published: 2026-07-01  
Page: https://community.optinstack.com/articles/migrate-from-axeptio-to-optinstack  
Markdown: https://community.optinstack.com/llms.md/articles/migrate-from-axeptio-to-optinstack

Use this guide if your GTM container currently depends on Axeptio consent events, Axeptio variables, or per\-vendor triggers to decide when tags can fire\.

> **Warning:** Axeptio setups often gate tags by vendor or service name. During migration, decide which OptinStack category each tag belongs to before replacing those vendor-specific triggers.

*Axeptio to OptinStack mapping*

| Axeptio setup | OptinStack setup |
| --- | --- |
| Axeptio widget or GTM setup | OptinStack runtime plus OptinStack GTM template |
| axeptio_update event | optinstack_consent_updated |
| axeptio_activate_SERVICE_NAME or axeptio_enable_SERVICE_NAME | optinstack_necessary_accepted, optinstack_analytics_accepted, optinstack_marketing_accepted, or optinstack_preferences_accepted |
| axeptio_disable_SERVICE_NAME | Use optinstack_consent_updated and consent checks to respond to withdrawal |
| axeptio_authorized_vendors variable | OptinStack category events and GTM Additional Consent Checks |

## Before you start

- Export your GTM container or take screenshots of the current CMP tag, consent triggers, and affected tags\.
- List every GTM tag that sets analytics, marketing, or preferences trackers\. Do not rely on the old CMP category names alone\.
- Decide whether your Google tags should use Basic or Advanced Consent Mode before changing triggers\.
- Keep one CMP active at a time\. Running the old CMP and OptinStack together can create conflicting consent defaults and updates\.

## Replace the CMP setup

- Remove the Axeptio GTM template, CMP script tag, or Custom HTML tag from the live container after you are ready to test OptinStack\.
- Import the official downloadable OptinStack template under Templates \> Tag Templates \> New \> Import\. It is not currently published in the Community Template Gallery\. Fire the OptinStack tag on Consent Initialization – All Pages\.
- Install the OptinStack runtime as early as possible in the page head so direct scripts and iframes can be blocked before they run\.
- Add the OptinStack GTM template and fire it on Consent Initialization \- All Pages\.
- Replace old CMP custom event triggers with OptinStack category events and GTM Additional Consent Checks\.

## Update tag consent settings

*OptinStack trigger and consent settings*

| Tag type | Trigger | Additional consent checks |
| --- | --- | --- |
| Non-Google analytics tag | Custom Event: optinstack_analytics_accepted | analytics_storage |
| Marketing pixel or ad tag | Custom Event: optinstack_marketing_accepted, or your conversion trigger plus consent checks | ad_storage, ad_user_data, ad_personalization |
| Preferences, personalization, or A/B testing tag | Custom Event: optinstack_preferences_accepted | functionality_storage and/or personalization_storage |
| Tag that must respond to every consent edit | Custom Event: optinstack_consent_updated | The consent types required by that tag |
| Strictly necessary tag | Custom Event: optinstack_necessary_accepted, or normal page triggers when no consent gate is needed | security_storage |

> **Tip:** A tag with only an All Pages trigger may miss its chance to fire on the first page after consent. Pair consent-gated tags with the relevant OptinStack custom event trigger. The necessary event exists too, but necessary is always granted and is usually not used to gate optional trackers.

## Test before publishing

- Use GTM Preview and confirm the OptinStack consent tag fires on Consent Initialization before other tags\.
- Reject all optional categories and confirm analytics, marketing, and preferences tags stay blocked\.
- Accept one category at a time and confirm only the matching tags fire\.
- Use Tag Assistant to confirm Google Consent Mode defaults and updates\.
- Use DevTools Network and Cookies to confirm trackers are not sending requests or writing storage before consent\.
- Run an OptinStack scan after publishing to catch hard\-coded trackers that GTM cannot control\.

### Do I remove the old CMP before OptinStack is live?

Install and verify OptinStack first, migrate GTM consent checks, test in a preview workspace, then remove the old CMP template and triggers to avoid double banners.

### What replaces vendor-specific GTM events?

Use OptinStack dataLayer events (for example optinstack_consent_updated and category accepted events) and Consent Mode signals driven by the runtime.

### Where is the full GTM guide?

See Integrate OptinStack with Google Tag Manager for template fields, Consent Overview, and testing steps.
