Version: 1.1
Last Updated: October 22, 2025
The Amazon Consent Signal (ACS) is an easy-to-use consent sharing format developed by Amazon to help advertisers and third parties share user consent choices when uploading or sharing their customer data with Amazon Ads.
In addition to supporting the Interactive Advertising Bureau's (IAB) Transparency & Consent Framework (TCF) signal and Global Privacy Protocol (GPP), you can also use Amazon Consent Signal (ACS) to transmit end users' privacy choices to Amazon Ads in the UK and EEA.
To implement the Amazon Consent Signal by triggering the amznConsent call, follow the steps below.
Add the following script tag to your page:
<script src="https://c.amazon-adsystem.com/aat/amzn-consent.js"></script>
When the script loads, all consent settings default to 'DENIED'. These settings remain in place until the user interacts with the banner (for example, by clicking Accept), at which point you should update the consent state using the amznConsent method.
Embed the provided script on your website. The latest version is available on this GIST.
This script:
- Listens for user preference submissions
- Reads the consent status
- Pushes the consent status
Update the following section based on the existing categories in your Cookie Consent Manager:
// Bucket Mapping const REQUIRED = 1; const FUNCTIONAL = 2; const ADVERTISING = 3;
You need to adjust this section to update the behavior for the opt-in experience (Zero-Cookie Load). Below is an example mapping:
function handleConsentDecision(consent) {
var functionalAccepted = consent.consentDecision.includes(FUNCTIONAL) || (consent.source == "implied" && !isEU),
advertisingAccepted = consent.consentDecision.includes(ADVERTISING) || (consent.source == "implied" && !isEU);
The options below set a domain first-party JS cookie (amzn_consent) and trigger a browser event (amznConsentChange). This method will not work if the integration cannot set first-party cookies.
If Amazon Ad Tag (amzn.js) is also integrated with your website, it will listen for the browser event and/or check for the first-party cookie, and ensure future event triggers and collection of first-party user data are restricted based on the consent provided.
window.amznConsent()
.setIpAddress('192.168.1.1')
.setCountryCode('UK')
.setEnableAdStorage(true)
.setEnableUserData(false)
.build();
Sample
if(window.amznConsent && window.truste && window.truste.eu && window.truste.eu.bindMap) {
window.amznConsent()
//.setIpAddress('192.168.1.1')
.setCountryCode(window.truste.eu.bindMap.country)
.setEnableAdStorage(advertisingAccepted)
.setEnableUserData(functionalAccepted)
.build();
//console.log("Amazon Consent: ", window.amznConsent);
}
window.amznConsent({
ipAddress: '192.168.1.1',
countryCode: 'UK',
enableAdStorage: true,
enableUserData: false,
});
| Field | Description | Requirement |
|---|---|---|
| Geo.CountryCode | The 2-character ISO 3166 country code where consent was granted. This can be informed based on the configurations in CCM. |
Required |
| Geo.IP-address | The IP address of the user (alternative to Country Code). | Optional |
| Consent.AmazonConsentFormat. amzn_ad_storage |
Indicates whether the user has given Amazon consent to read or write advertising cookies or similar technologies on the user's device. | Required |
| Consent.AmazonConsentFormat. amzn_user_data |
Indicates whether the user has consented to Amazon processing personal data (e.g. an advertising identifier) for advertising purposes. | Required |