Uploading first-party data to AMC: process, hashing and consent signals

In short: With advertiser data upload you load your own datasets into an AMC instance: prepare data, set up an S3 bucket, create a dataset, upload data. Personal identifiers must be standardised and hashed with SHA-256, otherwise the upload is rejected. For users in the UK and EEA Amazon requires a consent signal and a country code.

What ADU is

Advertiser data upload (ADU, on the Amazon Ads API also called ADU 2.0) loads freely definable datasets into an AMC instance. Examples from Amazon: off-Amazon conversion events, store visits and in-store purchases, additional product metadata, CRM audience segments and mapping tables. Datasets with supported identifiers can be joined with AMC data to attribute off-Amazon events to impressions and clicks.

Data uploaded with ADU 1.0 can no longer be queried. To keep using it, delete the old data and re-upload it with ADU 2.0.

Prerequisites

  • The AMC terms must be accepted in the UI, otherwise all API calls respond with error 401.
  • Access to the AMC API on the Amazon Ads API. ADU is API-only. Your credentials need the scopes Campaign Management and Data Provider.
  • An AWS account with permission to create an S3 bucket for the upload files.

Preparing the data

  • Formats: CSV (UTF-8, any delimiter), JSON (one object per row, no wrapping object or array) and Parquet.
  • Compression: BZIP, GZIP, ZIP, SNAPPY or none (NONE). Split files larger than 1 GB, because reading them can fail.
  • Fact datasets store time series (events) and need a TIMESTAMP or DATE column; dimension datasets store static tables such as a customer list. If a column is flagged mainEventTime, the dataset is a fact dataset.
  • Timestamps must be in UTC in the format yyyy-MM-ddThh:mm:ssZ, dates as yyyy-MM-dd.
  • The partition scheme (period) controls how granularly you can query: PT1H hourly, P1D daily (default), P1M monthly.

Personal identifiers: standardise and hash

Files containing personal data such as email addresses or phone numbers must be standardised and hashed with SHA-256 before the upload. Standardising means bringing raw values into a consistent format, for example everything in lowercase; phone numbers and addresses have further rules that Amazon only shows to Ads Console users.

For columns containing MAID, Experian, Kantar, LiveRamp, Merkle, Neustar, RealId (Acxiom) or SambaTV you perform neither standardisation nor hashing. If a dataset contains raw identifiers, the upload is rejected.

  • If you transmit personal data for Amazon advertising in the United Kingdom and the EEA, you must share a valid consent signal and the country code of the consent.
  • Allowed are the IAB Transparency & Consent Framework (TCF), the Global Privacy Protocol (GPP) or the Amazon Consent Signal (ACS). Do not send several: if multiple are provided, Amazon uses TCF and ignores ACS.
  • The country code is a two-character ISO 3166 code (for example DE). Data without a country code is rejected.
  • With ACS, amzn_user_data takes the value GRANTED or DENIED. AMC respects the consent and rejects records when consent is denied.

This is Amazon's technical requirement and not legal advice. Whether your consents cover the purpose is for your data protection officer or legal counsel to decide.

Step by step

  1. Prepare the data. Decide format, compression, fact or dimension, data types and hashing of identifiers.
  2. Set up the S3 bucket. Create and configure an S3 bucket for the upload files.
  3. Create the dataset. Define a new dataset with the dataset API.
  4. Upload the data. Load data into the dataset with the upload API.
  5. Modify columns. If needed, modify columns through the data set column API.

Frequently asked questions

Is data upload the recommended route?

In the documentation for AMC on AWS Clean Rooms Amazon recommends the two Clean Rooms routes over the AMC data upload. ADU still works, though.

Sources: Amazon Ads API: Advertiser data upload · Amazon Ads API: Prepare data · Amazon Ads API: Consent management in AMC (retrieved 2026-10-09)

Keep reading: AMC on AWS Clean Rooms · API migration