Google Consent Mode v2 · cerez.io
Consent Mode v2 signals, correct .
The cerez.io loader writes the Consent Mode v2 default as the first dataLayer entry on your page. It sends an update when the visitor decides; for a visitor with a stored decision, the update goes out right away.
Every plan, including Free
Single-line installation
Verify with ?cerez_debug=1
// loader.js, first entry in the dataLayer gtag('consent', 'default', { ad_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied', analytics_storage: 'denied', functionality_storage: 'denied', personalization_storage: 'denied', security_storage: 'granted', wait_for_update: 500 }); gtag('set', 'url_passthrough', true); gtag('set', 'ads_data_redaction', true);
How it works
Three steps, one tag.
You do not write separate code for Consent Mode v2; the signals come from the same tag as the banner.
1 · Defaultpage load
DEFAULTThe default is written firstThe loader runs before your GTM and gtag code: six signals denied, security_storage granted, wait_for_update 500 ms. url_passthrough and ads_data_redaction are turned on.
2 · Updatevisitor decision
UPDATEUpdated at the moment of decisionWhen the visitor decides in the banner, an update is sent. Signals of a category that is not accepted stay denied.
3 · Returning visitorstored consent
RETURNThe stored decision applies right awayIf a consent cookie exists, the loader sends the update right after the default; there is no waiting for the banner.
Signals
Which category turns on which signal?
Banner categories map to Consent Mode v2 signals as follows.
| Signal | Default | Category that turns it on |
|---|---|---|
ad_storage | denied | Marketing |
ad_user_data | denied | Marketing |
ad_personalization | denied | Marketing |
analytics_storage | denied | Analytics |
functionality_storage | denied | Functional |
personalization_storage | denied | Functional |
security_storage | granted | Necessary (always on) |
Installation
The loader comes first in the <head>.
Add the tag at the very top of the <head> section, without async or defer. If the loader runs after your GTM and gtag code, the default is not the first entry in the dataLayer.
<head> <!-- first element: the cerez.io loader --> <script src="https://cerez.io/sdk/loader.js" data-cerez-key="YOUR_API_KEY"></script> <!-- then your GTM / gtag code -->
Verification
See the signals for yourself.
?cerez_debug=1on the site
Debug panelAdd ?cerez_debug=1 to your site's address: the panel shows the Consent Mode entries in the dataLayer, the consent cookie and blocking events. The panel opens only for you and is never shown to visitors.
Installation Doctorin the dashboard
The loader's position is checkedThe Installation Doctor on the dashboard's Installation page checks whether the loader is the first script running in the <head>, and checks the embed code.
Optional US Privacy (__uspapi) and GPC signal for the US
When turned on in the site settings, the __uspapi interface and a "Do Not Sell or Share My Personal Information" link are added to the page. If the browser sends a GPC signal, an opt-out of sale and sharing is applied.
IAB TCF
About IAB TCF
Google Consent Mode v2 is supported.
The IAB TCF framework is in development (alpha): cerez.io is not a registered or certified IAB Europe CMP and is not yet suitable for ad networks that require TCF.
No timeline has been set for IAB registration.
FAQ
The questions on your mind
Which plans include Consent Mode v2?
Every plan, including Free. The loader writes the default signals on every site and updates them with the visitor's decision; no extra fee or separate setting is needed.
Do I need to change my GTM or gtag code?
No. Add the loader at the very top of the <head> section, before your GTM and gtag code; that way the default becomes the first entry in the dataLayer. Google tags (GA4, Google Ads) read the Consent Mode signals themselves.
How can I see that the signals are sent correctly?
Add ?cerez_debug=1 to your site's address: the debug panel shows the Consent Mode entries in the dataLayer and opens only for you. In the dashboard, the Installation Doctor checks the loader's position in the <head>. You can also check with Google Tag Assistant.
Is IAB TCF supported?
No. Google Consent Mode v2 is supported. The IAB TCF framework is in development (alpha): cerez.io is not a registered or certified IAB Europe CMP and is not yet suitable for ad networks that require TCF. No timeline has been set for IAB registration.
Start with Consent Mode v2 today.
One line of code: default denied signals, an update when the visitor decides and a timestamped record. Start free, no credit card required.