Consent & Compliance
How to validate your CMP integration
Having a CMP installed isn't enough — the consent signals must reach GA4 in the right order and with the right values. This article explains what GA4 Audits checks and how to fix the most common CMP integration issues.
What the audit checks for CMP signals
The Tag & Consent module verifies five key things about your CMP integration:
- A CMP banner or consent UI is detected on page load.
- A
gtag('consent', 'default', ...)call fires before the GA4 measurement tag. - All four Consent Mode v2 parameters are set in the default call.
- A
gtag('consent', 'update', ...)call fires after the user interacts with the consent banner. - The consent update correctly reflects the user's choice (granted or denied per parameter).
What "consent fires after GA4 tag" means
This is one of the most common critical findings. It means that on page load, the GA4 measurement tag (the snippet that sends data to your property) fires before the consent default call has executed. As a result, GA4 receives the first hit without any consent context — it defaults to a "granted" state for that hit, which is both legally incorrect for EU users and technically incorrect for your Consent Mode setup.
Fixing timing issues in GTM
The root cause is usually tag firing order in Google Tag Manager. The consent default must be set before GTM even initialises the GA4 configuration tag. The correct approach is:
- Add the consent default code directly in the GTM snippet, using the
dataLayer.pushpattern before GTM loads. - Alternatively, use your CMP vendor's official GTM tag template, which handles the ordering automatically.
- Set the GA4 Configuration tag to fire on a custom trigger that waits for the CMP's "consent ready" event, rather than firing on All Pages.
After making changes, re-run the GA4 Audits crawler to confirm the ordering is now correct. The finding should move from "Failed" to "Passed."
Testing with the browser's Network tab
As a manual verification step, open Chrome DevTools > Network, filter for "collect" or "gtag/js", and reload your page without interacting with the consent banner. If you see a GA4 hit in the network requests before the banner has appeared and before you've clicked Accept, consent mode is not blocking as intended.
Still need help?
Contact our support team — we typically respond within 1 business day.
Contact Support