Skip to main content
Upstack Data

Reddit integration: identity-resolved conversions, sent server-side

Forward resolved conversions to the Reddit Conversions API, so a platform where the click and the purchase are often days apart still gets credited.

Role
Destination
Category
Ad platforms
Pre-built connectors
12 sources
Plans
All plans

What Upstack sends

Every conversion reaches Reddit with the identifiers it matches on. Captured on the server, resolved to a person, then sent.

In: from Shopify1 of 12 sources
  • order_idShopify order and checkout token
  • email / phonecustomer contact from checkout
  • customer_idShopify customer record, if they have one
  • line_itemsproducts, variants and quantities
  • total / subtotal / discountorder economics

Storefront events from the Upstack Pixel, orders directly from Shopify.

Upstack DataResolved before it is sent
  • IdentityMatched against a 750M+ device graph, so a phone browse and a desktop checkout resolve to one customer.
  • customer_typeNew or returning, resolved before send.
  • DeduplicationBrowser and server copies of the same purchase collapse on event ID, so nothing is counted twice.
  • Bot and fraud filteringAutomated traffic never reaches the model, because what you keep out of the training set matters as much as what goes in.
Out: to RedditOn every event
  • hashed email / phoneidentity matching on arrival
  • rdt_cidcredit the click that drove it
  • external_idstable person across sessions
  • conversion_iddedupe against the browser pixel
  • value / currencyvalue-based bidding

Conversions API for a community-led audience.

About Reddit

Upstack sends the conversion from the server with the Reddit click ID restored and hashed identifiers attached, resolving the buyer against the device graph first.

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.

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.

How Reddit works

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

Three jobs this connector does inside Reddit.

01

Send complete conversions

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

Optimize on the customer you want

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

Credit for the delayed purchase

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

How the Reddit Conversions API integration 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.

Standard events

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.

Match keys on every event

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.

Deduplication on conversion_id

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.

New and returning customers

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.

What to expect

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.

No Shopify sales channel

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.

Events and the data they carry

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

Set up the Reddit Conversions API integration.

What you need

  • Admin access to a Reddit Ads account with a Reddit Pixel.
  • The Pixel ID, typically prefixed with t2_. It is the same value as your Reddit Account ID.
  • A Conversions API access token. Reddit’s token doesn’t expire.
Complete Reddit onboarding guide
  1. Step 1

    Find the Pixel ID

    In Reddit Ads Manager, open Ads, Events Manager and copy the Pixel ID shown below Events Overview.

  2. Step 2

    Generate the access token

    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.

  3. Step 3

    Add the Reddit destination

    In Upstack, open Destinations, click New Destination, choose Reddit Ads, enter the Pixel ID and access token and save.

  4. Step 4

    Check for duplicate pixels

    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

How to verify it’s working, and common fixes.

How to verify it’s working

  • Upstack’s Destinations page shows Reddit as Healthy, with delivery status and EMQ in the destination settings.
  • In Reddit Events Manager, the Overview tab shows a Server badge on Conversions API events, a Browser badge on pixel events and an EMQ score for each event type.
  • The Reddit Pixel Helper shows exactly one pixel per event.

Common problems and fixes

The destination is Unhealthy.
Check that the Pixel ID starts with t2_ and has no spaces, that the token isn’t truncated, and that it was generated for the same ad account as the Pixel ID.
Auth error, or a token that was revoked.
Generate a new token, replace it in Upstack and click Update Configuration. Upstack validates it by sending a test event.
Inflated conversions.
Several Reddit pixels share one Pixel ID, and Reddit can’t deduplicate them without a shared conversion_id. Consolidate to one.
Conversion volume swings in the first two days.
Reddit’s deduplication is adjusting. It settles within about 48 hours.

Pre-built connectors

12 sources connect to Reddit. Whichever of these you run, Reddit is one switch away.

See all connectors

Documentation

Set-up reference.

Set-up, event schema and field mapping for Reddit as a destination.

FAQ

Reddit integration questions.

What does Upstack send to Reddit?

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.

Why does Reddit need the Conversions API?

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.

Will my events be counted twice if I run both the pixel and the Conversions API?

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.

Do I need to remove my existing Reddit pixel?

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.

What is Reddit Event Match Quality?

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.

Does the Reddit Conversions API token expire?

No. Rotate it only if it was compromised or revoked, when consolidating accounts, or when the destination turns Unhealthy with an auth error.

Which plans include the Reddit integration?

All plans. Upstack has three plans that scale with your order volume, and the same integrations are on every plan.

Guides

Guides and related pages.

Background reading for the Reddit integration, and the Upstack pages that go with it.

Similar integrations

Other Ad platforms integrations.

See all integrations

Get Reddit tracking right.

A 15-minute walkthrough tailored to your stack and channels.