Basic vs Advanced Google Consent Mode
Google Consent Mode v2 has two implementation approaches. Consent Pro supports both through the GTM template and Google Consent Mode signals.
Basic mode is the recommended default. Advanced mode is optional and requires a different GA4 tag configuration in GTM.
At a glance
| Basic | Advanced | |
|---|---|---|
| Tag loading | Tags blocked until the user grants consent | Google tags load before consent; behavior adjusts from consent signals |
| Data before consent | No Google data sent | Cookieless pings when storage is denied |
| GA4 trigger | Consent Updated | Consent Initialization |
| GA4 Additional Consent Checks | Require analytics_storage granted | Not set |
| Marketing / third-party tags | Consent Updated + additional consent checks | Same as Basic (still blocked until consent) |
| Best for | Privacy-first setup. No pre-consent Google data | Behavioral / conversion modeling for users who deny analytics |
| Legal review | Standard CMP setup | Recommended before enabling |
For the step-by-step GTM walkthrough, see How to Set Up Google Tag Manager. Steps 5–7 in that guide implement Basic mode for marketing and non-Google tags.
Basic Consent Mode (default)
Tags do not fire until the user grants consent. No data is collected from unconsenting users.
This matches Google's Basic Consent Mode implementation — a privacy-first approach where Google tags remain inactive until consent is given.
How Consent Pro implements Basic mode:
- The Consent Pro Init tag fires on Consent Initialization — All Pages (Step 3 of the GTM setup guide)
- Region defaults set to Denied for opt-in banners (Step 4) — correct for both Basic and Advanced
- Marketing and non-Google tags use the Consent Updated trigger (Steps 5–6)
- Tags require Additional Consent Checks matching their Consent Pro category (Step 7)
- GA4 uses the same pattern: Consent Updated trigger + require
analytics_storagegranted
This is the recommended default for most sites that require strict configuration and compliance.
Advanced Consent Mode (optional)
When analytics_storage is Denied, native Google tags can still send cookieless pings — anonymized requests used for behavioral modeling in GA4. No analytics cookies are set until the user accepts.
Use Advanced mode only if you need conversion or behavior modeling for users who deny analytics consent. Advanced mode sends data from unconsenting users for modeling purposes, consult your DPO or legal counsel before enabling.
Google tags vs marketing tags
| Tag type | Mode | GTM approach |
|---|---|---|
| Native Google tags (GA4, Google Ads, Conversion Linker) | Advanced | Built-in consent checks; tag loads on Consent Initialization |
| Marketing / third-party tags (Facebook Pixel, Hotjar, etc.) | Basic | Consent Updated trigger + Additional Consent Checks |
Steps 5–7 of the GTM setup guide apply to marketing and non-Google tags only. Configure GA4 separately for Advanced mode as described below.
Google Tag / GA4 (Advanced setup)
Use the Google Tag tag type in GTM (or a legacy Google Analytics: GA4 Configuration tag).
- Set the trigger to Consent Initialization — All Pages (not Consent Updated)
- Under Consent Settings, leave Built-in Consent Checks as default (
analytics_storageis built-in for GA4 tags) - Do not add
analytics_storageto Additional Consent Checks — that would block the tag when storage is denied - Keep marketing tags on Consent Updated as described in the GTM setup guide
- Set tag firing priority so Consent Pro Init runs first: Consent Pro Init =
1, Google Tag =2(or leave Google Tag at default). Both tags share the Consent Initialization trigger — Consent Pro must set denied defaults before the Google Tag fires.
GTM Consent Settings reference
| Setting | Basic mode (GA4) | Advanced mode (GA4) |
|---|---|---|
| Trigger | Consent Updated | Consent Initialization |
| Built-in Consent Checks | Default | Default (do not change) |
| Additional Consent Checks | Require analytics_storage granted | Not set |
Verify your setup
Basic mode:
- Before interacting with the banner, no requests to
google-analytics.comorgoogletagmanager.comfrom GA4 tags - After accepting analytics, GA4 requests appear and
_gacookie is set - Use Google Tag Assistant to confirm consent defaults are set before tags fire
Advanced mode:
- Before interacting with the banner, open the browser Network tab and filter for
google-analytics.comorgoogletagmanager.com - You should see requests with
gcs=G100(both ad and analytics storage denied) - No
_gacookie should be set until the user accepts analytics - After accepting analytics, a new request should show
gcs=G111and_ga/_ga_*cookies should appear
Troubleshooting
GA4 is not firing until I accept analytics
This is expected in Basic mode. GA4 is configured to fire only after the user accepts the Analytics category. If you need cookieless pings before consent, switch GA4 to Advanced mode as described above.
GA4 is not sending cookieless pings before consent
Your GA4 tag is likely still on Basic mode setup:
- Trigger is Consent Updated instead of Consent Initialization
- Additional Consent Checks requires
analytics_storagegranted - Tag firing priority — Consent Pro Init must run before the Google Tag on Consent Initialization
Update the GA4 tag per the Advanced setup section.
Marketing tags fire before consent
Marketing and third-party tags should always use Basic mode — Consent Updated trigger with Additional Consent Checks. See Steps 6–7 of the GTM setup guide.
Further reading
- Set up consent mode in Google Tag Manager — Google's official Basic vs Advanced overview
- Consent mode for web (Google Developers)
- How to Set Up Google Tag Manager with Consent Pro — full step-by-step GTM guide