Keitaro Reddit Integration: Tracker Postbacks Into the Conversions API
Keitaro Reddit integration is the wiring that turns tracker postbacks into Reddit Conversions API events: Keitaro records the conversion on its side, and a delivery layer formats the v3 payload Reddit accepts. The tracker's job is identity - it knows which ad click produced which conversion - and that identity lives in rdt_cid, captured at click time and carried through the funnel. Reddit's job is the shape: a v3 endpoint, specific fields, and deduplication rules that punish improvised identifiers.
Register Reddit as a Traffic Source and Capture rdt_cid
Keitaro's traffic source mechanism lets you define custom sources with their own URL parameters: the parameters you declare are parsed from the landing URL and stored against the click. For Reddit, the parameter that matters is rdt_cid - appended by Reddit at ad click time. Declaring it in a custom Reddit traffic source means every click arriving from Reddit ads carries its click identifier into Keitaro's database, attached to the campaign, offer, and sub-id buckets the tracker already maintains.
The generic source-registration flow - name, parameters, postback URL - is documented in Keitaro's guide to adding a traffic source. Nothing Reddit-specific is required at this stage except the parameter name; the platform handshake happens later, in the delivery layer.
The S2S Postback: Identity Out of the Tracker
Conversions enter Keitaro from the affiliate network's postback, and leave it through Keitaro's S2S postback mechanism: a URL template, fired per conversion, with macros substituted at send time - the click's sub_id, the transaction ID, the payout, the status. This postback is where the Reddit-bound conversion gets its identity package: the rdt_cid stored at click time travels out alongside the tracker's own identifiers.
Two macros do the heavy lifting for Reddit's sake. The click identifier needs to reach the delivery layer exactly as Reddit captured it, so the postback template includes the stored rdt_cid value; the conversion needs a stable identifier for deduplication, so the tracker's transaction or sub-ID value becomes the conversion_id Reddit will match on - Reddit's guidance is a unique value per distinct conversion, identical on every channel reporting it.
Delivering the v3 Payload
| Reddit v3 field | Source from the Keitaro pipeline |
|---|---|
click_id | The stored rdt_cid from the click record - the identifier's whole journey is covered in rdt_cid tracking |
metadata.conversion_id | The tracker's transaction identifier (unique per conversion) |
metadata.value, metadata.currency | The postback's payout, in the campaign's currency |
type.tracking_type | Mapped from the postback status: sale to PURCHASE, lead to LEAD |
event_at | Send time - Reddit accepts events up to seven days after the conversion |
| Endpoint auth | Pixel ID in the URL path, conversion access token as the bearer header |
The endpoint is https://ads-api.reddit.com/api/v3/pixels/<pixel_id>/conversion_events; the payload rules - batching caps, the seven-day window, dedup priority for richer events - are the ones documented in Reddit conversion events. When responses come back, the error families are mechanical: Reddit Conversions API errors maps each code to its fix, including the 429 backoff behavior that a batching postback pipeline must respect.
The same division of labor - tracker keeps identity, delivery layer keeps the API shape - is what MOST automates for Keitaro funnels across Reddit, Meta, TikTok, Pinterest, and Snapchat; the Meta-side wiring pattern is documented in the Keitaro Facebook CAPI integration. For single manual tests, Pixel Activator sends valid Reddit events without a pipeline, and the credentials come from Reddit Conversions API setup. The cluster overview is in the complete guide.
