Skip to main content

Reddit Conversions API

Server Source code Package Beta

Server-side event delivery to Reddit's Conversions API v2.0 for enhanced conversion tracking, bypassing browser limitations and improving match quality for ad optimization.

Where this fits

Reddit Conversions API is a server destination in the walkerOS flow:

Sends events server-side to Reddit's Conversions API using raw HTTP (no SDK). Identity fields (`email`, `external_id`, `ip_address`, `user_agent`, `idfa`, `aaid`) are SHA-256 hashed before sending. Events include a stable `event_metadata.conversion_id` for deduplication with the Reddit Pixel.

Installation

Loading...
Loading...

Configuration

This destination uses the standard destination config wrapper (consent, data, env, id, ...). For the shared fields see destination configuration. Package-specific fields live under config.settings and are listed below.

Settings

PropertyTypeDescriptionMore
accessToken*stringReddit Conversion Access Token for Bearer authentication
pixelId*stringReddit Pixel ID used as the API path parameter
action_sourceSource of the event (WEBSITE, APP, PHYSICAL_STORE)
doNotHashArray<string>Array of user fields that should not be hashed
test_modebooleanEnable test mode by sending test_mode: true in the request body
urlstringCustom URL for Reddit Conversions API endpoint
user_dataRecord<string, string>Mapping configuration for user fields
* Required fields

Mapping

Per-event rules under config.mapping. For the standard rule fields (consent, condition, data, batch, name, policy) see mapping.

PropertyTypeDescriptionMore

Examples

add to cart

Event
Mapping
Out

lead

Event
Mapping
Out

page visit

Event
Mapping
Out

purchase

Event
Mapping
Out

search

Event
Mapping
Out

sign up

Event
Mapping
Out

Event mapping

Reddit uses a rigid taxonomy. Map walkerOS events to a standard tracking_type via each rule's name field:

walkerOS EventReddit tracking_type
page viewPageVisit
product viewViewContent
site searchSearch
product addAddToCart
product wishlistAddToWishlist
order completePurchase
form submitLead
user signupSignUp

Any non-standard name becomes { tracking_type: 'Custom', custom_event_name: '<name>' } automatically. Reddit's AI optimization is trained on the standard events, so prefer them when possible.

Loading...

event_metadata structure

Unlike Meta's CAPI (which uses custom_data) and Pinterest (which also uses custom_data), Reddit places conversion details under event_metadata. Always map into event_metadata.map. Products belong in event_metadata.products[] with { id, name?, category }.

Payload envelope

Reddit wraps events inside { data: { events: [...] } } (nested), unlike Meta/Pinterest's flat { data: [...] }. The destination handles this automatically.

Hashing

The destination automatically SHA-256 hashes the 6 standard identity fields before sending: email, external_id, ip_address, user_agent, idfa, aaid. Pass raw values and hashing is handled for you.

Different from Meta/Pinterest

Reddit hashes ip_address and user_agent, which Meta CAPI and Pinterest CAPI pass through as plaintext. Be sure to pass the raw values, not pre-hashed ones, unless you use doNotHash.

Non-hashable fields pass through as-is: uuid, opt_out, screen_dimensions, data_processing_options.

If a value is already hashed or you want to skip hashing for a specific field, use doNotHash:

Loading...

Deduplication

Each event is sent with event_metadata.conversion_id set to the walkerOS event id. If you also run the Reddit Pixel in the browser, Reddit deduplicates server and browser events that share the same conversion_id, so conversions are not double-counted.

Test mode

Set test_mode: true in settings to send "test_mode": true as a top-level boolean in the request body (not a query parameter, unlike Pinterest). Useful during development.

Loading...
💡 Need implementation support?
elbwalker offers hands-on support: setup review, measurement planning, destination mapping, and live troubleshooting. Book a 2-hour session (€399)