Reddit Conversions API
Reddit Conversions API is Reddit's server-side conversion endpoint. This destination sends events to Reddit from Chord's servers rather than the browser, so measurement is unaffected by ad blockers and browser tracking restrictions. For browser-side tracking and click-ID capture, see the Reddit Pixel destination.
This destination uses Conversions API v3.
Getting Started
You will need:
- Pixel ID — the identifier for your Reddit pixel, found in the Reddit Ads dashboard under Events Manager. It starts with t2_. Use the same Pixel ID as your Reddit Pixel destination.
- Conversion Token — generate it in the Reddit Ads dashboard under Events Manager > Conversions API. Treat it as a secret.
Connecting to the Reddit Conversions API CDP Destination
- Log into the Chord data platform.
- Navigate to the CDP.
- Click the "Add" button next to Destinations.
- Select Reddit Conversions API from the destination catalog.
- Enter the destination name, your Pixel ID, and your Conversion Token.
- Optionally enter a Test ID to route events to Reddit's test view instead of production reporting.
- Click "Create" to connect.
Using Alongside the Reddit Pixel Destination
Reddit recommends running the pixel and the Conversions API together, and this destination is built for that. The pixel supplies browser context and the Reddit click ID; the Conversions API reports conversions that never reach the browser or are blocked there.
Configure both destinations with the same Pixel ID. Chord sends each event's unique message ID as the deduplication key on both surfaces, and Reddit deduplicates on the combination of that key and the event name. Running both does not double-count conversions, and no extra configuration is required.
Deduplication
Every event this destination sends carries Chord's unique message ID for that event in metadata.conversion_id. The Reddit Pixel destination sends the same value in its conversionId field, which is what lets the two run together safely.
This matters if you send events to Reddit from anywhere else as well — your own pixel, another tool, or a platform app. Reddit deduplicates on the combination of the conversion ID and the event name, so to deduplicate against Chord's events you must send the same conversion ID for the same underlying action. If you cannot, expect Reddit to count those conversions twice.
Event Mapping
Chord Event | Reddit Event |
|---|---|
page | PAGE_VISIT |
Product Viewed | VIEW_CONTENT |
Products Searched | SEARCH |
Product Added | ADD_TO_CART |
Product Added to Wishlist | ADD_TO_WISHLIST |
Order Completed | PURCHASE |
Email Captured | LEAD |
Signed Up | SIGN_UP |
Event types other than page and track — identify, group, screen — are not sent. Reddit has no equivalent endpoint for them; identity travels on the events themselves.
Identity and Matching
Every event carries whatever identifiers are available, which is what determines how much of your Reddit spend can be attributed. Reddit requires at least one.
Identifier | Source | Sent as |
|---|---|---|
Event traits or properties | SHA-256 hash | |
Customer ID | userId | SHA-256 hash |
Phone number | Event traits or properties | SHA-256 hash, normalized to E.164 |
IP address | Request IP | SHA-256 hash |
User agent | Event context | Plain text |
Reddit click ID | rdt_cid from the landing-page URL, or an rdt_cid / click_id property | Plain text |
Mobile advertising ID | Device context | SHA-256 hash, sent as aaid or idfa by platform |
All personal data is hashed before it leaves Chord. Values that carry no matching signal — n/a, unknown, null, phone numbers that are too short or all one digit — are dropped rather than hashed, because a hash of a placeholder becomes a permanent false match.
The Reddit click ID is the strongest signal. It is set on the landing-page URL when someone clicks a Reddit ad, and the Reddit Pixel destination stores it in first-party storage for up to 30 days. Running the pixel alongside this destination therefore improves server-side attribution as well.
Purchase Events
Order Completed sends Reddit's PURCHASE event with the order value, currency, item count, and a product list carrying each line item's ID, name, category, quantity, and unit price.
Currency values are sent as decimal amounts — 149.50 means $149.50.
Limited Data Use
Reddit supports Limited Data Use (LDU) for privacy-restricted regions. Chord forwards it only when the storefront explicitly asks for it, by including modes: ["LDU"] on the event — optionally with a country and region. LDU is never inferred, because applying it silently would restrict processing for every event.
Test Mode
Setting a Test ID attributes events to that Reddit test instead of production reporting, so an integration can be verified without polluting campaign data. Leave it empty for live traffic. Test mode is a per-destination setting, so use a separate destination for testing rather than switching one back and forth.
Click Attribution
Reddit appends its click identifier, rdt_cid, to the ad's landing-page URL. It appears there and nowhere else — a visitor who lands on /product?rdt_cid=... and buys three pages later has no click id in the URL by the time the purchase happens.
Chord persists the value when the landing page is tracked and attaches it to every later event in the session, so a conversion reported minutes or days after the click still carries the click id Reddit needs to attribute it. The stored value lasts 30 days and is cleared after a completed order.
Nothing is required of you for this to work beyond tracking the landing page. If the ClickID row in Reddit's match key coverage reads 0%, the usual explanation is simply that the traffic did not come from a Reddit ad — organic and direct visits have no click id to capture.
Gotchas
Revenue metadata is only sent on revenue events. Reddit validates event metadata per event type, marks value, currency and item count as applying to revenue-related events only, and reports anything else as "Unsupported metadata" in Events Manager. Product Viewed is not a revenue event, so Chord sends product details and the deduplication ID but no value, currency or item count. This matches the Reddit Pixel destination exactly — the two surfaces have to agree, or the same conversion reports differently depending on which one Reddit kept.
Reddit's event set is fixed. Reddit recognizes only the eight standard events in the mapping table above. Chord events with no Reddit equivalent — Checkout Started, Product Removed, Order Refunded — are not sent, and the reason is recorded in the destination's logs. Reddit does support a CUSTOM event type, but a custom event is discarded unless its name is registered in your Reddit account first, so Chord does not send one. This matches the Reddit Pixel destination's behaviour: what the pixel skips, the Conversions API skips too.
Refunds are not reported. Reddit has no refund event on either surface.
Search terms are not sent. Reddit's SEARCH event takes no query parameter.
Failures are retried only when retrying can help. Rate limits and Reddit server errors are retried. A rejected payload or a bad credential is not — those would fail identically on a second attempt, and the error is recorded in the destination's logs instead.
Both credentials are required. A missing Pixel ID or Conversion Token fails the event with an explicit error rather than silently dropping it.
Updated 1 September 2026