Home → Guides → Tag Manager consent

Google Ads conversion tracking in Tag Manager, with UK consent

Set the consent defaults before any tag can fire, with everything denied: through a consent mode template on the Consent Initialization trigger, which Google recommends, or a script above the Tag Manager snippet. Connect the banner so it sends an update when the visitor chooses. Let Google's tags read that state, and hold every other tag back with its own consent check. Then prove it: before anyone clicks the banner, no advertising cookie should exist.

This guide is for UK businesses setting up Google Ads conversion tracking in Google Tag Manager, and for whoever looks after their website. It takes you through each step in the order you'd do it, and what to check before moving on. Whether Consent Mode v2 is required, and how basic and advanced mode differ, are covered in Consent Mode v2 for UK advertisers.

When the cookie banner doesn't control the tags

Several times, working with businesses of different sizes, I've found a cookie banner that did nothing but appear. Broken or never configured properly, it had no control over which tags fired and which didn't, so advertising tags like Google Ads set their cookies whether the visitor agreed or not. That breaks two sets of rules at once: the law (PECR, enforced by the ICO, which requires consent before those cookies are set, with fines up to £17.5 million or 4% of annual worldwide turnover, whichever is higher) and Google's EU user consent policy, which covers UK visitors and which Google's own Google Ads setup instructions point to. It needs fixing as soon as it's found.

The ICO is plain about advertising: "Online advertising purposes are not exempt from PECR's consent requirements and never have been" (the ICO's exceptions). The fine was raised by the Data (Use and Access) Act 2025, under provisions in force since 5 February 2026 (what changed in the law). Google's EU user consent policy covers end users in the EEA, the UK and Switzerland, and says Google may limit or suspend your use of its products if you don't comply.

A banner can't fix this by itself. What holds a tag back is the container: the order the code loads in, and the consent each tag waits for.

Before you start

  • Tag Manager on every page. The container snippet in the head of every page, and nothing else that loads Google's tags.
  • Auto-tagging on in the Google Ads account.
  • A conversion action created by hand in Google Ads. Google says automatically created actions don't give you the conversion label the tag needs.
  • A banner that sends consent to Tag Manager. Either a consent platform with a Tag Manager template (Google certifies some, and says to enable consent mode in the banner's settings), or a banner you maintain, which has to send the update itself.
  • A clear idea of what counts. One tag per real enquiry or sale. If you're unsure what that is, the four common tracking faults come first.

The build in order

Every row depends on the one above it. A tag that fires before the defaults exist has nothing to obey.

Google Ads conversion tracking in Tag Manager, in the order it loads. Checked against Google's documentation on 22 October 2026
PieceWhere it firesThe consent it waits forWhat a test should show
Consent defaultsA consent mode template on Consent Initialization - All Pages (Google's recommendation), or a script above the Tag Manager snippetNone: it sets the starting state, everything deniedThe earliest Consent event shows the four types denied
BannerPart of the template, or your own banner's script in the pageNone: it sends the visitor's choice as an updateThe latest Consent event matches what you clicked, accept or reject
Conversion LinkerAll PagesBuilt in: no advertising cookie while ad_storage is deniedNo cookie starting _gcl_ until you accept
Google Ads conversion tagThe enquiry or sale onlyBuilt in: reads ad_storage and ad_user_dataFires once per enquiry. While consent is denied: without cookies (advanced mode), or not at all (basic mode)
Every other tagIts own triggerAdded by you: Require additional consent for tag to fireNot fired at all until the visitor accepts
1. Consent defaults: all denied In a template, or above the Tag Manager snippet 2. Tag Manager loads Consent Initialization fires before any other tag 3. Google's tags Read the consent state; set no ad cookie until it's granted 3. Other tags Wait. They fire only once the check you added is granted 4. The visitor chooses The banner sends an update. Accept releases what they agreed to. Reject sets no ad cookie.
Order is the whole trick. Whether the defaults come from a template on Consent Initialization or a script above the Tag Manager snippet, they have to exist before any tag fires: Google says "if your consent code is called out of order, consent defaults won't work". Sources: Google for Developers and Tag Manager Help, checked 22 October 2026.

Step by step

1. Set the defaults before any tag fires

For Tag Manager, Google recommends a consent mode template. Its featured consent platforms have templates in Tag Manager's Community Template Gallery, or you can build one with Tag Manager's consent APIs. It goes on the Consent Initialization - All Pages trigger, which Google built to fire before every other tag. Every web container has it. Set the template's defaults to denied.

If a template isn't possible, Google's alternative is a script in the page. The defaults are a short script that runs gtag('consent', 'default', …) with ad_storage, ad_user_data, ad_personalization and analytics_storage all set to denied. It goes in the head of every page, directly above the Tag Manager snippet, because, Google says, consent code called out of order means the defaults won't work. Google's own instruction is that the default comes before the snippet and the update after it (Google's consent mode guide).

Two settings are worth adding to the defaults, in the template or the script. wait_for_update, in milliseconds, gives a banner that loads a moment later time to send the visitor's choice before tags go ahead. ads_data_redaction set to true redacts ad-click identifiers from what Google's tags send while ad_storage is denied, and does nothing once it's granted. Google also offers url_passthrough, which carries click information in the page address when cookies are refused. It is optional. It puts an ad-click identifier in the address bar of a visitor who has just rejected cookies, and the ICO says PECR applies where link decoration involves storing or accessing information on the device, and that its purpose decides what compliance requires (the ICO on link decoration). If you're unsure whether it needs consent on your site, leave it off or take advice.

The banner's job in Tag Manager is to send an update when the visitor chooses. With a consent platform's template, the template sends it. With your own banner, its script sends the update when the visitor clicks. Accepting should grant the types the visitor agreed to; rejecting should leave them denied. Test both, as Google's consent debugging guide says to.

3. Add the Conversion Linker

A new tag, type Conversion Linker, triggered on All Pages. It reads the ad-click details from the landing page address and stores them in first-party cookies and local storage on your domain, so a conversion two pages later can be matched to the click. It is one of Google's tags, with consent checks built in: while ad_storage is denied, Google says no new advertising cookies are written and no existing ones are read. Leave its consent settings as they are.

4. Add the Google Ads conversion tag

In Google Ads, open Goals, then Conversions, then Summary, and click your conversion action. Under Tag setup, choose Use Google Tag Manager to see the Conversion ID and Conversion Label. In Tag Manager, create a tag of type Google Ads Conversion Tracking, paste both in, and add a transaction ID if your site has one, so that a reloaded thank-you page doesn't count twice.

The trigger is the part that decides what you're counting. Fire it on the enquiry itself: the thank-you page that only a submitted form reaches, or the form's own success event. Never All Pages. Its consent checks are built in too. In advanced mode, with ad_user_data denied, Google sends the conversion as a ping without cookies rather than not at all, which is what Google models conversions from. In basic mode the tag doesn't load until the visitor chooses.

5. Hold every other tag behind consent

Consent Mode is read by Google's tags, which have consent checks built in. Don't count on a Meta pixel, a session recording tool or a call tracking script to obey it: the container has to stop them. Open each tag's Advanced Settings, then Consent Settings, and choose Require additional consent for tag to fire, with the consent type it needs: ad_storage for advertising tags, analytics_storage for analytics. Google says a tag set this way fires only if every type you list is granted. A tag left on Not set performs no additional consent check, Google says.

To see every tag's setting in one place, turn on the consent overview: Admin, Container Settings, then Enable consent overview under Additional Settings. The Tags list then has a Consent Overview icon. Recording tools have their own consent questions, covered in the session replay guide, and call tracking's website number swap in the call tracking guide.

Prove it before you publish

Tag Manager's Preview shows how the tags behaved. The browser shows what was actually stored. When I come across a banner that does nothing, the cookies are how I tell.

  1. Open the site in a private window. No cookies from earlier visits, and no consent already given. Don't touch the banner.
  2. Open the browser's developer tools. In Chrome, right-click the page and choose Inspect.
  3. Go to Application, then Storage, then Cookies, and click your site's address.
  4. Read the list. With nothing accepted, there should be no cookie starting _gcl_ (Google Ads) and nothing from your other advertising tools. If you've set Google Analytics to wait for consent too, there should be no cookie starting _ga either. Your banner's own cookie, which remembers the choice, may be there: the ICO says a cookie used solely for that can be exempt.
  5. Reject, then reload. The list should look the same.
  6. Clear all, accept, and reload. The cookies you agreed to should now appear. Then click your way through an enquiry to the thank-you page.

If an advertising cookie is there before you've clicked anything, the banner isn't controlling the tags, and nothing else on this list matters until it is.

Then confirm it in Tag Assistant. In the Summary, the earliest Consent event should show the four types denied (the Consent tab's On-page Default column). After you click the banner, the latest Consent event should show your choice (On-page Update). The Tags tab shows which tags fired and which were held, and Google says Tag Assistant reports an error if an advertising tag touches a cookie before the default is set (Google's consent debugging guide).

Publish only when both agree. Afterwards, Google Ads reports whether consent mode is active in the conversion diagnostics tab. For the ongoing check, what a drop in conversions after a banner change looks like, there's a ten-minute check in the Consent Mode v2 article.

Quick answers

Where do the consent defaults go?

Before any tag can fire, with every consent type denied. Google recommends a consent mode template in Tag Manager, on the Consent Initialization trigger. Without one, they go in a script in the head of every page, directly above the Tag Manager snippet. Out of order, Google says, the defaults won't work.

Does Consent Mode stop non-Google tags?

Not reliably. Consent Mode is read by Google's tags. A Meta pixel, a recording tool or a call tracking script is held back by setting Require additional consent for tag to fire in its own consent settings in Tag Manager.

Does the banner actually block tags?

Open the site in a private window and, before touching the banner, look at its cookies in the browser's developer tools (Inspect, Application, Cookies). An advertising cookie such as one starting _gcl_ before you've accepted means the banner isn't controlling the tags.

Which trigger does the conversion tag use?

The enquiry itself: the thank-you page only a submitted form reaches, or the form's success event. Never All Pages. The Conversion Linker is the tag that runs on All Pages.

Getting it set up for you

If someone asks me to put the Google Ads tag in now and sort the cookie banner later, that's a hard no. How a site manages consent when I find it isn't my responsibility, unless I've been asked to audit and fix it, though I'll always flag any concerns I have. But when I set up conversion tracking from scratch, it is non-negotiable that it follows the official rules:

  • PECR, as amended by the Data (Use and Access) Act 2025, and the ICO's guidance on storage and access technologies
  • UK GDPR, for any personal data those tags collect
  • Google's EU user consent policy, which applies to UK visitors
  • Google's consent mode, so Google's tags act on the visitor's choice

Auditing and fixing an existing setup is conversion tracking audit and repair. If you'd like to talk it through first, a free intro call is thirty minutes.