Disclose to US users
Note
Important: Verify that you have Account Management permission to complete the configuration for EU Consent and GDPR, US State regulations, and User Messaging Platform. See Manage user access to your account for details.
To help you comply with U.S. states privacy laws, the Google Mobile Ads SDK lets you use Google restricted data processing (RDP) parameter to indicate whether to enable RDP. Google also supports the Global Privacy Platform (GPP) for applicable US states.
When the Google Mobile Ads SDK uses either signal, the SDK restricts certain unique identifiers and other data processed in the provision of services to you.
You must decide how restricted data processing can support your compliance plans and when to enable it. Determine whether to use the RDP parameter directly or signal consent and privacy choices with the GPP Specification.
This guide helps you enable RDP globally via local storage or on a per-ad request basis, and use the GPP signal.
This document is based on:
Prerequisites
- Complete the Get started guide.
- Create a U.S. state regulations message.
Tag for under age of consent
To indicate whether a user is under the age of consent, set tag_for_under_age_of_consent / TagForUnderAgeOfConsent (TFUA). When you set TFUA to true, the UMP SDK doesn't request consent from the user. If your app has a mixed audience, set this parameter for child users to ensure consent is not requested.
Important
The UMP SDK does not forward the TFUA tag set on consent requests to the Mobile Ads SDK. You must explicitly set tag_for_under_age_of_consent on ad requests. If you don't set tag_for_under_age_of_consent on ad requests, the UMP SDK does not collect any information that allows Google to determine whether or not users under the age of consent use your app.
For more information, see Tag an ad request for users under the age of consent.
The following example sets TFUA to true on a UMP consent request:
Enable the RDP signal
Google supports two ways to enable Restricted Data Processing (RDP). Both are valid and supported by the Google Mobile Ads SDK:
Globally in local storage (Recommended)
In the official Android and iOS SDKs, Google recommends writing the gad_rdp key directly to local storage (SharedPreferences on Android, UserDefaults on iOS). The Google Mobile Ads SDK reads this key automatically during ad loading and applies RDP to all ad requests across the app:
Per-ad request
You can also enable the RDP signal on a per-ad request basis by inserting the key rdp with a value of 1 (or "1" in C#) into the extras dictionary of an AdRequest:
Note
Tip: You can use network tracing or a proxy tool such as Charles to capture your app's HTTPS traffic and inspect the ad requests for a &rdp= parameter.
Use the IAB GPP Signal
If you collect consent decisions with a consent management platform (CMP) or your own custom messaging, the Google Mobile Ads SDK respects GPP signals written to local storage. The User Messaging Platform (UMP) SDK supports writing the GPP signal. To gather US state consent, configure a U.S. state regulations message in your AdMob account under Privacy & messaging. For UMP setup, see Set up UMP SDK.
Read consent choices
The UMP SDK writes GPP data to local storage following the IAB GPP specification. Note that the UMP SDK only populates these two keys for handling US state regulations:
IABGPP_HDR_GppString: The GPP string containing encoded user consent and opt-out preferences.IABGPP_GppSID: The section IDs included in the GPP string (for example,7for US National).
You can read the consent choices from local storage using ApplicationPreferences:
Test your US states regulations messaging
To test your U.S. states regulations message flow using the UMP SDK on a test device, force the debug geography on ConsentDebugSettings:
- Simulate a regulated U.S. state: Set
debug_geographytoDebugGeography.Values.REGULATED_US_STATE(orDebugGeography.RegulatedUsStatein C#). - Suppress U.S. states regulations messages: Set
debug_geographytoDebugGeography.Values.OTHER(orDebugGeography.Otherin C#).
var request := ConsentRequestParameters.new()
var debug_settings := ConsentDebugSettings.new()
debug_settings.debug_geography = DebugGeography.Values.REGULATED_US_STATE
debug_settings.test_device_hashed_ids.append("TEST-DEVICE-HASHED-ID")
request.consent_debug_settings = debug_settings
UserMessagingPlatform.consent_information.update(request, _on_consent_info_updated)
using PoingStudios.AdMob.Api;
using PoingStudios.AdMob.Ump.Api;
using PoingStudios.AdMob.Ump.Core;
var request = new ConsentRequestParameters();
var debugSettings = new ConsentDebugSettings();
debugSettings.DebugGeography = DebugGeography.RegulatedUsState;
debugSettings.TestDeviceHashedIds.Add("TEST-DEVICE-HASHED-ID");
request.ConsentDebugSettings = debugSettings;
UserMessagingPlatform.ConsentInformation.Update(request, OnConsentInfoUpdated);
Mediation
If you use mediation, navigate to Privacy & messaging > US states regulations in the AdMob UI to manage ad partners for U.S. states. Consult each ad network partner's documentation to determine the options they offer for U.S. state regulations compliance.