Install

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.

The default, then the tag
<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