Reddit Pixel Not Working? Setup and Troubleshooting Guide

Quick fix: Confirm the pixel ID on your site matches the one in Reddit Events Manager. Then check that your events use Reddit's exact names, like Purchase and PageVisit. If you also use the Conversions API, send the same conversion ID and event name from both, or Reddit may count conversions twice.

The Reddit Pixel follows the same pattern as most ad pixels. A base code loads on every page, and event calls report actions such as purchases and sign-ups. When Reddit shows no data, or conversions don't match your store's orders, the cause is almost always in one of a few places.

Work through the steps below in order. The first ones cover the problems that stop the pixel completely. The later ones cover problems that make the numbers wrong.

Step 1: Make sure the base code loads with the right pixel ID

The Reddit base code loads Reddit's script, initializes the pixel with your ID and sends a page visit:

rdt('init', 'YOUR_PIXEL_ID');
rdt('track', 'PageVisit');

Always copy the current snippet from your Reddit Ads account instead of retyping it. Then check:

  • The ID matches. Reddit shows your pixel ID in Events Manager. It should match the pixel ID of the business account you advertise from. An old ID from a different ad account sends data where your campaigns can't see it.
  • The code is on every page. It needs to be in the shared layout or header, not on a single template.
  • The code runs. Open the browser console. Syntax errors from a bad paste, such as curly quotes or a cut-off line, stop the snippet before rdt('init') runs.
  • The tag manager is published. If you installed through Google Tag Manager, check that the version with the Reddit tags is published.

Reddit supports several install methods: manual code, Google Tag Manager, a direct Shopify connection and partner integrations. Use one method per site. Mixing a Shopify connection with a hand-pasted snippet is a common source of double events.

If the code is on the page but no Reddit requests appear in the Network tab, something is blocking them.

Consent banners

If your cookie banner holds marketing tags until a visitor accepts, the pixel won't fire before that. Test in a private window and click "accept all." If Reddit requests start after you accept, the setup works as intended. If they never start, check that Reddit is in a category the visitor can accept.

Reddit also offers a Limited Data Use (LDU) flag for visitors who haven't agreed to behavioral targeting. It's covered in Reddit's pixel documentation.

Ad blockers

Many content blockers block Reddit's tracking scripts. Test with extensions disabled. For real visitors, this gap is the main reason Reddit recommends adding the Conversions API. See our guide to ad blockers, ITP and pixel data loss.

Content Security Policy

Reddit's own help center calls out Content Security Policy as a cause of a blocked pixel. If your site sends a CSP header, the console shows a "Refused to load" or "Refused to connect" error naming the Reddit domain. Add the Reddit hosts to your policy. Reddit's docs describe two ways to do this: list specific hosts, or allow wildcard subdomains. After the change, reload with developer tools open. Check the Network tab for blocked requests and the console for new violations. Our guide to CSP blocking pixels explains the directives.

Step 3: Use Reddit's exact event names

Reddit supports eight standard events, plus custom events:

EventTypical use
PageVisitAny page load
ViewContentA product or key content page
SearchAn on-site search
AddToCartAn item added to the cart
AddToWishlistAn item saved to a wishlist
PurchaseA completed order
LeadA successful lead form submission
SignUpAn account registration

Names are case-sensitive. purchase or AddtoCart won't be read as the standard event. The full list is in Reddit's article on supported conversion events.

Reddit recommends its Event Setup Tool for configuring events without code. If you code events yourself, a purchase looks like this:

rdt('track', 'Purchase', {
  currency: 'USD',
  value: 84.50,
  itemCount: 1,
  conversionId: 'order_100457'
});

Send value as a plain number (no currency symbols or thousands separators) and currency as a three-letter ISO code. Check the field names against the code your account generates, since that is the current reference.

Fire each event at the right moment

  • Purchase belongs on the order confirmation page or the confirmed-order callback, not on the checkout button.
  • Lead should fire after the form submits successfully. Firing on the button click counts failed submissions too.
  • Single-page apps don't reload pages, so PageVisit and later events may not fire on route changes. See our guide to SPA route change tracking.

Step 4: Deduplicate the pixel and the Conversions API

The Conversions API (CAPI) sends events from your server, so they aren't lost to ad blockers. Reddit recommends pairing it with the pixel. When both send the same event, Reddit requires deduplication.

Reddit describes two ways to deduplicate:

  • Conversion ID (recommended). Send a unique conversion ID with each event from both the pixel and CAPI. Reddit treats events with the same conversion ID and event name as duplicates. The order number is a natural choice for purchases. For other events, generate a random ID once and share it with both sides.
  • Matching on signals (the fallback). Without a conversion ID, Reddit tries to match events on shared signals such as the event type, timestamp, IP address and user agent. This is less reliable than an ID you control.

When Reddit finds a duplicate, it keeps the copy with more event metadata and match keys. Send complete data in both copies so it doesn't matter which one wins.

A conversion ID must be unique per conversion. If you reuse the same ID across many events, Reddit marks the later ones as duplicates and they aren't attributed. Watch for template placeholders that are sent literally instead of being filled in.

Two more problems to look for:

  • Different event names. The pixel sends Purchase and the server sends a custom event for the same order. Deduplication needs the same event on both sides.
  • Several tags for one event. Reddit's GTM guide warns that multiple tags for the same event with different metadata can cause deduplication issues. Keep one pixel tag per event.

Reddit's article About the Conversions API covers the server setup. The concept matches other platforms. Compare it with TikTok Events API deduplication if you run both.

Step 5: Improve match quality

When events arrive but few are attributed to Reddit ads, the problem is matching, not firing. Reddit can only credit a conversion to an ad if it can connect the conversion to a Reddit user.

  • Use advanced matching to send customer identifiers, such as email, with conversion events where you have them. Reddit's developer article on manual advanced matching lists the accepted fields and formats.
  • In CAPI events, include the click ID from the ad landing URL, plus the IP address and user agent, where your privacy policy allows.
  • Reddit's enhanced metadata sharing is on by default. You can change it in Events Manager under the pixel's settings. Advertisers in some sensitive categories can't turn it on.

How to verify your Reddit Pixel

  1. Network tab. Filter for "reddit" and confirm a request goes out for each event, carrying your pixel ID and the event name.
  2. Reddit Pixel Helper. Reddit's Chrome extension lists the events on the page and their data. The Pixel Helper extension is another way to see which pixels and events fire on a page.
  3. Events Manager. Trigger each event yourself and watch for it in Reddit Events Manager. Reddit notes that third-party cookies must be enabled in your browser for event testing, so a strict browser setting can hide test events.
  4. Conversions API. For server events, Reddit points to its reporting endpoint as the more reliable check. Also compare your server logs with Events Manager.

After launch, compare a week of Reddit purchase events with your store's order count. Far more events than orders points to duplicates. Far fewer points to blocking or missing server events.

FAQ

Why does Events Manager show events but my campaign shows no conversions?

Events Manager counts every event the pixel or CAPI receives. Campaign reporting only shows conversions Reddit can attribute to an ad within your attribution window. Your own test orders usually aren't attributed to an ad.

Do I need the Conversions API if the pixel works?

It isn't required, but Reddit recommends it. Browser pixels lose events to ad blockers and browser privacy features. A server copy recovers some of those events, as long as you deduplicate.

Can I track custom events?

Yes. Use the custom event type with your own event name. Use standard events where one fits, because Reddit's optimization and reporting are built around them.

How long does it take for events to show up?

Events triggered while you test in Events Manager show up quickly. Deduplication and attribution are processed after events arrive, so allow time before you compare final numbers.