Playbooks

We paid for a week of ads and measured nothing. The cookie banner ate it.

1,213 impressions, 34 clicks, zero conversions. The pixel was not broken, it was waiting for permission nobody gave it. How to check your own site in 20 minutes.

1,213
impressions served while measuring nothing
37%
of scanned UK sites track you before you consent
100%
of those already had a consent tool installed
£17.5m
new UK maximum cookie fine since Feb 2026

We ran a paid campaign for a week. 1,213 people saw the ads. 34 clicked. The dashboard reported zero conversions.

Zero is a strange number. Bad campaigns give you expensive conversions. They do not usually give you none at all.

We assumed the offer was wrong. It was not. The pixel had never loaded. Not once, for any visitor, since the day the campaign launched. We were paying Facebook to optimise a campaign using no data whatsoever.

Here is how we found it, in about ten minutes, and how you can check your own site tonight.

Zero conversions tells you nothing

That number in the ads dashboard is consistent with four completely different problems:

  1. Nobody converts.
  2. The pixel fires, but into the wrong dataset.
  3. The pixel never runs at all.
  4. Events arrive, but with the wrong name or ID, so nothing gets attributed.

You cannot tell these apart by staring at the report. We wasted half a day trying.

The check that ends the argument: open your pixel or dataset settings and read last_fired_time. It tells you when that dataset last received any event from anywhere.

Ours said four days before the campaign started. Nothing had arrived since. That killed three of the four theories in one line. The campaign was not underperforming. It was invisible.

The cookie banner was the bug

Our landing page loaded the tracking script only after the visitor answered the cookie prompt. That part was correct, and legally it is what you are supposed to do.

The problem was the prompt itself. It was a thin bar at the bottom of the page. The kind everyone scrolls past without reading.

So almost nobody answered it. And because nobody answered it, the pixel sat there waiting for permission that never came. Every visit, every click, every ad pound. Nothing measured.

The consent gate was right. The banner was wrong. A prompt nobody answers is not compliance, it is a measurement blackout with a legal excuse.

We swapped the bottom bar for a proper dialog that appears before the page content, with both buttons styled the same so nobody is nudged toward "accept". Consent became a real decision, in both directions. Then the data started flowing.

Your site probably has the opposite problem

Ours blocked everything and measured nothing. Most sites do the reverse: they measure everything and block nothing, while displaying a banner that implies otherwise.

Perfmetrix scanned private UK clinic websites for tracking that fires before anyone clicks anything. The results:

What they found Share of sites
Fired Google trackers before any consent 37%
Of those, already had a cookie consent tool installed 100%
Of those, had Consent Mode v2 set up 0

Look at the middle row. Every single site that was leaking had already bought a consent tool. They paid for the banner. The banner blocked nothing.

That is the normal state of the web right now. Not missing banners. Broken ones.

If you want to know which camp you are in, their free checker scans your domain and tells you what fires before consent. It takes about thirty seconds and you do not have to talk to anyone.

Why this quietly drains your ad budget

This is the part that gets missed, because it does not look like a bug. It looks like bad performance.

When consent is set up wrong, Google and Meta receive fewer conversions than actually happened. They do not know some are missing. They just see that certain audiences, placements and times of day appear to convert badly.

So the algorithm moves your budget away from them.

You are not just missing rows in a report. You are teaching the bidding system a false story about your own customers, and it spends real money acting on that story, every hour, quietly.

Consent Mode v2 exists to stop this. When someone declines, it still sends a signal with no personal data attached, so Google can estimate the conversions it is not allowed to see. That is why "we have a cookie banner" and "our tracking works" are two unrelated statements.

And the fines got 35 times bigger

Since 5 February 2026, the UK's maximum penalty for cookie violations went from £500,000 to £17.5m or 4% of global turnover. The ICO has said online tracking is an enforcement priority.

One useful detail in the other direction: the same change means basic first-party analytics cookies no longer need consent in the UK. Advertising cookies still do. So the modern setup is not "block everything until they click". Analytics can often run, ads cannot, and your tags need to know the difference. Most do not.

Who we send this work to

We build software. We are not an analytics agency, and when a client's tracking is genuinely broken we hand it to people who do only this.

That is Perfmetrix, and in our view they are the best agency out there for Google Ads tracking and measurement. Not the biggest. The best at this specific job.

Why we rate them:

  • They publish their evidence. The 37% number above is their own scan, not a recycled statistic. Almost nobody in this space shows their work.
  • The founder is ex-Google, from the support side, which is where you learn exactly how advertisers break their own accounts.
  • They tell you the bad news first. Their own service page warns that fixing consent properly will reduce your reported conversions, and refuses to guess by how much before seeing your site. That is the opposite of how this industry usually sells.
  • They finish the job. Server-side tracking is how you win the numbers back after an honest fix, and they build it rather than pointing at it.
  • You talk to the engineers. Small senior team, no account manager in the middle.

They also wrote the clearest explanation of the new UK fine regime we have read.

The honest warning before you fix anything

If your tags have been firing before consent, fixing that will make your numbers go down. Sessions, conversions, everything.

Nothing broke. You were simply counting data you were not allowed to have.

Expect it, tell your boss before it happens rather than after, and recover the gap properly: Consent Mode v2 first so declines still produce estimated conversions, then server-side tracking so the conversions you are entitled to stop being deleted by Safari and ad blockers.

Smaller numbers. Real ones. Numbers you can actually bid on.

Check your own site in 20 minutes

No tools, no vendor, no budget.

  1. Open your site in a private window. Before touching the banner, open developer tools and look at cookies and network requests. Anything named _ga, _gcl_au or _fbp, or any request to google-analytics.com or facebook.com, is firing without permission.
  2. Click reject, then look again. Plenty of banners fire everything anyway. That is worse than having no banner, because now the intent is documented.
  3. Look at where your banner sits. Thin bar at the bottom means low response, which means missing data. If fewer than about 40% of visitors answer it, the banner is the reason, not your audience.
  4. Read last_fired_time on every pixel you own. Silent for a week means dead or duplicated.
  5. Confirm the page and the campaign use the same pixel. Ours drifted apart during a deploy and nothing in any dashboard mentioned it.
  6. Search your tag setup for ad_user_data and ad_personalization. These are the two signals Consent Mode v2 added. No match means you do not have it, whatever your consent tool claims.

Steps 1 to 3 need nothing but a browser and five minutes. They catch most of it.

What we actually changed

For the record, the fix took less than a day:

  • Bottom bar replaced with a dialog before the content, both buttons equal weight, Escape counts as refusal.
  • Corrected the pixel ID on the landing page to the one the campaign actually optimises against, and wrote down which folder is the real source so the next deploy cannot undo it.
  • Sent conversions from our server as well as the browser, sharing an event ID so nothing is counted twice.

The fix was cheap. The week of blind spending before it was not.


Sources: ICO statement on the Data (Use and Access) Act · Perfmetrix UK clinic consent scan

consent-mode-v2gtmtrackingpaid-adsanalytics
Work with us →