# 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**](https://developers.didomi.io/cmp/mobile-sdk/google-consent-mode/google-consent-mode-implementation-steps) **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="google-consent-mode/google-consent-mode-implementation-steps" %}
[google-consent-mode-implementation-steps](https://developers.didomi.io/cmp/mobile-sdk/google-consent-mode/google-consent-mode-implementation-steps)
{% 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.
