# Google Consent Mode v2

Google Consent Mode v2 ensures that Google vendors associated with a consent notice comply with an end-user's consent choices (called consent types) defined by Google. When a website visitor or app user indicates their consent choices, a consent check will adjust Google tag behaviors, and the end-user's consent choices are preserved across their interaction with the website.

* [Glossary](#glossary)
* [Google consent types](#google-consent-types)
* [Basic vs Advanced consent mode](#basic-vs-advanced-consent-mode)

{% hint style="info" %}
[Click here](https://www.didomi.io/blog/google-consent-mode-v2-what-you-need-to-know) to read the Didomi blog post about Google Consent Mode v2.
{% endhint %}

***

### Glossary

In the context of working with Google Consent Mode v2, your organization should be familiar with the following terminology used by Google:

<table><thead><tr><th width="227">Term</th><th>Description</th></tr></thead><tbody><tr><td>Consent type</td><td>Indicates the type of storage. <a href="#google-consent-types">Click here</a> to view the different consent types available for Google Consent Mode v2. </td></tr><tr><td>Consent state</td><td>End-users choice for a particular consent type. The consent state for each consent type can be <code>granted</code> or <code>denied</code>.</td></tr><tr><td>Consent check</td><td>Action that causes vendor tags to modify behavior based on the consent state for each consent type</td></tr></tbody></table>

### Google consent types

The following consent types that can be set include:

<table><thead><tr><th width="227">Consent type</th><th>Description</th></tr></thead><tbody><tr><td><code>ad_storage</code></td><td>Enables storage, such as cookies (web) or device identifiers (apps), related to advertising.</td></tr><tr><td><code>ad_user_data</code></td><td>Sets consent for sending user data to Google for online advertising purposes.</td></tr><tr><td><code>ad_personalization</code></td><td>Sets consent for personalized advertising.</td></tr><tr><td><code>functionality_storage</code></td><td>Enables storage that supports the functionality of the website or app, for example, language settings</td></tr><tr><td><code>personalization_storage</code></td><td>Enables storage related to personalization, for example, video recommendations</td></tr><tr><td><code>analytics_storage</code></td><td>Enables storage, such as cookies (web) or device identifiers (apps), related to analytics, for example, visit duration.</td></tr></tbody></table>

### Basic vs Advanced consent mode

Google Consent Mode v2 supports two different modes that your organization can use to guide implementation ([basic](/consent-management-platform-cmp/frameworks-regulations/google-consent-mode-v2/google-consent-mode-v2-basic.md) or [advanced](/consent-management-platform-cmp/frameworks-regulations/google-consent-mode-v2/google-consent-mode-v2-advanced.md)). The major difference between these two modes is how end-user consent impacts when and if your Google tags are loaded and the data transmitted to Google.

<table><thead><tr><th width="184">Feature</th><th>Basic consent mode</th><th>Advanced consent mode </th></tr></thead><tbody><tr><td>Tag loading</td><td>Blocked until end-user interaction with the consent notice</td><td>Loads with consent type defaults set to <code>denied</code> , unless configured otherwise</td></tr><tr><td>Data transmission</td><td>No data is sent before an end-user consents - not even the default consent status</td><td>When consent is <code>denied</code>, consent state and cookieless pings are sent<br><br>When consent is <code>granted</code>, cookies are written and all measurement data is sent.</td></tr><tr><td>Tag behavior after end-user interaction</td><td>Loads and executes consent mode APIs only when an end-user grants consent</td><td>Adjusts tag behavior based on end-user consent choice</td></tr><tr><td>Conversion and key event modeling</td><td>General model (less detailed modeling)</td><td>Advertiser-specific model (more detailed modeling)</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.didomi.io/consent-management-platform-cmp/frameworks-regulations/google-consent-mode-v2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
