Home / Consent Mode checker

The Consent Mode checker that reads the hits

A banner that looks right and gates nothing is the most common consent bug there is. The only place it is visible is in the requests the page sends while the answer is still no.

Consent Mode is not a switch, and that is why it is hard to check. It is a sequence: a set of defaults that must be in place before any Google tag loads, then an update carrying what the visitor actually chose. Get the order wrong and every screen you can look at still shows four green boxes.

Tag Master reads the sequence rather than the state, and reads the consent signal riding on each individual request — gcs and gcd, decoded, next to the hit that carried them.

What a CMP's own preview cannot tell you

The consent panel reading Consent Mode as a sequence: where the defaults came from, how many requests went out denied and how many after the grant, with the four signal states underneath
Not a snapshot of the current state, but the order things happened in. A default that arrived after the tags is the same four green boxes as a default that arrived before them.

The four signals shown live are the easy half. The half that finds bugs is the ordering: whether the page called gtag('consent', 'default', …) at all or left it to the container, how many requests went out under a denied state, and how many after the grant. A page that never set defaults and a page that set them correctly are indistinguishable once the visitor has answered.

The part Consent Mode does not cover

Consent Mode is a Google protocol. Meta, TikTok, LinkedIn, Criteo and the rest do not read ad_storage at all — they are gated, if at all, by the consent tool refusing to load their tag. When that gating is misconfigured, the Google tags behave impeccably and a pixel keeps sending purchases to an advertising platform under a denied answer.

That is the finding worth having, and it is not visible in any Google tool because it is not a Google problem. The panel lists every vendor that kept firing while ad consent was denied, which is a different question from whether Consent Mode is configured correctly. The longer guide works through reading the signals off the hits themselves.

Testing the answer you did not give

Most consent testing checks the accept path, because that is the one that produces data to look at. Reject is where the interesting failures are, and it needs a clean profile: a stored answer from a previous visit replays before the banner ever appears, so a second run is not a test of the first load.

Reproducing a denied state without clearing everything is the other route — suppress a vendor's hits and watch what the rest of the stack does about it. Blocked hits stay in the list, so you can still read what would have been sent, which is the part a browser's own blocking never gives you.

The hit suppression panel with a checkbox per vendor, described as a way to reproduce a consent-denied state on the tab being debugged
Reproducing the denied state is half the test. The other half is that blocked hits are still listed, so you can read what a vendor would have sent had it been allowed to.

Where the consent tool still wins

Everything about the choice itself. Whether the banner meets the design requirements of a particular regulator, whether the vendor list matches your TCF registration, whether the record of consent is being stored the way your legal team agreed — that lives in the consent platform and nowhere else. A network debugger can tell you what the page did with the answer. It cannot tell you whether the answer was collected properly, and no amount of reading requests will change that.

Questions

How do I check whether Consent Mode V2 is set up correctly?

Read the sequence, not the state. Confirm the defaults are in place before any Google tag loads, that they deny ad_storage, ad_user_data, ad_personalization and analytics_storage, and that an update follows the visitor's choice. Four green boxes after the fact prove none of that.

What are gcs and gcd?

gcs is the consent state a Google hit was sent under — G100, G111 and so on. gcd carries the fuller Consent Mode V2 picture including whether each signal was defaulted or updated. Both travel on the request and both are decoded per hit.

Does it detect tags that fire after consent is denied?

Yes, and that is the check most worth running. Non-Google platforms do not read Consent Mode signals at all, so a Meta or TikTok pixel firing under a denied answer is a gating failure the Google tools cannot see.

Do I need a clean browser profile to test?

For the first-load behaviour, yes. A stored answer from an earlier visit replays before the banner appears, so what you are testing on the second run is the replay, not the default.

Does this replace a consent management platform?

No. A CMP collects and records the choice; this checks what the page did with it. The two answer different questions and a compliant setup needs both to be right.

Guides

The longer form, on the parts that catch people out.

The other term pages: GTM debugger, GA4 debugger, dataLayer inspector, Meta Pixel debugger

Try it on your own site

Tag Master is free, needs no account, and collects no data.

Add to Chrome — Free

Rated 5.0 by 17 users on the Chrome Web Store.