# Google Consent Mode v2

{% hint style="success" %}
**Didomi now supports native integrations with Firebase and** [**AAP SDKs**](https://support.google.com/google-ads/answer/12961402?hl=en)**. Use** [**this new guide**](/cmp/mobile-sdk/google-consent-mode/google-consent-mode-implementation-steps.md) **for a simplified setup.**

**In the code of your Mobile app make sure you no longer** [**setConsent**](#update_consent) **for Google consent mode.**
{% endhint %}

## **What is Google Consent Mode v2?**

Google Consent Mode v2 (GCM v2) is a framework that lets you adjust Google services’ behavior based on user consent for analytics and advertising. It introduces new consent types:

* ad\_user\_data
* ad\_personalization
* ad\_storage
* analytics\_storage

These signals help ensure compliance with privacy regulations (e.g., GDPR) while maintaining accurate measurement.

## **How Does It Work on Apps?**

On mobile apps, GCM v2 works through SDKs such as **Firebase** and **Google Ads SDK**. These SDKs rely on consent signals provided programmatically at runtime. Consent signals must be passed **early in the app lifecycle** to ensure Google SDKs respect user choices.

## Requirements

The minimum Didomi mobile SDK version that supports the Firebase SDK and Google Ads SDK are as follows:

* **iOS/tvOS**: > v2.27.0
* **Android**: > v2.27.0

## **How Does Didomi Support It?**

Didomi simplifies integration by:

* Capturing user consent through its Consent notice.
* Computing GCM signals based on user decisions.
* Passing these signals to **Firebase** and Advanced App Partners (AAP) like **Airbridge, AppsFlyer**, **Branch** and **Kochava**.
* Keeping signals in sync with any changes in user consent.

#### **How Do We Compute User Status Before Passing It to GCM?**

The Didomi SDK calculates GCM signals based on vendor consent:

* **If Google Advertising Products vendor (SDK ID: google) has full consent**:
  * ad\_storage, ad\_user\_data, ad\_personalization → **granted**
* **If Google Analytics Products vendor (SDK ID: googleana-4TXnJigR) has full consent**:
  * analytics\_storage → **granted**

When consent is not granted, these signals are set to **denied**.

***

## **GCM implementation steps**

{% content-ref url="/pages/WPKwa3zn9RSxyJb0rF9c" %}
[Google Consent Mode - implementation steps](/cmp/mobile-sdk/google-consent-mode/google-consent-mode-implementation-steps.md)
{% endcontent-ref %}

***

## **Privacy & Legal Notes**

* GCM v2 compliance is shared responsibility:
  * Didomi ensures accurate consent capture and signal mapping.
  * You must implement Didomi SDK properly and configure your vendors.
* **Google Policy**: You must present users with compliant consent notices for personalization and user data collection.
* Incorrect setup or missing configuration steps may result in non-compliance.


---

# 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://developers.didomi.io/cmp/mobile-sdk/google-consent-mode.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.
