Consent
The sales channel supports Google Consent Mode v2. Your tags only use cookies and identifiers for the purposes the buyer has accepted, either through the Onebox cookie notice or through your own consent management platform (CMP).
Default consent
Before the buyer makes a choice, all four consent signals are denied:
| Signal | Default |
|---|---|
analytics_storage | denied |
ad_storage | denied |
ad_user_data | denied |
ad_personalization | denied |
Google tags (GA4, Google Ads, Floodlight) adapt automatically: while consent is denied, they send cookieless pings instead of setting cookies. For other tags, use the consent settings of each tag in GTM so they fire only when the signal they need is granted.
With the Onebox cookie notice
By default, the channel shows the Onebox cookie notice. The buyer's choice updates the consent signals right away:
| Purpose in the cookie notice | Signals granted |
|---|---|
| Functional | Always active, no signal |
| Analytics | analytics_storage |
| Advertising | ad_storage, ad_user_data, ad_personalization |
The choice is remembered in the buyer's browser for that channel.
With your own consent management platform
If you already use a CMP on your website, you can show it instead of the Onebox cookie notice:
- In the Control Panel, go to Entities › your entity › Operative › Cookies configuration.
- Select Hide Onebox's cookie notice, for all your channels or only for the ones you choose. Entity managers and operator managers can change this setting.
- Load your CMP through your GTM container, and make it update Google's consent signals when the buyer decides, for example with a CMP template from the GTM Community Template Gallery.
With the Onebox cookie notice hidden, nothing updates the consent signals except your CMP. Until it does, they stay denied and your tags behave as for a buyer who has not consented.
CMP templates for GTM do this for you. If you write your own integration, the update must use the standard Consent Mode API on the page's dataLayer:
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('consent', 'update', {
analytics_storage: 'granted',
ad_storage: 'granted',
ad_user_data: 'granted',
ad_personalization: 'granted',
});