To set up Google Consent Mode v2 in Google Tag Manager, add your consent banner’s template tag on the Consent Initialization – All Pages trigger, set defaults for ad_storage, analytics_storage, ad_user_data and ad_personalization, and let the banner update them when a visitor chooses. Since June 15, 2026, Google uses Consent Mode as the single control for the Google Ads cookies and IDs collected by your Google Analytics tag, so a broken setup now flows straight into your Ads data.

Starting June 15, 2026, Google Analytics uses Consent Mode (within Google Ads) as the single control for collecting Google Ads cookies and IDs through the Analytics tag. Before that date, two things controlled it: the Google Signals setting in Analytics and your Consent Mode signals.

Google’s Analytics Help page on data control updates says the Google Signals setting now only controls whether Analytics data is linked to signed-in user information for behavioral reporting inside Analytics. Ads data from a linked property follows your Consent Mode signals. Google also describes a second change planned for later in 2026: the ad_personalization signal will become the only control over whether linked Analytics data is used for ad personalization in Google Ads. As of October 2026, Google says it will share the exact date later.

In plain terms: if your banner sends the wrong defaults, or sends nothing at all, there’s no longer a switch in Analytics quietly covering for it. Whatever your Consent Mode setup says is what Google acts on.

Does every US business need this? Not always. It depends on where your visitors are and which privacy rules apply to you. A local business serving only US customers may not show a banner at all, while a store shipping to the EU or UK usually needs one for those visitors. We cover the legal side in our guide on whether US websites need a cookie banner and the owner-level view in Consent Mode v2 explained for business owners. This guide is the hands-on GTM setup. It’s general information, not legal advice.

Consent Mode v2 works with four main consent types. Google added ad_user_data and ad_personalization in November 2023, on top of the original ad_storage and analytics_storage.

ParameterWhat it controls
ad_storageAdvertising cookies and identifiers. Since June 2026, the control for Ads cookies and IDs from your GA4 tag.
analytics_storageAnalytics cookies, such as those used for visit duration.
ad_user_dataSending user data to Google for advertising. Needed for enhanced conversions.
ad_personalizationPersonalized ads, including remarketing.

Google’s consent mode overview explains what “denied” means for each one. With ad_user_data denied, hashed first-party data for enhanced conversions and user_id aren’t used for advertising. With ad_personalization denied, remarketing lists don’t receive the data. Some banners also send functionality_storage, personalization_storage and security_storage, but the four above are the ones Google Ads and GA4 check.

Basic mode blocks Google tags until the visitor makes a choice. Advanced mode loads them right away with consent denied and sends cookieless pings until the visitor accepts.

QuestionBasicAdvanced
Do Google tags load before a choice?NoYes, with consent denied
What is sent after Reject all?Nothing, not even the consent stateConsent state and cookieless pings
Conversion modelingGeneral modelAdvertiser-specific model

That’s why people see “pings” in advanced mode after a visitor rejects. Google describes them as measurements without cookies, carrying things like a timestamp, user agent, referrer, whether an ad click ID was in the URL, and the consent state. No cookies are read or written. Choosing a mode is a policy decision for your business and its advisers:

  • Choose basic if your policy says nothing goes to Google before consent.
  • Choose advanced if your policy allows cookieless pings and you want stronger conversion modeling.
  • Either way, scope your denied defaults to the regions where you show a banner, so visitors elsewhere aren’t treated as “denied” by mistake.

FREE TRACKING AUDIT

Find Out Which Conversions You Are Missing

JuvioX reviews your GA4, Tag Manager and ad platform tracking, then sends a prioritized list of what to fix first. Free, with no obligation.

What Do You Need Before You Start?

You need container access, a consent banner that supports Google Consent Mode, and a clear list of your tags.

  • Publish access to the Google Tag Manager container.
  • A consent banner: a consent management platform (CMP) with a GTM template, such as Cookiebot, CookieYes, OneTrust, Usercentrics or Complianz, or your own banner built on a consent mode template.
  • A list of every tag in the container, Google and non-Google (Meta, TikTok, LinkedIn, heatmap tools).
  • Your decision on basic vs advanced mode and on which regions get “denied” defaults.
  • Google Tag Assistant in Chrome, ideally with the Tag Assistant Companion extension.
  • Hard-coded tracking removed from the theme or plugins if GTM now handles it, so nothing fires outside your consent rules.

If GTM itself isn’t installed yet, start with our Google Tag Manager setup guide and come back here.

Turn on Consent Overview, add your banner’s template tag on the Consent Initialization trigger, set defaults for all four parameters, add consent checks to non-Google tags, then preview, test and publish.

In Tag Manager, go to Admin > Container Settings and, under Additional Settings, select Enable consent overview. A Consent Overview icon then appears on the Tags screen. It sorts your tags into “Consent Not Configured” and “Consent Configured”, which makes the rest of this job much faster.

Go to Tags > New > Tag Configuration, open the Community Template Gallery, search for your CMP and click Add to workspace. Fill in the fields your CMP asks for, usually an account or domain ID. Google’s Tag Manager help lists the CMPs whose templates are built on its consent APIs, so check that yours is one of them.

Set the tag’s trigger to Consent Initialization – All Pages. Every web container has this trigger by default, and it fires before every other trigger, including Initialization. Use it only for tags that set or update consent; tags that simply need to fire early belong on Initialization – All Pages.

Step 4: Set Defaults for All Four Parameters

In the template, set a default for ad_storage, analytics_storage, ad_user_data and ad_personalization. Most templates let you set defaults by region, for example “denied” for visitors in places where you show a banner. If your banner loads slowly, use the template’s wait-for-update setting; Google’s own example gives the banner 500 milliseconds to update consent before tags send data.

If you can’t use a template and a developer adds code to the page instead, the default command must run before the GTM container snippet. This is the shape of Google’s example:

<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('consent', 'default', {
    'ad_storage': 'denied',
    'ad_user_data': 'denied',
    'ad_personalization': 'denied',
    'analytics_storage': 'denied'
  });
</script>
<!-- GTM container snippet for GTM-XXXXXXX goes below -->

One rule from Google’s troubleshooting guide: don’t call gtag consent commands from a Custom HTML tag inside GTM. Set and update consent with a template built on Tag Manager’s consent APIs instead.

Step 5: Check Your Google Tags

The Google tag, Google Analytics, Google Ads conversion tracking and remarketing, Floodlight and the Conversion Linker have built-in consent checks, so they adjust on their own. In advanced mode, leave them on their normal triggers (page-load tags on Initialization – All Pages). In basic mode, open each one and, under Advanced Settings > Consent Settings, choose “Require additional consent for tag to fire” with analytics_storage or ad_storage so it waits for acceptance. While you’re there, remove any duplicate gtag code on the site; our Google Ads conversion tracking setup guide shows the clean way to run those tags through GTM.

The Meta Pixel, TikTok Pixel, LinkedIn Insight Tag and most heatmap tools don’t have Google’s built-in consent checks. For each one, open Advanced Settings > Consent Settings, select “Require additional consent for tag to fire” and add ad_storage for ad pixels or analytics_storage for analytics and heatmap tools. The tag then fires only when those types are granted. From Consent Overview you can select several tags and edit their consent settings in one go.

Step 7: Optional, URL Passthrough and Ads Data Redaction

When ad_storage is denied, the ad click ID isn’t stored in a cookie. URL passthrough carries it across pages in the URL instead, which helps conversions land correctly. You can turn it on in your consent template if it offers the option, or add this parameter to the Google tag’s configuration settings:

Name:  url_passthrough
Value: true

Ads data redaction goes the other way: with ad_storage denied, it strips ad click identifiers from the requests that Google Ads and Floodlight tags send. Choose based on your policy, and test that URL passthrough doesn’t break pages that use query parameters.

Step 8: Preview, Test and Publish

Click Preview, run the three tests in the next section, and only then publish the container. Publish again after any change to the banner or tags.

Use Google Tag Assistant: check the earliest Consent event for your defaults, then accept or reject on the banner and check the latest Consent event for the update.

  1. Open Tag Assistant and enter your website’s URL. Your site opens in a new tab.
  2. In the Summary, select the earliest Consent event. Check that the API Call shows all four parameters, or open the Consent tab and read the On-page Default column.
  3. On the site, click Accept all. Select the most recent Consent event and check the On-page Update column.
  4. In the Summary, open the Tags tab and click each tag to see whether it fired or was blocked.
  5. Start a fresh session (or clear cookies), click Reject all, and repeat steps 2 to 4.
  6. If you set regional defaults, simulate a visitor location in Chrome and repeat.
ScenarioWhat you should see
Before any choiceDefaults on the first Consent event; no ad cookies written
After Accept allAll four parameters updated to granted; tags fire normally
After Reject allAll four stay denied; Meta and other pixels blocked; in advanced mode, Google tags send only cookieless pings

After go-live, give it time. Google Ads Help says consent mode impact results can appear once consent mode has run for at least 7 full days, and only where the data meets Google’s minimum thresholds.

Most problems come from timing (defaults set too late), a banner that never sends the update, or non-Google tags with no consent checks.

ProblemLikely causeFix
Tag Assistant’s Consent tab is emptyConsent mode isn’t runningAdd the CMP template, or turn on Google consent mode in the CMP’s settings
“Default consent set too late” errorA tag fired before defaultsPut the CMP tag on Consent Initialization; move page code defaults above the GTM snippet
Banner accepted, consent still deniedNo update command, or update sent from Custom HTMLUse a template that sends updates; check your CMP’s docs
Meta or TikTok fires after Reject allNo additional consent checksRequire ad_storage under Consent Settings
Conversions dropped after launchDenials now respected, or US visitors defaulted to deniedCheck regional defaults; compare with a pre-launch baseline
Remarketing lists shrinking since June 2026ad_storage is now the only controlExpected for denials; confirm Accept all sends granted
Wrong state in one regionRegion defaults misconfiguredSimulate the location and fix the template’s region settings

What Does a Good Setup Look Like for Different Businesses?

The right setup depends on who visits your site and what your tags do.

  • US-only home services company: If your policy and advisers say no banner is needed, don’t set blanket “denied” defaults that throw away measurement. Scope any denied defaults to regions you actually serve with a banner, and still keep consent checks ready on ad pixels.
  • Online store shipping to the UK and EU: Denied defaults for those regions, granted elsewhere if your policy allows, advanced mode for better modeling, and ad_storage checks on the Meta and TikTok pixels.
  • B2B software company with sign-ups worldwide: Enhanced conversions depend on ad_user_data being granted, so test the sign-up flow with both choices. If you’re moving tracking to a server container, our guide to server-side tagging in GTM covers how consent carries over.

If you’d rather have this checked than build it yourself, our tracking and analytics team audits consent setups as part of a free audit, and our Google Ads management runs on a flat monthly fee, month to month, with no lock-in.

FREE TRACKING AUDIT

Find Out Which Conversions You Are Missing

JuvioX reviews your GA4, Tag Manager and ad platform tracking, then sends a prioritized list of what to fix first. Free, with no obligation.