Reddit Ads
What Is Reddit Ads?
Reddit is a popular social media platform where users can engage in discussions, share content, and participate in communities called subreddits. Reddit ads are a form of native advertising that blends into the platform's feed, appearing as promoted posts. These ads can include text, images, videos, or a combination, and are often targeted based on user interests and subreddits they frequent. Advertisers can choose between different formats like banner ads, video ads, and carousel ads, allowing for diverse creative strategies. The interactive nature of Reddit encourages user engagement, making it a unique platform for brands to foster community-driven discussions and feedback. Additionally, Reddit's ad platform provides robust analytics to track performance and optimize campaigns.
Product Type: Advertising
Integration Type: Starter Kit & ID Sync
Event Source Type: Web and/or Mobile Browser
Event Scope: Conversion Events Only
Capabilities
- Sends server-side conversion events directly to Reddit’s Conversions API (v3).
- Includes enrichment for device and context data (IP, user agent, external ID).
- Allows for hashed PII matching using SHA256 (email and phone number).
- Captures and attributes conversions using Reddit Click ID (
rdt_cid) from synced identifiers.
Considerations
- If you're migrating from v2 to v3 of the API, please see Reddit’s CAPI Migration Guide for detailed migration instructions.
- Each conversion event must include at least one attribution signal (for example: click_id, email, external_id, or a combination of ip_address + user_agent).
- Hashed identifiers must use SHA256 and be lowercase to meet Reddit’s API requirements.
- The Reddit Click ID (
rdt_cid) is captured via a required ID sync; without it, click-based attribution will not occur. - Reddit’s Conversions API supports up to 500 events per batch request.
Identity Sync
- Sync Available: Yes
- Required for Starter Kit: Yes
- Prerequisites: Requires
rdt_cid(Reddit Click ID) captured from URL parameters - Documentation: See Reddit Ads Sync Documentation
Sync Details
- Captures the Reddit Click ID (
rdt_cid) from landing page URLs. - Required to link conversion events to Reddit ad interactions.
- Stores the identifier in first-party storage for up to 30 days by default.
Starter Kit Setup Guide
1. Deploy the Reddit Ads Sync
- To collect the Reddit Click ID (
rdt_cid), you must implement a Reddit Ads ID Sync. - Refer to the Reddit – ID Sync Guide to complete the setup.
- This sync enables conversion attribution between Reddit ad clicks and server-side events.
- The synced
rdt_cidvalue is stored in first-party storage for up to 30 days by default.
2. Gather Credentials
- Pixel ID: You can find your Reddit Pixel ID in the Reddit Ads Manager under Events Manager → Events Overview.
- Access Token: See Authentication for details.
- The access token must be valid and associated with the same advertiser account as your Pixel ID.
3. Add a Reddit Ads Integration
- From the integration library, add a Reddit Ads integration.
- Then, fill out the following Connection Parameters:
| Connection Parameter | Description |
|---|---|
PIXEL_ID | Unique Reddit Pixel ID tied to your advertiser account. |
ACCESS_TOKEN | Access token used to authenticate API requests. |
4. Configure Event Mapping
- MetaRouter provides all of the event mappings that Reddit Ads integrations typically require.
- You may add custom events, parameters, or mappings in accordance with Reddit’s Conversion API documentation.
5. Deploy to Pipeline
- In the Pipelines tab, add your Reddit Ads integration.
- Select the correct integration revision.
- Click Add Integration to finalize deployment.
Event Mappings
Global
Global mappings will be applied to all events. If your parameter names do not match the Expected Inputs provided, you will need to overwrite the Inputs provided with your own.
| Output Key | Description | Expected Input |
|---|---|---|
metadata.conversion_id Required | String: Unique identifier for the conversion event. | messageId |
click_id Required | String: Reddit Click ID for attribution. | context.providers.redditAds.rdt_cid |
event_at Required | Integer: Event timestamp in milliseconds since epoch. | Expression – converts from input.timestamp |
user.ip_address Required | String: IP address of the user. | context.ip |
user.user_agent Required | String: User’s browser or app user agent. | context.userAgent |
action_source | String: Source of the event (APP or WEBSITE). | Expression – detects from context.device |
user.external_id | String: External identifier used for cross-system matching. | anonymousId |
user.email | String: SHA256-hashed email address. | Expression – hashes traits.email |
user.phone_number | String: User’s phone number in E.164 format. | Expression – traits.phone |
Event Specific
Page
| Output Key | Description | Expected Input |
|---|---|---|
type.tracking_type Required | String: Type of tracking event. | Enrichment – PAGE_VISIT |
Products Searched
| Output Key | Description | Expected Input |
|---|---|---|
type.tracking_type Required | String: Type of tracking event. | Enrichment – SEARCH |
Product List Viewed
| Output Key | Description | Expected Input |
|---|---|---|
type.tracking_type Required | String: Type of tracking event. | Enrichment – CUSTOM |
type.custom_event_name | String: Name of the custom event. | event |
metadata.item_count | Integer: Number of items included in the list. | Expression – sums properties.products.quantity |
metadata.products | Array: Product details including ID, name, and category. | Expression – maps from properties.products |
Product Viewed
| Output Key | Description | Expected Input |
|---|---|---|
type.tracking_type Required | String: Type of tracking event. | Enrichment – VIEW_CONTENT |
metadata.products | Array: Details of the viewed product. | Expression – maps from properties fields |
Product Added
| Output Key | Description | Expected Input |
|---|---|---|
type.tracking_type Required | String: Type of tracking event. | Enrichment – ADD_TO_CART |
metadata.currency | String: Currency code for the transaction (default USD). | properties.currency |
metadata.item_count | Integer: Quantity of items added to cart. | properties.quantity |
metadata.products | Array: Product details including ID, name, and category. | Expression – maps from properties fields |
metadata.value | Decimal: Total cart value. | Expression – calculates from properties |
Cart Viewed
| Output Key | Description | Expected Input |
|---|---|---|
type.tracking_type Required | String: Type of tracking event. | Enrichment – CUSTOM |
type.custom_event_name | String: Name of the custom event. | event |
metadata.currency | String: Currency code for the cart (default USD). | properties.currency |
metadata.item_count | Integer: Number of products in the cart. | Expression – sums properties.products.quantity |
metadata.products | Array: Details of products in the cart. | Expression – maps from properties.products |
metadata.value | Decimal: Total cart value. | Expression – sums product prices |
Order Completed
| Output Key | Description | Expected Input |
|---|---|---|
type.tracking_type Required | String: Type of tracking event. | Enrichment – PURCHASE |
metadata.currency | String: Currency code for the order (default USD). | properties.currency |
metadata.item_count | Integer: Number of products in the order. | Expression – sums properties.products.quantity |
metadata.products | Array: Details of purchased products. | Expression – maps from properties.products |
metadata.value | Decimal: Total order value. | Expression – sums product prices |
Required & Recommended Identifiers
These identifiers must be mapped to Reddit Ads in order for successful user matching to occur. Without these IDs, any events sent to Reddit Ads may not be accurately reflected in reporting.
| Attribute | Example | Sync Injector Required? |
|---|---|---|
metadata.conversion_id Required | conv_123456789 | No |
click_id Required | t2_abcde12345 | Yes |
event_at Required | 1729873200000 | No |
user.ip_address Required | 192.168.1.1 | No |
user.user_agent Required | Mozilla/5.0 (Windows NT 10.0; Win64; x64) | No |
user.email Recommended | SHA256 Hash (Lowercase): c624921e8d93d491b8b47cb1129d8d9d90b9b9a6e10a8db526b22a709cc0e280 | No |
user.phone_number Recommended | E.164 Format: +16505551212 | No |
user.external_id Recommended | user_987654321 | No |
Each conversion event must include at least one attribution signal (for example: click_id, user.email, user.external_id, or a combination of user.ip_address and user.user_agent) to ensure proper attribution.
Integration Validation
To verify your Reddit Ads integration:
- In Reddit Ads Manager, navigate to Events → Events Overview.
- Locate your Pixel ID and confirm that events appear in the Raw events table.
- Under the Source column, verify that events are listed as CAPI Direct.
- Select an event (for example, Add To Cart or Purchase) to open the event details panel.
- In the Event metadata tab, confirm that key parameters such as Item Count, Currency, Value, and Product ID are being received with 100% coverage and validity.
- The Status column should display Healthy when Reddit successfully receives event data.
- If events do not appear or display warnings, contact your Reddit account representative for assistance reviewing your Conversions API setup.
Additional Reddit Ads Documentation
Updated 3 days ago