Reddit Pixel
10 min
reddit pixel is reddit's browser tag for measuring conversions from reddit ads campaigns this destination loads the reddit pixel in the browser and forwards page views, product, and purchase events to reddit for server side measurement that is unaffected by ad blockers, see the reddit conversions api # destination getting started this is a device mode destination the reddit pixel is loaded automatically — no manual script installation is required you will need pixel id — the identifier for your reddit pixel, found in the reddit ads dashboard under events manager it starts with t2 connecting to the reddit pixel cdp destination warning before connecting destinations in the chord cdp, please verify with all destination owners that all non chord cdp configured destinations are disabled running external destinations alongside configured chord cdp destinations can result in duplicate events downstream log into the chord data platform navigate to the cdp click the "add" button next to destinations select reddit pixel from the destination catalog enter the destination name and your pixel id optionally enable advanced matching (see below) click "create" to connect using alongside the reddit conversions api destination the reddit pixel and the reddit conversions api # destination are designed to run together, and reddit recommends it — the pixel captures browser context and the click id, while the server side destination reports conversions that ad blockers or browser tracking restrictions would otherwise hide both destinations must be configured with the same pixel id chord sends each event's unique message id as the deduplication key on both surfaces, and reddit deduplicates on the combination of that key and the event name running both therefore does not double count conversions, and no extra configuration is needed to make deduplication work deduplication every event this destination sends carries chord's unique message id for that event in reddit's conversionid field the reddit conversions api # destination sends the same value as conversion id , which is what lets the two run together safely this matters if you send events to reddit from anywhere else as well — your own pixel, another tool, or a platform app reddit deduplicates on the combination of the conversion id and the event name, so to deduplicate against chord's events you must send the same conversion id for the same underlying action if you cannot, expect reddit to count those conversions twice event mapping chord event reddit event page pagevisit identify no event — identity is sent through advanced matching product viewed viewcontent products searched search product added addtocart product added to wishlist addtowishlist order completed purchase email captured lead signed up signup purchase events order completed fires reddit's purchase event with the order total, currency, item count, transaction id, and a product list carrying each line item's id, name, and category two cases are skipped rather than sent, and both log a message to the browser console an order with no products an empty cart produces a conversion with no basket, which distorts reddit's reporting an order with no order id reddit deduplicates purchases by transaction id, so a purchase without one risks being counted more than once currency values are sent as decimal amounts — 49 99 means $49 99, not 49 99 cents advanced matching advanced matching sends identifiers reddit calls match keys to improve the share of conversions reddit can attribute it is off by default; enable it in the destination configuration chord sends every match key reddit accepts, and each one is sha 256 hashed in the browser before it leaves the page — reddit treats a pre hashed value identically to one it hashes itself match key source email the visitor's email address phonenumber the visitor's phone number, in e 164 form externalid your customer id for the visitor aaid / idfa mobile advertising id, when present nothing is sent in plaintext reddit's own setup wizard shows a snippet that passes these in plaintext; that snippet is for a manual pixel install and does not apply here do not also paste reddit's install snippet into your site reddit's setup wizard offers a \<script> block for the page \<head> chord already loads and initializes the pixel, and reddit honours only the first initialization on a page — so a hand pasted snippet wins, and because it carries no match keys, advanced matching stops working entirely it also double counts page views use the wizard to create the pixel and read your pixel id, then stop there reddit honours only the first initialization on a page identity is attached at that moment and cannot be updated afterwards, which has one practical consequence a visitor who is already signed in when the page loads is matched, because their email is present on the first event a visitor who arrives anonymously and then signs in is not matched for that page the reddit conversions api # destination has no such constraint — server side events carry whatever identity is known at the time each event is sent if matching coverage matters to you, run both destinations content security policy if your storefront sets a content security policy, the reddit pixel will not load until reddit's hosts are allowed the symptom is silence — no pixel, no events, and a refused to load error in the browser console directive host script src https //www redditstatic com reddit's pixel also makes network calls once loaded those hosts are not published by reddit and are best read off your own browser console during setup load a page with the pixel active, fire a conversion event, and add any host named in a csp violation if your policy already allows reddit's beacon endpoints you will see no violations at all custom properties property mappings configured on the connection are forwarded, and the destination path does not need a properties prefix — a mapping of properties customer type → customer type is enough mapped properties never overwrite the fields reddit defines itself a mapping targeting value or transactionid is ignored in favour of the order's real values what reddit does with them is undocumented, so do not build on them reddit publishes a fixed list of event metadata — conversion id , currency , item count , value and products — and unlike meta or tiktok it offers no general purpose container for extra fields additional keys are accepted without error, but reddit does not document them being stored, reported on, or usable for audience building, and we have not been able to confirm that they are treat a mapped custom property as best effort harmless to send, but not something to rely on for reporting or targeting if you need reddit to act on an event that its standard set does not cover, register a custom event in your reddit account instead — that mechanism is documented, and it is what reddit's own tooling exposes gotchas reddit's event set is fixed reddit recognizes only the eight standard events in the mapping table above chord events with no reddit equivalent — checkout started , product removed , order refunded — are skipped, and the reason is logged to the browser console reddit does support a custom event type, but a custom event is discarded unless its name is registered in your reddit account first, so chord does not send one revenue metadata is only sent on revenue events reddit validates event metadata per event type, marks value, currency and item count as applying to revenue related events only, and reports anything else as "unsupported metadata" in events manager product viewed is not a revenue event, so chord sends product details and the deduplication id but no value, currency or item count purchase, add to cart and add to wishlist carry the full set product details are always sent, which is what dynamic product ads requires refunds are not reported reddit has no refund event on either the pixel or the conversions api, so order refunded is not forwarded on either surface search terms are not sent reddit's search event takes no query parameter, so products searched reports that a search happened but not what was searched for reddit's events manager lags by several minutes an event that has genuinely been delivered can take roughly five minutes to appear in the events overview when verifying a setup, confirm delivery in the browser (the pixel's network call) or in chord's live events first, and treat reddit's dashboard as a slower second confirmation — not as evidence that nothing arrived consent gating applies if the destination is configured with required consent categories, no reddit call is made for visitors who have not accepted them updated 1 september 2026