Continuing the series of posts related to PostHog integrations, we have reached to Reddit ads as an advertising platform which in this guide, I’m going to explain how to integrate your PostHog conversion tracking with it. [If you’re looking for other platforms as well, see Google & Meta]

The goal is to maximize event match quality by utilizing the full set of customer data available in PostHog, maintaining the same level of precision and data completeness used in our Meta and Google integrations.

PostHog’s Destinations provide the infrastructure to stream your event data to external platforms in real time. The Reddit Conversions API destination is a native PostHog integration designed to send your conversion events directly to Reddit Ads.

Requirements

We assume PostHog is already installed and capturing the events you plan to send to Reddit Ads. If that is not yet the case, refer to the installation guides in our PostHog articles, or contact us to schedule a free consultation.

Where to begin

To begin, navigate to ‘Data management’ → ‘Destinations’. From there, locate and select ‘Reddit Conversions API’ to set up the required destination.

Similar to the Google Ads setup, Reddit Ads can typically be configured within a single destination by adding multiple mappings; one for each conversion action.

Connect Reddit ads account

At this step, connect your Reddit Ads account by entering the ‘Reddit Ads account ID’, which identifies the account associated with the conversion event, and the ‘Conversion Access Token’, generated within your Reddit Ads account to authorize the connection.

Common fields

User parameters (optional)

In this section, include all user parameters that are consistently available across your event data.

All parameters can be shared unhashed or pre-hashed. just to be sure, we make email address, first name, and last name normalized (converted to lowercase) and hashed using SHA-256 before being sent, following the same procedure used for Meta and Google integrations.

IP Address: This is typically mapped from {event.properties.$ip}. Make sure IP capture is enabled and that the value being sent represents the end user’s IP address, not your server’s IP.

In some third-party integrations (such as RevenueCat), the IP address may instead be available under {event.properties.subscriber_attributes.$ip}.

email: Email address. If you set this property you can catch it with this {sha256Hex(lower(person.properties.email))}

user_agent: Same as above, it will be {person.properties.$raw_user_agent}

external_id: a stable user identifier which in this example mapped from {person.properties.sb_user_id ?? event.properties.app_user_id}. Use this to pass your system’s internal user ID so events can be reliably associated with the same user across sessions and data sources.

Mappings

Here, configure the events that will act as triggers. PostHog provides a default mapping template that can serve as a starting point for any event you intend to send to Reddit Ads. You can modify this configuration by adding, removing, or editing the existing prefix mappings to match the specific events you want to transmit.

Here are the fields that you should fill in:

Match events and actions: Select the event that corresponds to your conversion action. For example, if you plan to use “AddToCart” which is a recommended conversion event for Reddit Ads, you should map it to a PostHog event such as “Product Added” or any event indicating that a user has added a product to their cart. you can add multiple events as well.

Event Type: Reddit supports eight standard events, but custom events can also be passed. You can create as many custom conversion events as you’d like.

The standard events supported by Reddit include:

Page Visit (PageVisit), View Content (ViewContent), Search (Search), Add To Cart (AddToCart), Add To Wishlist (AddToWishlist), Purchase (Purchase), Lead (Lead), and Sign Up (SignUp).

You can create a custom conversion event by setting EventName to Custom and assigning customEventName to a value that doesn’t match these pre-existing events.

Reddit Click ID (rdt_cid) (optional): The Reddit Click ID associated with the conversion. PostHog prefills this field with {person.properties.rdt_cid ?? person.properties.$initial_rdt_cid} but you should adjust it if your rdt_cid is stored under a different property name.

Event-specific fields:

Event parameters (optional):

In addition to the common parameters shared across all events, certain event types may require additional fields. Based on our experience, we will highlight the most relevant ones. For a comprehensive list of standard events and their supported parameters, refer to the Reddit documentation. After implementing the structure explained in this article, you can easily extend it by adding any additional parameters you need.

Value: The total monetary amount associated with the conversion event, expressed as a numeric value and allowing decimal precision. (e.g. {toFloat(event.properties.value ?? event.properties.revenue ?? event.properties.price)})
May come with Add To Cart, Add To Wishlist, Lead, Purchase, Sign Up and Custom events.

Currency: The currency code corresponding to the value provided for the conversion event. (e.g. {event.properties.currency})
May come with Add To Cart, Add To Wishlist, Lead, Purchase, Sign Up and Custom events.

Products: Include product-level details sourced directly from your catalog. These parameters are required when working with product ads or dynamic product ads. (e.g. {event.properties.products ? arrayMap(product -> ({'id': product.product_id, 'category': product.category, 'name': [product.name](<http://product.name/>)}), event.properties.products) : event.properties.product_id ? [{'id': event.properties.product_id, 'category': event.properties.category, 'name': [event.properties.name](<http://event.properties.name/>)}] : null})

(Required) Product ID: The unique identifier for the product, typically the SKU or GTIN. This value should represent the specific variant ID rather than the parent product ID. If the product does not have variants, pass the single ID assigned to that item.
May come with all conversion events

conversion_id: A unique identifier associated with a specific conversion event. Providing this parameter helps prevent duplicate counting when the same event is sent through multiple signal sources. each event should include its own unique value to ensure accurate attribution and maintain reliable campaign performance metrics. (e.g. {event.uuid})

Item Count: The total number of items included in the conversion event. This parameter represents the quantity of products associated with the transaction or action being tracked.
May come with Add To Cart, Add To Wishlist, Purchase and Custom events.

Last word

Once you have tested the destination and confirmed that no errors occur during testing, you can create and enable it. This completes the integration, allowing your conversion events to be sent directly to Reddit Ads.

Related blog posts

Leave a Reply

Your email address will not be published. Required fields are marked *