How to Check Google Consent Mode v2 (Step-by-Step Guide)
You've installed Google Tag Manager, added a consent banner, and maybe even configured Consent Mode v2 - but is it actually working? Many sites think they have Consent Mode v2 set up correctly, but when you dig into the browser, you find it's missing, misconfigured, or not updating when users accept consent.
This step-by-step guide shows you exactly how to check if Consent Mode v2 is working on your site using browser DevTools. You'll learn what to look for, common false positives, and how to verify that consent updates are actually firing. If you want to understand why Consent Mode v2 matters for Google Ads conversion tracking, see why Google Ads conversions break.
Manual checks are useful, but they only show you a snapshot. For an automated check Consent Mode v2 that verifies configuration in seconds, run our free scan.
Check Consent Mode v2 Automatically
Run a free diagnostic scan to verify Consent Mode v2 configuration, check if consent updates fire correctly, and identify any tracking issues.
Run Free Scan →The scan checks Consent Mode v2, consent updates, tracking behavior, and conversion signals automatically.
What You're Checking For
Consent Mode v2 has three critical components that must all be present for it to work:
- Consent Mode is initialized - The
gtag('consent', 'default', ...)call exists and sets default states to 'denied' - Default state is 'denied' - Both
ad_storageandanalytics_storagestart as 'denied'. See our guide on gtag consent default denied for implementation details. - Consent updates fire - When users accept,
gtag('consent', 'update', ...)is called to change states to 'granted'
If any of these three are missing, Consent Mode v2 isn't working properly, and Google can't model conversions for users who reject cookies. This is one of the most common reasons Google Ads shows 0 conversions but GA4 shows events.
Method 1: Check in Browser DevTools (Console)
The fastest way to check if Consent Mode v2 is initialized is to look at the browser console and check the dataLayer.
Step 1: Open DevTools
Open your website in a new incognito/private window (important - this simulates a new user). Press F12 (Windows/Linux) or Cmd+Option+I (Mac) to open DevTools.
Step 2: Check the Console Tab
Go to the Console tab. Look for any errors related to consent or gtag. You should see Consent Mode initialization messages if it's working. However, many sites don't log anything, so this alone isn't definitive.
Step 3: Check the dataLayer
In the Console, type dataLayer and press Enter. You should see an array. Look for objects that contain event: 'gtm.init' or consent-related data.
What to look for:
- An object with
gtagConsentorgtm.consentMode - Default states showing
ad_storage: 'denied'andanalytics_storage: 'denied'
If you don't see consent data in the dataLayer, Consent Mode v2 likely isn't initialized.
Method 2: Check Page Source for gtag Consent Calls
Consent Mode v2 is initialized via JavaScript, so you can check the page source or network requests to see if the initialization code exists.
Step 1: View Page Source
Right-click on your page and select "View Page Source" (or press Ctrl+U / Cmd+U).
Step 2: Search for Consent Mode Code
Press Ctrl+F (or Cmd+F) and search for:
gtag('consent', 'default'ad_storage: 'denied'analytics_storage: 'denied'
What you should see:
gtag('consent', 'default', {
'ad_storage': 'denied',
'analytics_storage': 'denied',
'wait_for_update': 500
});If this code exists in your page source, Consent Mode v2 is at least initialized. However, this doesn't tell you if it's firing at the right time or if consent updates are working.
Method 3: Check Network Requests (Most Reliable)
The most reliable way to check if Consent Mode v2 is working is to monitor network requests and see what consent signals are actually being sent to Google.
Step 1: Open Network Tab
In DevTools, go to the Network tab. Make sure "Preserve log" is checked (so requests don't disappear when the page loads).
Step 2: Filter for Google Requests
In the filter box, type google to see only Google-related requests. Look for requests to:
google-analytics.comgoogletagmanager.comgoogle.com/pagead
Step 3: Check Request Parameters
Click on a Google Analytics or Google Ads request. Go to the "Payload" or "Query String Parameters" tab. Look for parameters like:
gcs(Google Consent State) - should show consent signalsgcd(Google Consent Default) - should show default denied states
If you see these parameters with 'denied' values initially, and they change to 'granted' after accepting consent, Consent Mode v2 is working. If you don't see these parameters at all, Consent Mode v2 isn't active.
Method 4: Test Consent Updates (Critical Check)
Even if Consent Mode v2 is initialized, it's useless if consent updates don't fire when users accept. This is the most common failure point.
Step 1: Monitor dataLayer Before Accepting
Before clicking "Accept" on the consent banner, open the Console and type:
window.__consentUpdates = [];
window.dataLayer = window.dataLayer || [];
const originalPush = window.dataLayer.push;
window.dataLayer.push = function(...args) {
const item = args[0];
if (item && item.gtagConsent) {
window.__consentUpdates.push(item.gtagConsent);
}
return originalPush.apply(this, args);
};This intercepts consent updates so you can see them.
Step 2: Accept Consent
Click "Accept" or "Allow" on your consent banner.
Step 3: Check for Updates
In the Console, type window.__consentUpdates and press Enter.
You should see an array with at least one object containing:
{
ad_storage: 'granted',
analytics_storage: 'granted'
}If the array is empty, consent updates aren't firing. This means Consent Mode v2 is initialized but not updating - which breaks conversion modeling. This is exactly what our diagnostic scan detects automatically.
Common False Positives (What Looks Right But Isn't)
Many sites think they have Consent Mode v2 working, but they're actually seeing false positives. Here's what to watch out for:
False Positive 1: GTM Container Loads
Just because Google Tag Manager loads doesn't mean Consent Mode v2 is active. GTM is just a container - Consent Mode v2 must be explicitly configured.
False Positive 2: Cookie Banner Exists
Having a cookie banner doesn't mean Consent Mode v2 is working. The banner and Consent Mode are separate systems. The banner collects consent; Consent Mode communicates it to Google.
False Positive 3: Default Denied Exists But No Updates
You might see gtag('consent', 'default', denied) in your code, but if consent updates never fire when users accept, Consent Mode v2 isn't working. Google needs both the default state AND the update calls.
False Positive 4: Only One Storage Type Granted
Some sites grant analytics_storage but not ad_storage. This is valid for analytics-only setups, but if you run Google Ads, you need both granted for proper conversion tracking.
What Breaks If Consent Mode v2 Isn't Working
If Consent Mode v2 is missing or misconfigured, several critical things break:
1. Conversion Modeling Fails
Google can't model conversions for users who reject cookies. If 30% of users reject cookies, you lose 30% of conversion data - and Google Ads optimizes on incomplete information.
2. Conversion Attribution Breaks
Without Consent Mode v2, conversions that fire before consent or without proper consent signals may not be attributed to your campaigns. This is why Google Ads shows 0 conversions but GA4 shows events.
3. Retargeting Audiences Don't Build
Google Ads remarketing lists require consent signals. Without Consent Mode v2, audiences stay empty or incomplete, breaking remarketing campaigns.
4. Campaign Optimization Degrades
Google's machine learning algorithms need conversion data to optimize bids and targeting. Without Consent Mode v2, you're feeding incomplete data, which reduces campaign performance over time.
Why Manual Checks Aren't Enough
Manual checks are useful for understanding how Consent Mode v2 works, but they have limitations:
- They only show a snapshot - You're checking one moment in time, not the full user journey
- They miss timing issues - Consent Mode might initialize too late, after tracking scripts already fired
- They don't check behavior consistency - You can't easily verify if tracking is actually blocked before consent
- They're time-consuming - Checking multiple pages, different consent states, and network requests takes significant time
- They miss edge cases - Manual checks might miss SPA navigation issues, delayed consent updates, or server-side tracking problems
A comprehensive diagnostic scan checks all of these automatically, across the entire user journey, and gives you a complete picture of what's working and what's broken. For a full breakdown of all the ways consent and tracking can break, see why Google Ads conversions break.
Next Steps: Get a Complete Diagnostic
Manual checks are educational, but for a complete picture of your consent and tracking setup, run an automated diagnostic scan. The scan checks:
- Consent Mode v2 initialization and configuration
- Whether consent updates fire correctly
- If tracking scripts fire before consent (violation)
- If cookies are set before consent (violation)
- Conversion tracking detection and behavior
- Behavior consistency (reject blocks, accept allows)
Run a Complete Consent Mode v2 Diagnostic
Get an automated report that checks all Consent Mode v2 configuration points, consent update behavior, and identifies any tracking issues. No manual DevTools work required.
Run Free Scan →See a sample report to understand what you'll get: View sample report →
Related guides:
Part of the Google Ads conversion tracking series:
← Back to: Why Google Ads Conversions Break