Before you install
Every route ends with the same two things on your page, in the same order. Pick the route for your platform below; this page is what they have in common.
Two blocks, in this order
The first block sets Google Consent Mode to denied before anything loads — so if our tag ever cannot be fetched, your Google tags stay off rather than firing as if no banner existed.
It protects Google tags only. Meta, TikTok and other tags read no Consent Mode signal; our tag blocks those itself.
<script>
window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}
gtag('consent','default',{ad_storage:'denied',ad_user_data:'denied',ad_personalization:'denied',analytics_storage:'denied',wait_for_update:500});
</script>
<script async src="https://cdn.cmpstack.io/cmpstack.js" data-site="YOUR-SITE-ID" data-api="https://api.cmpstack.io"></script>YOUR-SITE-IDstands for your domain’s Site ID. The panel shows this same snippet with the ID already filled in, under Domains → Install tag, so copy it from there rather than from here. The Site ID identifies the domain; it does not authenticate anything and is safe to publish.
The tag is the loader: 4,089 bytes gzipped, on every page view. The banner itself is fetched only when there is a question to ask.
Then verify and publish
A tag on a page is not a banner yet. Nothing is shown until a banner has been published for the domain, and the tag shows nothing rather than a default banner in the meantime. Verifying the domain proves it is yours and is what lets us scan it. The last step of every route below is those two things.
Choose your route
- Paste the snippetPaste this into the <head> of every page you want the banner on.
- WordPressUpload the plugin, then paste the Site ID into its settings. No code.
- Google Tag ManagerA Custom HTML tag with the snippet, fired on Consent Initialization.
- ShopifyPaste this into theme.liquid, inside <head>, as high as you can.
- WixPaste this under Settings → Custom Code, in the head, on all pages.