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
- 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.
- 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.
- 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
- 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.
- 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_cid value is stored in first-party storage for up to 30 days by default.
- 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.
- 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. |
- 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.
- In the Pipelines tab, add your Reddit Ads integration.
- Select the correct integration revision.
- Click Add Integration to finalize deployment.
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 |
| Output Key | Description | Expected Input |
|---|
type.tracking_type Required | String: Type of tracking event. | Enrichment – PAGE_VISIT |
| Output Key | Description | Expected Input |
|---|
type.tracking_type Required | String: Type of tracking event. | Enrichment – SEARCH |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
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.
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.
Reddit Conversion API
OAuth2