When debugging or verifying the implementation of Google Consent Mode v2 Advanced, you can hop in your Chrome Dev Tools inspector, and check out a number of parameters in each network call to Google services.
What are these parameters? What do they mean? And what are the possible values?
Table of Contents
When using Chrome Web Tools to inspects the http network calls containing “collect”, we have been analyzing the possibile responses of parameters like gcs, gcd, and so on. Here’s a brief vademecum to understand their values.

Consent Mode parameters in hits for Google Analytics 4 and Google Ads.
Parameter | Meaning | Description |
gcs | Google Consent Status | Controls ad_storage and analytics_storage values |
gcd | Google Consent Default | Controls ad_storage, analytics_storage, ad_user_data, and ad_personalization values |
gcu | Google Consent Update | Will be added with the value “1” if the Google Consent has just been updated (wait_for_update setting on GTAG) |
gcut | Google Consent Update Type | Documented values, 1 or 2, no more info on the meaning |
dma_cps | Digital Marketing Act Parameters | Specifies if consent is given or not, and for which Google services (search, youtube, play, shopping, ads, maps..) |
npa | Non Personalized Ads | The output parameter for personalized advertising (impacts remarketing) |
Note: it can be useful to check out the Google Analytics 4 Measurement Protocol chart by thyngster.com
GCS – Google Consent Status
The possible values of GCS are:
- 100 – no analytics & no ads cookies
- 101 – yes analytics & no ads cookies
- 111 – yes analytics & yes ads cookies
- 110 – no analytics & yes ads cookies
GCD – Google Consent Default
This is a little less straightforward. The string starts with 11, then uses a number (often 1) to separate the different consent signals, and then ends with a different number (often 5) to end the string. We will come to the last number at the end of this chapter.
One example would be:
&gcd=11<ad_storage>3<analytics_storage>3<ad_user_data>3<ad_personalization>5
Now, as mentioned in our step 5 of the implementation of Consent Mode v2 Advanced, you won’t be observing such a verbose string; instead, the parameters are going to be replaced by mysterious letters. Here’s the mystery unveiled with what we know so far:
Letter | Description | Example |
l | Consent mode is not active | 11l1pl1l1l5 |
p | denied by defaults, no update (you want this before interaction with CMP banner) | 11p1p1p1p5 |
q | denied by defaults and denied after update | 11p1q1p1p5 |
t | granted by default and no updates | 11t1t1t1t5 |
r | denied by default, granted after update (you want this result in most cases) | 11r1r1r1r5 |
m | denied after update without defaults | 11p1m1p1p5 |
n | granted after update without defaults | 11n1n1n1n5 |
u | granted on defaults, but denied after update | 11u1u1u1u5 |
v | granted both previous and after consent | 11v1v1v1v5 |
The Number 5 at the end of GCD
David Vallejo has been analyzing this in depth (I suggest giving him a follow on LinkedIn), and he suggests that the last value is “ads_signals”. Here are the possible values of the parameter:
- 1 – Consent Not Defined + Ads Signals Not Defined
- 2 – Consent Not Defined + Ads Signals Set True
- 3 – Consent Not Defined + Ads Signals Set False
- 4 – We don’t know yet
- 5 – Consent Defined + Ads Signals Not Defined
- 6 – Consent Defined + Ads Signals Set True
- 7 – Consent Defined + Ads Signals Set True

Pietro Mingotti is an Italian entrepreneur and digital marketing specialist, best known as the founder and owner of Fuel LAB, a leading digital marketing and technical marketing agency based in Italy, operating worldwide. With a passion for creativity, innovation, and technology, Pietro has established himself as a thought leader in the field of digital marketing and has helped numerous companies achieve their marketing goals.