Forward your AxiTrace server-side events to the Reddit Conversions API (CAPI): setup, field reference, event mapping, deduplication and troubleshooting.

Reddit Conversions API

Forward your AxiTrace server-side events to Reddit — the same way Facebook CAPI and TikTok Events API work. You paste two values from Reddit Ads Manager, and AxiTrace sends every tracked event to your Reddit Ads account in real time, server-side: immune to ad blockers and browser privacy features.

No app review, no OAuth. Reddit's Conversions API is open to all advertisers: you generate a non-expiring Conversion Access Token yourself in Events Manager and paste it into AxiTrace. There is nothing to register and nothing to wait for.

Prerequisites

  • An active Reddit Ads account with a business (ads.reddit.com).
  • Your AxiTrace workspace installed and tracking events (Web SDK, Shopify app, or a platform plugin).
1

Copy your Pixel ID

  1. Open Reddit Ads Manager → Events Manager.
  2. Copy the Pixel ID shown at the top of the Events Overview page. It looks like a2_xxxxxxxxxxxx (older pixels may start with t2_ or p2_).
2

Generate a Conversion Access Token

  1. In Events Manager, open Conversions API in the left sidebar.
  2. Click Generate Access Token, give it a name (e.g. "AxiTrace"), and click Generate.
  3. Click Copy to Clipboard & Close immediately — the token is shown only once. If you lose it, generate a new one (up to 5 tokens per business).

The conversion access token is non-expiring and officially recommended by Reddit for CAPI — no OAuth app, no developer review, no token refresh needed.

3

Connect in AxiTrace

  1. In your AxiTrace workspace, go to Connections and open Reddit Conversions API.
  2. Paste the Pixel ID and the Conversion Access Token.
  3. Click Test Connection — AxiTrace sends a real test event to Reddit and shows the result immediately.
  4. Pick the events to forward (all are enabled by default) and set the status to Active, then save.
4

Optionally: test with Event Testing first

Reddit provides an isolated test view at ads.reddit.com/events-manager/testing. Copy the Test ID shown there into the optional Test ID field in AxiTrace — all events will then land in the Event Testing tool instead of production reporting.

Remove the Test ID before go-live. While a Test ID is set, Reddit routes your events to Event Testing only — they will not appear in Ads Manager reporting. AxiTrace shows a persistent warning on the connection page as long as an active connection has a Test ID set.

Event mapping

AxiTrace events map to Reddit's standard tracking types automatically:

AxiTrace eventReddit event
page.viewPAGE_VISIT
product.viewVIEW_CONTENT
searchSEARCH
product.addToCartADD_TO_CART
transaction.chargePURCHASE
subscribe, start_trialSIGN_UP
lead, contact, initiate_checkout, add_payment_infoLEAD
any other marketing eventCUSTOM (original name preserved)

With every event AxiTrace sends the available match keys: hashed email and phone (SHA-256), IP address, user agent, external ID, the Reddit click ID (rdt_cid) captured from ad clicks, the page URL, and — for revenue events — currency, value, item count and the product list.

Install the Reddit Pixel — init only

Add the Reddit Pixel snippet to your site without the rdt('track', 'PageVisit') line. The init call on its own writes the first-party _rdt_uuid cookie, which the AxiTrace SDK picks up and forwards with every server-side event as Reddit's user.uuid — the strongest match key Reddit offers (its equivalent of Meta's _fbp). Sites running CAPI without the pixel have no user.uuid at all.

<script>
!function(w,d){if(!w.rdt){var p=w.rdt=function(){p.sendEvent?p.sendEvent.apply(p,arguments):p.callQueue.push(arguments)};p.callQueue=[];var t=d.createElement("script");t.src="https://www.redditstatic.com/ads/pixel.js",t.async=!0;var s=d.getElementsByTagName("script")[0];s.parentNode.insertBefore(t,s)}}(window,document);
rdt('init','YOUR_REDDIT_PIXEL_ID');
// No rdt('track', 'PageVisit') — AxiTrace sends PAGE_VISIT server-side with a conversion ID.
</script>

Deduplication with the Reddit Pixel

Reddit deduplicates a browser event against a server event only when both carry the same conversion ID and the same event name; duplicates are processed hourly and the two copies must arrive within 2 days of each other. AxiTrace always sends a stable conversion ID on the server side.

Do not fire browser events with the raw pixel. A plain rdt('track', 'PageVisit') sends an empty conversionId (visible in the beacon to alb.reddit.com/rp.gif as m.conversionId=), so Reddit cannot pair it with the server-side PAGE_VISIT and counts the visit twice. Unlike Meta and TikTok, the AxiTrace SDK has no Reddit bridge — it cannot inject its event ID into rdt() — so the browser call can never be deduplicated. Keep the pixel init-only and let CAPI send the events.

If you deliberately want browser-side Reddit events (for example you already build audiences from them), then pass your own shared ID to both sides — rdt('track', 'PageVisit', { conversionId: '…' }) with the same value your server sends — or disable page.view for the Reddit connection in AxiTrace so only the pixel reports visits. Never run both unpaired.

Reporting delay. Conversions can take up to ~24 hours to appear in Reddit Ads Manager reporting. The AxiTrace connection page shows sent/failed counters in real time — use those to confirm the integration is working before Reddit's dashboard catches up.

Troubleshooting

SymptomMeaningFix
"Invalid access token" Reddit rejected the token (HTTP 401) — wrong, revoked, or deleted token. Generate a fresh Conversion Access Token in Events Manager → Conversions API and paste it again.
"Not authorized for this pixel ID" The token's business does not have access to this pixel (HTTP 403). Double-check the Pixel ID on the Events Overview page — it must belong to the same Reddit business that generated the token.
"Connection test failed: There were N invalid conversion events…" Payload rejected (HTTP 400) — this should not happen; AxiTrace builds schema-valid payloads. Contact AxiTrace support — the exact Reddit error is stored in your integration logs.
Events sent but nothing in Ads Manager A Test ID is set, or Reddit's ~24h reporting delay. Remove the Test ID to go live; otherwise wait for the next reporting cycle.

Missed events (e.g. a Reddit outage window) can be re-sent by AxiTrace support using the replay tooling — failed sends are stored with full (redacted) request and response data for diagnosis.