Amazon Consent Signal (ACS), built in.
Gravito CMP has built-in support for the Amazon Consent Signal (ACS), sometimes called Amazon consent mode. Where no TCF string is available, the CMP sets both ACS values from the visitor's choice for the Marketing category and writes them to a cookie named amzn_consent. Our team sets it up with you.
- amzn_user_data GRANTEDDENIED
- amzn_ad_storage GRANTEDDENIED
What this page covers
This page explains how Gravito CMP passes the visitor's consent to Amazon Ads through ACS: when the signal is set, its two parameters, how they follow the visitor's choice, and what the CMP writes. It covers websites. It does not explain the laws behind consent, and nothing on it is legal advice.
What the Amazon Consent Signal is for
Amazon Ads supports the IAB Transparency and Consent Framework (TCF) signal. In addition, it has introduced the Amazon Consent Signal, which lets advertisers and other third parties pass their end users' privacy choices to Amazon Ads.
ACS carries two parameters, each GRANTED or DENIED:
| Parameter | What it says |
|---|---|
amzn_user_data | Whether the user has consented to Amazon processing personal data, such as an advertising identifier, for advertising purposes. |
amzn_ad_storage | Whether the user has given Amazon consent to read or write advertising cookies or similar technologies on the user's device. |
When Gravito CMP sets it
ACS is set when cookie consent is master, that is, when no TCF string is available.
Where a TCF string exists, the CMP does not set ACS, and Amazon Ads has the TCF signal instead.
In practice, a visitor whose choice is made in consent categories rather than in TCF, for example under the Standard CMP, gets ACS; a visitor under TCF gets the TC string.
How the values map to the visitor's choice
Both parameters are mapped to the Marketing category:
| The visitor's Marketing choice | amzn_user_data | amzn_ad_storage |
|---|---|---|
| Consented | GRANTED | GRANTED |
| Not consented | DENIED | DENIED |
The two values always move together: one choice, the Marketing category, sets both.
What the CMP writes
The CMP writes the signal to a cookie named amzn_consent, holding a JSON payload:
| Field | Value |
|---|---|
geo.countryCode | The visitor's country, from the CMP's getVisitorCountry() |
amazonConsentFormat.amznAdStorage | GRANTED or DENIED, from the Marketing category |
amazonConsentFormat.amznUserData | GRANTED or DENIED, from the Marketing category |
timestamp | Time of writing, ISO 8601 |
version | '1' |
Cookie attributes, as documented: path=/, max-age=31536000 (one year), SameSite=Lax.
var acsPayload = {
geo: { countryCode: gravitoCMP.getVisitorCountry() },
amazonConsentFormat: {
amznAdStorage: cats.marketing ? 'GRANTED' : 'DENIED',
amznUserData: cats.marketing ? 'GRANTED' : 'DENIED'
},
timestamp: new Date().toISOString(),
version: '1'
};
document.cookie = 'amzn_consent=' + JSON.stringify(acsPayload)
+ '; path=/; max-age=31536000; SameSite=Lax'; What you set up
Set up Gravito CMP with ACS once you start collecting or passing user data to Amazon Ads services, such as Amazon Advertising. Setting it up is part of your CMP configuration, done with our team during implementation; there is no separate Amazon tag to add for the signal.
What to have ready: a Marketing category in your consent categories, since that is the choice ACS follows.
Apps
The Amazon Consent Signal as described here is a cookie written on web pages. In apps, Gravito CMP runs in a WebView, not as a native SDK, and hands the visitor's choice to the app, which stores it under the standard IAB keys for the app's other SDKs to read. ACS in apps is not documented yet: ask us before relying on it.
Configured with you
Which regions run TCF and which run consent categories, and so which visitors get ACS and which get the TC string: our team works that out during implementation.
Amazon gets the same answer as everyone else.
If you run several sites, brands or markets and need Amazon Ads to read the same consent your other systems read, TCF where it applies and ACS where it does not, we set it up once and keep it running.
-
Patrick GlantzCOO -
Jouni MannerhoviCEO