CCM Advanced - Amazon Consent Signal Integration

Version: 1.1

Last Updated: October 22, 2025

 

Overview

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.

Important: If you transmit personal information to Amazon Ads in the UK and EEA, you must share a valid consent signal and the country code where consent was granted. The interoperability between ACS and Amazon Ad Tag is designed to facilitate this process, ensuring compliance and accurate data handling.
What you can do
Implement Amazon Consent Signal to share user consent choices with Amazon Ads
Map TrustArc consent categories to Amazon consent fields
Pass consent from the Cookie Consent Manager banner to ACS-JS
Prerequisites
Active TrustArc Cookie Consent Manager account
Amazon Ad Tag already set up on your site — see Amazon Ad Tag Setup
Ability to set first-party cookies on your domain
Integration Steps

To implement the Amazon Consent Signal by triggering the amznConsent call, follow the steps below.

Note: Do not pass both TCF and Amazon Consent Signal. If both are passed, Amazon Ads will use TCF as the consent signal and ignore the Amazon Consent Signal.
Step 1 — Importing the ACS-JS Library to the Banner

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.

Step 2 — Loading the Consent Wrapper Script

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
Step 3 — Mapping TrustArc Consent Categories

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);
Step 4 — Passing Consent from the Banner to ACS-JS

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.

Option 1: Builder Pattern (Recommended)
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);
}
Option 2: Direct Initialization by providing the JSON object (Not Recommended)
window.amznConsent({
  ipAddress: '192.168.1.1',
  countryCode: 'UK',
  enableAdStorage: true,
  enableUserData: false,
});
Key Fields and Requirements
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
Note: If data is uploaded without specifying a country code, Amazon Ads will automatically reject the data load. The Country Code must indicate the country in which consent was granted by the customer.
TrustArc  ·  Cookie Consent Manager — Amazon Consent Signal Integration Guide  ·  support.trustarc.com