Home / Free tools
Free tool
Consent Mode decoder
Paste a gcs or gcd value — or a whole GA4 or Google Ads request URL — and read the four Consent Mode v2 signals, how each one was set, and what looks wrong.
Examples:
Also free: GTM container viewer — any container’s tags, by ID.
How to read gcs
gcs is G1 followed by one character for ad_storage and one for
analytics_storage: 1 granted, 0 denied. It says what the tag knew at
the moment the request left.
| gcs | ad_storage | analytics_storage |
|---|---|---|
G100 | denied | denied |
G110 | granted | denied |
G101 | denied | granted |
G111 | granted | granted |
How to read gcd
gcd looks like 11r1r1r1r5: a two-digit start, then one letter each for
ad_storage, analytics_storage, ad_user_data and
ad_personalization, separated by digits, and a closing digit. The separators and the ends vary;
the four letters are what carry the meaning, and each says both the state and how it was reached.
| Letter | State | How it was set |
|---|---|---|
l | not set | No Consent Mode signal for this type |
p | denied | Denied by default, never updated |
q | denied | Denied by default, denied again on update |
m | denied | Denied on update, with no default before it |
u | denied | Granted by default, denied on update |
t | granted | Granted by default, never updated |
r | granted | Denied by default, granted on update |
n | granted | Granted on update, with no default before it |
v | granted | Granted by default and on update |
Google does not formally document gcd. This reading is the one
published by Simo Ahava
and used since; the Tag Master extension reads it the same way on every hit it
captures, and treats a letter it does not know as unknown rather than guessing.
What the decoder flags
- v2 incomplete —
ad_user_dataorad_personalizationisl, never set. - An update with no default —
morn: the first requests left before any consent state existed. - Granted before the visitor answered —
t,voru: the default was granted. - gcs and gcd disagree — two tags on the page reading different states.
To see which vendors kept sending after consent was denied — the part Consent Mode itself does not cover — read Debugging Consent Mode V2.
Questions
What is the gcs parameter?
gcs travels on Google requests and gives the state of ad_storage and analytics_storage at the moment of the hit: G1 followed by one digit for each, 1 for granted and 0 for denied. G100 is both denied, G111 both granted.
What is the gcd parameter?
gcd carries all four Consent Mode v2 signals — ad_storage, analytics_storage, ad_user_data and ad_personalization — as letters, and each letter also says how the state came about: from the default, from an update, or both.
Is gcd documented by Google?
Not formally. The reading used here is the one published by Simo Ahava and widely used since; the Tag Master extension reads it the same way and treats letters it does not recognise as unknown rather than guessing.
Where do I find gcs and gcd?
In the request itself: open DevTools, Network, filter on collect, and read the query string of a GA4 or Google Ads request. Or paste the whole request URL here — the decoder pulls both out.
Does this page send what I paste anywhere?
No. It is read in your browser. The page address keeps only the gcs and gcd values, so a shared link never carries the rest of a request URL.
Try it on your own site
Tag Master is free, needs no account, and collects no data.
Add to Chrome — Free