Google Ads restricted data processing and personalization
Send restricted_data_processing and allow_ad_personalization_signals from a US opt-out choice.
Consent Mode v2 tells Google whether a visitor consented. These two settings tell Google how it may process what it still collects. They're separate mechanisms and they answer different questions, so running Consent Mode doesn't give you either one.
Restricted data processing
What it does. Sets restricted_data_processing for US visitors so Google Ads handles their data in a limited way.
Consent category. None. This one follows the durable US opt-out record, not a category. That distinction matters: a European visitor who declines marketing has exercised a different right under a different law, and flagging them as restricted-data-processing would be the wrong signal.
The check is whether the visitor is in the US and has not deliberately opted in to sale and sharing. A visitor who made no choice restricts, because absence of a choice isn't consent. A visitor who explicitly opted in doesn't.
How it works. On each consent update the snippet reads the stored opt-out record and sends:
gtag('set', 'restricted_data_processing', true);
Non-US visitors are skipped entirely. Nothing is sent for them.
One limitation to plan around. Unlike the Meta and TikTok limited data use signals, this one fires only on a consent event. It doesn't send anything at load from the stored record. A returning US visitor whose page view resolves without a consent event won't have the flag set on that page view, so if you rely on it, keep the banner configured to emit an update rather than resolving silently.
Ad personalization signals
What it does. Sets allow_ad_personalization_signals to match whether the visitor allowed ad personalization.
Consent category. marketing, through the Consent Mode ad_personalization key.
How it works. On each consent update:
gtag('set', 'allow_ad_personalization_signals', false);
The value is true only when ad_personalization resolved to granted.
Setup
Both are off by default and are read from the banner theme's customFeatures:
{
"googleAdsPrivacy": {
"restrictedDataProcessing": true,
"adPersonalization": true
}
}
There's no dashboard control for these yet. Setting them means updating the theme through the API. If you need them enabled and would rather not do that yourself, ask support.
Anything other than the literal true leaves a flag off, including the string "true".
Testing
Restricted data processing needs a US visitor, so test from a US IP or set the country override your staging environment uses. Watch the data layer:
window.dataLayer.filter(function (e) {
return e[0] === 'set';
});
Make a consent choice first, since that's what triggers the send. You should then see a set for restricted_data_processing. If you see nothing, confirm the visitor resolved as US: the snippet exits before sending anything when they didn't.
For ad personalization, accept marketing and confirm the value flips to true on the update.