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
adsreadandadseditscopes - Reddit must allowlist your account for the Custom Audience API
Permissions
Your Reddit Ads credentials must have the following OAuth scopes:
| Scope | Purpose |
|---|---|
adsread | Read ad account and audience data |
adsedit | Create and modify custom audiences |
Authentication
Reddit Ads supports two authentication methods.
OAuth 2.0 (Recommended)
- Navigate to Destinations in the left sidebar
- Click Add Destination and select Reddit Ads
- Choose Reddit OAuth 2.0 as the authentication method
- Click Connect with OAuth
- Sign in with your Reddit account and authorize the requested permissions
- Zeotap automatically manages token refresh
Access Token
- Generate an access token from the Reddit developer portal with
adsreadandadseditscopes - Navigate to Destinations in the left sidebar
- Click Add Destination and select Reddit Ads
- Choose Access Token as the authentication method
- Paste your access token into the Access Token field
- Click Save
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Account ID | Text | Yes | Your Reddit Ads account ID. Found in the Reddit Ads dashboard URL. Example: t2_abc123 |
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Audience Name | Text | Yes | Name for the Custom Audience to create or update |
| Audience ID | Text | No | Existing 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
| Mode | Supported | Description |
|---|---|---|
| Add | Yes | Add users to the Custom Audience |
| Remove | Yes | Remove users from the Custom Audience |
| Mirror | Yes | Full sync — adds new users and removes users no longer in the source |
| Upsert | Yes | Add users idempotently (same as Add for audience lists) |
Features
- Field Mapping: Yes
- Schema Introspection: No
Required Mapping Fields
| Field | Description | Alternatives |
|---|---|---|
email | Primary 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
| Field | Label | Type |
|---|---|---|
email | string | |
hashed_email | Email — SHA-256 hex of lowercase trimmed email | string |
maid | Mobile Advertiser ID (IDFA/GAID) | string |
hashed_maid | MAID — SHA-256 hex of mobile advertiser ID | string |
How It Works
- Identifier extraction: Zeotap extracts email addresses and/or mobile advertiser IDs from each row
- Hashing: Values are normalized (lowercase, trimmed) and SHA-256 hashed before upload
- Audience creation: If no Audience ID is provided, Zeotap creates a new Custom Audience via the Reddit Ads API
- Batched upload: Hashed identifiers are uploaded in batches of up to 10,000 users per request
- 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_emailorhashed_maidfields 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.