Skip to content
Code samples below use example values.

Reddit Ads ​

This page covers both halves of a Reddit connection: importing and managing campaigns (the Ads API) and delivering server-side conversions through Prism. Reddit's wizard sets both up in one pass — unlike Meta and Google, there's nothing to split across two separate pages.

Connecting — self-serve, no approval wait ​

In the Adsidian dashboard, open the client → Connect Reddit Ads. The wizard:

  1. Authorize with Reddit — a full-page redirect to Reddit's OAuth consent screen, requesting read, write, and conversions access (adsread adsedit adsconversions) up front so you never have to re-consent later.
  2. Pick the ad account — the accounts your Reddit login can reach.
  3. Paste the pixel + Conversions API token (below).
  4. Map events (optional).
  5. Send a test conversion.

No approval queue

Unlike LinkedIn, Reddit's Ads API doesn't gate access behind a partner-approval process. The moment you authorize, the connection is live — there's no waiting period and no demo/mock stage to get through first.

Reddit issues a non-expiring refresh token (requested via duration=permanent), so once you connect you won't see a reconnect prompt later the way you will with LinkedIn's 365-day expiry. The short-lived access token (~1 hour) refreshes automatically in the background.

The conversion pixel is required, not optional ​

Reddit requires every ad group to carry a conversion pixel ID — and since every Reddit campaign needs at least one ad group underneath it, Adsidian enforces this at the campaign level too: a campaign create is rejected up front if the client has no pixel configured, rather than staging a draft that can structurally never get a valid ad group.

Where to find it and where it goes:

  1. In Reddit Ads Manager, open Events Manager for the ad account you connected.
  2. Copy the Pixel ID shown there.
  3. Generate a Conversions API access token — Reddit shows this once, so paste it into the wizard immediately.

Both values are pasted into the wizard's pixel step. The token is write-only after saving (shown as saved, never redisplayed) — paste a new one to rotate it, or leave the field blank to keep the existing token.

Event mapping ​

Prism event names can be renamed before Reddit sees them — e.g. send your AppointmentRequest event as Reddit's Lead. This is a free-text rename map (like Meta's, not a pick-list like Google's or LinkedIn's): leave a row blank and the Prism event name passes through unchanged. Anything that isn't one of Reddit's standard names (PageVisit, ViewContent, Search, AddToCart, AddToWishlist, Lead, SignUp, Purchase) is sent as a custom event under its original name.

What syncs, and how often ​

Once connected, Adsidian syncs the account hourly: campaigns, ad groups, and ads, plus the last 30 days of daily spend/impressions/clicks/conversions per campaign. Status changes made from the dashboard or by the AI agent push to Reddit; changes made in Reddit Ads Manager show up on the next sync.

Daily-grain spend, refreshed hourly

Each hourly sync pulls day-level metrics (not an hour-by-hour breakdown) — the same shape Google Ads' daily figures use. An intraday spend chart isn't available for Reddit yet.

What the AI agent can do ​

Through chat, the agent can (all mutations require your explicit approval before anything reaches Reddit):

  • Create a campaign, ad group, and ad — created paused. Every ad group create checks for the pixel first and fails fast with a clear message if it's missing, rather than staging something that can never go live.
  • Pause, resume, or archive a campaign (set_campaign_status dispatches across Meta, Google, and Reddit campaigns automatically).
  • Change a campaign's daily or lifetime budget (update_campaign_budget, same cross-platform dispatch).

If a client isn't connected yet but Reddit is available in demo mode, creates still stage as drafts and push automatically the moment the client's real connection goes live.

Server-side conversions via Prism ​

Once the pixel and CAPI token are saved, Prism delivers events to Reddit's Conversions API server-side — independent of whether a browser-side Reddit pixel is also installed.

Attribution signal, in priority order (Reddit requires at least one):

  1. rdt_cid — Reddit's own click ID, captured from the URL the moment a visitor lands from a Reddit ad, the same way Prism already captures gclid and fbclid. This is captured automatically by the snippet — no separate setup step.
  2. Hashed email, when your event carries one (hashed in-browser before it ever reaches Prism).
  3. IP + user agent, as a last-resort probabilistic fallback.

An event with none of these is skipped (no_match_signal) rather than sent with fabricated attribution.

Deduplication: Prism sends the same deterministic event ID it uses for Meta CAPI as Reddit's conversion_id. If you also run Reddit's own browser pixel on the site, the two can dedupe against each other instead of double-counting.

Troubleshooting ​

SymptomLikely cause / fix
Ad group / campaign create rejected with a pixel errorThe client has no Reddit pixel saved yet. Finish the wizard's pixel step first.
Test conversion failsRe-check the pixel ID and CAPI token — the token is shown once in Events Manager, so a copy-paste slip is the most common cause. Regenerating the token in Reddit invalidates the old one silently; paste the new one into the wizard.
Ad account list is emptyYou authorized with a Reddit account that doesn't have access to the ad account you expected — reconnect with the right one.
Conversions aren't arriving in Events ManagerConfirm the client has both reddit_pixel_id and a saved CAPI token, and that events carry at least one attribution signal (rdt_cid, email, or IP+UA aren't all missing).
Sync looks staleReddit syncs hourly; a fresh connection's first sync can take a few minutes to appear.

Next ​

Adsidian Prism — first-party server-side tracking.