Reddit Ads

Sync customer lists to Reddit Ads as Custom Audiences for targeted advertising. Upload hashed email addresses and mobile advertiser IDs to reach your customers on Reddit.

Prerequisites

  • A Reddit Ads account with API access
  • Your Reddit Ads Account ID (found in the Reddit Ads dashboard URL)
  • OAuth app credentials or a valid access token with adsread and adsedit scopes
  • Reddit must allowlist your account for the Custom Audience API

Permissions

Your Reddit Ads credentials must have the following OAuth scopes:

ScopePurpose
adsreadRead ad account and audience data
adseditCreate and modify custom audiences

Authentication

Reddit Ads supports two authentication methods.

  1. Navigate to Destinations in the left sidebar
  2. Click Add Destination and select Reddit Ads
  3. Choose Reddit OAuth 2.0 as the authentication method
  4. Click Connect with OAuth
  5. Sign in with your Reddit account and authorize the requested permissions
  6. Zeotap automatically manages token refresh

Access Token

  1. Generate an access token from the Reddit developer portal with adsread and adsedit scopes
  2. Navigate to Destinations in the left sidebar
  3. Click Add Destination and select Reddit Ads
  4. Choose Access Token as the authentication method
  5. Paste your access token into the Access Token field
  6. Click Save

Configuration

FieldTypeRequiredDescription
Account IDTextYesYour Reddit Ads account ID. Found in the Reddit Ads dashboard URL. Example: t2_abc123

Target Settings

FieldTypeRequiredDescription
Audience NameTextYesName for the Custom Audience to create or update
Audience IDTextNoExisting Custom Audience ID. Leave blank to create a new audience automatically.

Supported Operations

Sync Modes

This destination is audience-only and does not support standard data sync modes.

Audience Sync Modes

ModeSupportedDescription
AddYesAdd users to the Custom Audience
RemoveYesRemove users from the Custom Audience
MirrorYesFull sync — adds new users and removes users no longer in the source
UpsertYesAdd users idempotently (same as Add for audience lists)

Features

  • Field Mapping: Yes
  • Schema Introspection: No

Required Mapping Fields

FieldDescriptionAlternatives
emailPrimary match key for Custom Audiences. Automatically hashed with SHA-256 before upload.hashed_email, maid

At least one identifier (email or MAID) is required per row.

Default Destination Fields

FieldLabelType
emailEmailstring
hashed_emailEmail — SHA-256 hex of lowercase trimmed emailstring
maidMobile Advertiser ID (IDFA/GAID)string
hashed_maidMAID — SHA-256 hex of mobile advertiser IDstring

How It Works

  1. Identifier extraction: Zeotap extracts email addresses and/or mobile advertiser IDs from each row
  2. Hashing: Values are normalized (lowercase, trimmed) and SHA-256 hashed before upload
  3. Audience creation: If no Audience ID is provided, Zeotap creates a new Custom Audience via the Reddit Ads API
  4. Batched upload: Hashed identifiers are uploaded in batches of up to 10,000 users per request
  5. Add/Remove: For mirror syncs, users no longer in the source are removed via separate API calls

Technical Details

  • Batch size: Up to 10,000 users per request
  • Identifier types: EMAIL_SHA256, MAID_SHA256

Rate Limits

Reddit Ads API enforces rate limits. Zeotap handles 429 Too Many Requests responses with automatic retry and exponential backoff.

Best Practices

  • Use email as the primary identifier — email match rates are typically higher than MAID on Reddit
  • Pre-hash data if possible — map to hashed_email or hashed_maid fields if your data is already SHA-256 hashed to avoid double-hashing
  • Use Mirror mode for full audience syncs — ensures users removed from your source are also removed from the Reddit audience
  • Allow processing time — Reddit may take up to 24 hours to fully process audience uploads before they are available for targeting
  • Minimum audience size — Reddit requires a minimum number of matched users before the audience becomes available for ad targeting

Troubleshooting

Authentication failed: invalid or expired token

Your access token may have expired. If using OAuth 2.0, reconnect the destination to refresh your credentials. If using a manual access token, generate a new one from the Reddit developer portal.

Account ID not found

Verify your Account ID is correct. You can find it in the URL of your Reddit Ads dashboard (e.g., https://ads.reddit.com/accounts/t2_abc123).

Permission denied (403)

Ensure your OAuth app or access token has both adsread and adsedit scopes. Contact Reddit Ads support if your account needs to be allowlisted for the Custom Audience API.

Audience not populating

Reddit requires a minimum number of matched users before the audience becomes available for ad targeting. Processing can take up to 24 hours. Verify that your uploaded identifiers are correctly hashed.

Rate limited (429 errors)

Zeotap automatically retries rate-limited requests with backoff. If you consistently hit rate limits, reduce your sync frequency or batch size. Contact Reddit Ads support to request higher rate limits.

Low match rates

Ensure email addresses are properly normalized (lowercase, trimmed) before hashing. Reddit matches against its own user database, so match rates depend on overlap between your customer list and Reddit’s user base. Using both email and MAID identifiers can improve match rates.