What Reddit is
Reddit sells attention inside communities, where a recommendation in a subreddit carries weight no ad unit can buy.
That is also why it measures badly by default: people read a thread, leave, and buy days later through a search.
Forward resolved conversions to the Reddit Conversions API, so a platform where the click and the purchase are often days apart still gets credited.
What Upstack sends
order_idShopify order and checkout tokenemail / phonecustomer contact from checkoutcustomer_idShopify customer record, if they have oneline_itemsproducts, variants and quantitiestotal / subtotal / discountorder economicsStorefront events from the Upstack Pixel, orders directly from Shopify.
customer_typeNew or returning, resolved before send.hashed email / phoneidentity matching on arrivalrdt_cidcredit the click that drove itexternal_idstable person across sessionsconversion_iddedupe against the browser pixelvalue / currencyvalue-based biddingConversions API for a community-led audience.
See the set-up reference See all 12 sources How resolution works
About Reddit
A thread read on a phone and an order placed on a desktop a week later become one person, which is the difference between Reddit looking unprofitable and Reddit looking like the acquisition channel it is.
Reddit sells attention inside communities, where a recommendation in a subreddit carries weight no ad unit can buy.
That is also why it measures badly by default: people read a thread, leave, and buy days later through a search.
Reddit runs a browser pixel and a Conversions API, with attribution windows that assume the click and the purchase sit close together. On a platform where the purchase is a considered decision made later and elsewhere, that assumption discards most of the credit.
What you can do with it
01
Conversions reach Reddit through its server-side API with restored click IDs and hashed identifiers attached, so more of what you send is matched on arrival, and the conversions you never saw stop being invisible.
02
Map any order attribute to the conversion Reddit receives (profit rather than revenue, new customers rather than repeat buyers, high-value orders rather than every checkout), so the platform learns from the buyers worth acquiring.
03
Because the buyer is resolved before the event is sent, a purchase days later on another device still lands against the Reddit click that started it.
How it works
Upstack runs a dual-tracking layer for Reddit: the pixel captures events, and Upstack sends them to Reddit’s Conversions API with identity data and a shared conversion_id.
PageView is sent as PageVisit, and ViewContent, AddToCart and Purchase keep their names, with products, value, currency and transactionId. InitiateCheckout is a standard event in the browser pixel and a custom event named InitiateCheckout server-side, never mapped to Purchase.
Every event carries the strongest keys available: hashed email and phone, external_id, the rdt_cid click ID, user agent and IP address. Personal data is hashed with SHA-256 before it leaves Upstack.
Browser + Server is the default: Upstack loads the Reddit Pixel and sends the same events server-side with a shared conversion_id, and Reddit keeps one copy as long as the Pixel IDs match.
Reddit receives nc_purchase, rc_purchase, all_purchase and lapsed_purchase as custom events by default. An upsell_purchase mapping exists but is off by default.
Event Match Quality updates gradually, with the biggest gain on Purchase, where checkout supplies email, phone and address. Conversion volume may fluctuate during the first 48 hours while Reddit’s deduplication adjusts.
Reddit has no Shopify sales channel, so its pixels are installed through Customer Events, theme.liquid, apps or Google Tag Manager. Those are the places to check for duplicates.
| Upstack event | Sent as | Data on the event |
|---|---|---|
| PageView | PageVisit | URL, referrer, user agent |
| ViewContent | ViewContent | products, value, currency |
| AddToCart | AddToCart | products, value, currency |
| InitiateCheckout | InitiateCheckout (custom event server-side) | value, currency, itemCount |
| Purchase | Purchase | value, currency, transactionId, products |
Setup
Step 1
In Reddit Ads Manager, open Ads, Events Manager and copy the Pixel ID shown below Events Overview.
Step 2
In Events Manager, open the Conversions API tab, click Generate Access Token, give it a name such as Upstack Data, and copy it straight away.
Step 3
In Upstack, open Destinations, click New Destination, choose Reddit Ads, enter the Pixel ID and access token and save.
Step 4
Look in Customer Events, theme files (search for rdt( and redditstatic), apps and Google Tag Manager, and make sure only one Reddit pixel fires per event.
Check it
Pre-built connectors
Documentation
Set-up, event schema and field mapping for Reddit as a destination.
FAQ
Page visits, product views, add-to-carts, checkouts and purchases through Reddit’s Conversions API, with hashed email and phone, external_id, the rdt_cid click ID, user agent and IP address, plus new and returning customer purchase events.
The browser pixel loses events to ad blockers, Safari ITP and cross-device journeys. Reddit officially recommends running the pixel and the Conversions API together.
No. Upstack sends a shared conversion_id with each server event, and Reddit drops the matching browser event, as long as the Pixel IDs match.
Not if it uses the same Pixel ID as Upstack. If you have several Reddit pixels installed, a common cause of inflated numbers, consolidate them to one.
A score in Reddit Ads Manager for how reliably Reddit can match an event to a Reddit user. It is shown for each event type in Events Manager.
No. Rotate it only if it was compromised or revoked, when consolidating accounts, or when the destination turns Unhealthy with an auth error.
All plans. Upstack has three plans that scale with your order volume, and the same integrations are on every plan.
Guides
Background reading for the Reddit integration, and the Upstack pages that go with it.
Similar integrations
Microsoft Ads UET conversions with restored identifiers.
X Conversions API, deduplicated server-side.
AppLovin Browser delivery through the Axon Pixel.
Outbrain Native conversions with the click restored.
Taboola Native conversions, server-side.
MGID Native conversions with identifiers attached.
Amazon Conversions for Amazon DSP and Sponsored Ads. Coming soon A 15-minute walkthrough tailored to your stack and channels.