A client came to me recently with a familiar complaint: “We followed the manual: the consent banner is live, Consent Mode is enabled, GA4 is tracking events… And yet the reports are emptier than a productivity meeting on Friday afternoon. Half the traffic looks like it came from a ghost town — no source, no sessions

I open BigQuery — and yep, a whole bunch of events with no user_pseudo_id. Events are technically there, but context? Totally missing. GA4 is supposed to magically “fill in the blanks”, right? Except… it doesn’t. Not unless you give it a real chance.

See, a lot of teams treat Consent Mode like a checkbox of divine power: Toggled on = Everything works.

Spoiler: it’s not magic — it’s a system. And if just one part of the chain breaks, your data goes poof. And when the data goes, you’re left with analytics that feel more like reading tea leaves: hazy, vague, and occasionally fictional.

What could be going wrong?

1. Modeling isn’t actually enabled. GA4 won’t just “guess” things out of kindness. To get behavioral modeling, you need to:

- Enable Consent Mode v2;

- Set GA4’s reporting identity to Blended (Admin → Reporting Identity);

And — surprise — give it enough fuel: at least 1000 events each with granted and denied consent states. If you’re stuck on “Observed” mode, GA4 will only use real identifiers. No modeling, no magic.

2. Your banner is showing everywhere — and that’s a problem. One of the most common mistakes: displaying the consent banner globally. But in many regions (outside the EU, etc.), consent isn’t even legally required. If you show the banner anyway and set denied by default, you’re basically throwing good data into the trash. Solution: limit the banner to required regions, and in the rest — clearly default to granted.

3. “Additional consent required” is enabled in your GA4 or Ads tag. This one’s sneaky. It’s part of Basic Consent Mode and blocks the tag from firing at all until consent is received. So instead of sending an event marked as denied (which GA4 could model), the tag just sits there… quietly doing nothing. No events, no modeling.

4. Consent Mode isn’t activated in your CMP. Many providers (Cookiebot, OneTrust, etc.) don’t pass consent signals to GA4 or gtag by default.

You have to manually enable Consent Mode support. Otherwise, the banner may look pretty — but GA4 sees nothing and gets sad.

Consent Mode isn’t magic. It’s a chain: banner → signals → tags → events → reports. Break one link — and your data disappears, along with your budget, your funnel visibility, and maybe your sense of control.

If you work with GA4 to BigQuery exports, be sure to check out my SQL cheat sheet.