Rules that apply to every recipe

  • The final SELECT contains only user_id.
  • Only tables ending in _for_audiences (your own uploaded tables keep their names).
  • Rule-based audiences need at least 2,000 records; Amazon recommends 2,500 or more, otherwise creation can fail.
  • Lookalike seeds need at least 500 and at most 500,000 users.
  • Check the size first with a normal analytics query (COUNT(DISTINCT user_id) over the same logic).
  • Audiences land in DSP or sponsored ads: as targeting in DSP and Sponsored Display, as a bid boost in Sponsored Products and Sponsored Brands.

All fields of the tables used →

Retargeting

Cart abandoners

Why: Added an advertised product to the cart but did not buy: the group closest to purchase.

Activation: DSP targeting or Sponsored Display targeting; in SP/SB as a bid boost.

WITH carted AS (
  SELECT user_id
  FROM amazon_attributed_events_by_conversion_time_for_audiences
  WHERE add_to_cart > 0
  GROUP BY user_id
),
purchased AS (
  SELECT user_id
  FROM amazon_attributed_events_by_conversion_time_for_audiences
  WHERE purchases > 0
  GROUP BY user_id
)
SELECT c.user_id
FROM carted c
LEFT JOIN purchased p ON c.user_id = p.user_id
WHERE p.user_id IS NULL

Retargeting

Detail page viewers without purchase

Why: Viewed the product detail page after an ad exposure but did not buy.

Activation: DSP targeting or Sponsored Display targeting; in SP/SB as a bid boost.

WITH viewers AS (
  SELECT user_id
  FROM amazon_attributed_events_by_conversion_time_for_audiences
  WHERE detail_page_view > 0
  GROUP BY user_id
),
purchased AS (
  SELECT user_id
  FROM amazon_attributed_events_by_conversion_time_for_audiences
  WHERE purchases > 0
  GROUP BY user_id
)
SELECT v.user_id
FROM viewers v
LEFT JOIN purchased p ON v.user_id = p.user_id
WHERE p.user_id IS NULL

Retargeting

DSP-exposed non-buyers

Why: Saw a DSP impression but did not buy: for the second wave of a campaign.

Activation: DSP targeting.

WITH exposed AS (
  SELECT user_id
  FROM dsp_impressions_for_audiences
  GROUP BY user_id
),
purchased AS (
  SELECT user_id
  FROM amazon_attributed_events_by_conversion_time_for_audiences
  WHERE purchases > 0
  GROUP BY user_id
)
SELECT e.user_id
FROM exposed e
LEFT JOIN purchased p ON e.user_id = p.user_id
WHERE p.user_id IS NULL

Exclusion

Purchasers to exclude

Why: People who just bought do not need to be paid for again in acquisition campaigns.

Activation: As an exclusion audience in DSP campaigns.

SELECT user_id
FROM amazon_attributed_events_by_conversion_time_for_audiences
WHERE purchases > 0
GROUP BY user_id

Loyalty

New-to-brand buyers for a second purchase

Why: Bought from the brand for the first time in 12 months: the goal is the second purchase.

Activation: DSP targeting with a cross-sell creative.

SELECT user_id
FROM amazon_attributed_events_by_conversion_time_for_audiences
WHERE purchases > 0
  AND new_to_brand = true
GROUP BY user_id

Lookalike seed

Repeat buyers as a lookalike seed

Why: At least two purchases: a small, valuable group from which Amazon models similar users.

Activation: As the seed of a lookalike audience (500 to 500,000 users).

SELECT user_id
FROM amazon_attributed_events_by_conversion_time_for_audiences
WHERE purchases > 0
GROUP BY user_id
HAVING SUM(purchases) >= 2

Sources

Platform facts retrieved 2026-10-08.