Reddit Ads

Run Reddit ads with Superwall as your MMP: send conversions to your Reddit Pixel, attribute installs to campaigns, and import ad spend.

The Reddit Ads integration makes Superwall your mobile measurement partner (MMP) for Reddit campaigns. Superwall sends your app's events to your Reddit Pixel through Reddit's Conversions API, generates the links you put in your ads, attributes installs to the campaign, ad group, and ad that drove them, and imports your ad spend daily. Spend and results show up in charts as ROAS, cost per trial, and cost per paid user.

Reddit Ads is in beta. If the Reddit card under Integrations > Performance marketing shows Coming soon, click Request access and we'll turn it on for you.

This page describes the new dashboard at app.superwall.com.

Requirements

  • An iOS app on SuperwallKit 4.16.0 or later, or an Android app on the Superwall Android SDK 2.9.0 or later. For Expo and Flutter versions, see the Meta Ads requirements.
  • A Reddit ad account, a Reddit Pixel in Reddit Events Manager, and a Reddit login with access to both. You also need admin access to the Reddit business that owns the pixel, because only business admins can generate a Conversions API token.
  • Revenue tracking configured for your app. The Performance marketing cards stay locked until it is.
  • If you sell outside of Superwall paywalls, enable observer mode so transactions are tracked.

Attribution only applies to new installs. The SDK matches an install once, shortly after first launch, and only when that first launch happens within 24 hours of the ad click on iOS, or 7 days on Android. Test with a fresh install.

Step 1: Connect Reddit

  1. 1

    Open the integration

    In your app's dashboard, go to Integrations, find Performance marketing, and click the Reddit card.

  2. 2

    Connect your Reddit account

    The Reddit page before connecting, showing Not connected and the Connect Reddit button

    Click Connect Reddit and sign in to Reddit in the popup that opens, with the Reddit account that manages your ads. If nothing opens, allow popups for Superwall and try again. In Chrome and other Chromium browsers, the popup can stop at Connecting Reddit…. If it does, close it and connect from Safari instead.

    The connection only asks to read your ads. Superwall uses it to list your ad accounts and pixels and to import ad spend. Once connected, the page header shows Connected with your Reddit username, as u/<username>:

    The Reddit page once connected, with the Reddit username, Reconnect and Disconnect, and the Ad account and Configuration cards

Step 2: Choose your ad account

On the Reddit page in Superwall, under Ad account, pick the account your campaigns run in. Each account shows its name, with its business, currency, and ID below it. The choice is saved as soon as you make it, without saving anything else on the page.

Superwall imports daily spend from this account into your charts. It never imports spend from before you connected Reddit.

The Ad account picker open, showing an ad account with its business, currency, and ID

If your Reddit account has no ad accounts yet, create one in Reddit Ads, then reload the page.

Step 3: Choose your pixel and Conversions API token

Still on the Reddit page in Superwall, the Configuration card sets where your conversion events go. You'll need one thing from Reddit for it, an access token:

  1. 1

    Choose the pixel

    In Superwall, under Pixel, pick the Reddit Pixel that should receive your events. The list shows the pixels of the ad account you chose. If Superwall can't find any, paste the pixel ID from Reddit Events Manager instead.

    The Configuration card with the pixel picker open, listing pixels by name and ID, above the Conversions API access token field
  2. 2

    Generate a Conversions API access token

    In Reddit: open Reddit Events Manager, click Conversions API, and click Generate Access Token. Copy the token.

    Back in Superwall, paste it into Conversions API access token.

    The Conversions API page in Reddit Events Manager with the Generate Access Token button
  3. 3

    Save

    In Superwall, click Save (Update when editing). Superwall checks the pixel and token with Reddit and won't save a pair Reddit rejects, showing you why instead. If the check can't reach Reddit, it saves anyway. The check shows up once in Reddit's Events overview as a custom event, superwall_validate. You can ignore it.

    Saving the pixel and token for the first time also turns on the recommended events, so Superwall starts sending them to Reddit right away. You can change them under Events to send.

Once saved, the token is never shown again. The page only shows that a token is configured, with its last four characters. To replace it, click Edit configuration and paste a new one.

The Reddit page after saving, with the ad account chosen, the pixel ID and masked token under Configuration, and the recommended events turned on under Events to send

Step 4: Choose events to send

In Superwall, under Events to send, choose which Superwall events to send to your Reddit Pixel and the Reddit event each one is sent as. Each event can be sent as one of Reddit's standard events (Purchase, Lead, Sign Up, Add to Cart or View Content) or as a custom event you name, up to 64 characters. A custom event with no name blocks saving.

Dashboard labelSuperwall eventDefault Reddit eventOn by default
Paywall openpaywall_openView ContentYes
Transaction starttransaction_startAdd to CartYes
Transaction abandontransaction_abandonCustom: sw_transaction_abandonNo
Free trial startfreeTrial_startLeadYes
Subscription startsubscription_startPurchaseYes
One-time purchasenonRecurringProduct_purchasePurchaseYes

Reddit has no trial event, so trials are sent as Lead by default.

Your event selection is saved with the Save changes button at the bottom of the page.

What Superwall sends

Events are sent for every user, not just users attributed to your ads. When a user's install matched a Reddit ad click, their events also carry Reddit's click ID (rdt_cid), which gives Reddit the strongest match.

Each event carries an ID that lets Reddit drop duplicates. Transaction Start and Transaction Abandon carry the product's price and currency. Subscription Start and One-Time Purchase carry the purchase's value and currency, and the transaction ID. Events with a product also carry the product ID.

A free trial converting to paid is sent as Subscription Start. Ordinary renewals and sandbox events are never sent. Reddit rejects events older than 7 days, so Superwall doesn't send them.

To help Reddit match users, events also carry the user's ID, email address, phone number and advertising ID, hashed, when they're available, along with the IP address and user agent.

  • iOS: the IDFA is only sent when App Tracking Transparency isn't denied or restricted.
  • Android: the Google advertising ID (aaid) is sent.
  • Tracking opt-out: if the user had opted out of ad tracking when they installed the app, no advertising ID is sent. On iOS, that changes if they later allow tracking through App Tracking Transparency.

SuperwallKit 4.18.0 and later reports the user's ad consent. To set it, see Consent. Superwall applies it like this:

  • When a user has denied ad personalization, their advertising IDs are dropped.
  • When a user has withheld consent to share ad user data, their events are only sent when they came from a Reddit ad click, with no user data: just the click ID and the event's own details, such as value and currency.

Step 5: Send test events

  1. 1

    Save your changes

    In Superwall, click Save changes. Test events are sent from your saved selection, so save first if you've just changed which events are ticked.

  2. 2

    Add a test ID (optional)

    In Reddit Events Manager, open Event testing, choose your pixel, and copy the test ID under Test Conversions API. Back in Superwall, paste it into Test ID (optional). With it, test events show on that page and stay out of your reporting.

    Without a test ID, test events count as real events.

  3. 3

    Send test events

    In Superwall, click Send test events. Superwall sends one test event per selected event to your pixel. They appear in Events Manager within a few minutes. If Reddit rejects one, the dashboard shows why.

    The Test ID field filled in, with a message under it saying the test event was sent and appears in Events Manager within a few minutes

    In Reddit, they show under Events received on the Event testing page:

    Reddit's Event testing page with a Purchase test event from the Conversions API listed under Events received, marked Healthy

In Superwall:

In Reddit:

  1. 1

    Start a Sales campaign

    Open Reddit Ads Manager. In the left menu, click Create Campaign. Choose Sales, then click Continue.

    Reddit's Create a campaign dialog with Sales selected, listing Purchase, Add to cart, Lead, Sign up, and Page visit under Optimize for

    Don't choose App promotion. Superwall's ad links are website links, and Sales optimizes for the events Superwall sends to your pixel. Leave Use a catalog off. If Reddit shows Set Up Conversion Tracking, skip it: Superwall already sends your events.

  2. 2

    Choose Standard

    Reddit selects Max by default. Choose Standard, then click Continue. Don't use Max: Standard lets you pick the pixel and the event yourself.

    Reddit's campaign type dialog with Standard selected instead of Max
  3. 3

    Set the budget and pixel

    Name the campaign, then under Campaign budget & schedule, set your budget and start date.

    Under Measurement & optimization, set Reddit pixel to your pixel. Set Sales goal to the event you want to optimize for, such as Purchase. Don't leave it on Clicks.

    Reddit's Measurement & optimization section with Superwall MMP as the Reddit pixel and Purchase as the Sales goal

    Purchase is greyed out? Reddit only offers events your pixel has received. Wait until they show up in Reddit Events Manager > Events overview, with your pixel picked next to the title. Test events sent with a test ID don't count.

    Under Bidding, leave Lowest cost selected. Click Continue.

  4. 4

    Set up the ad group

    Reddit opens the ad group next. Set up its audience and placements however you like. Nothing here is specific to Superwall. Click Continue.

  5. 6

    Publish

    Click Publish. Your campaign shows up under Campaigns in Reddit's Dashboard. Its status may say Processing at first.

    Reddit's Dashboard with the new campaign switched on and its status showing Processing

Deleting a link immediately breaks any live ads pointing at it. Keep links in place while campaigns are running.

Reconnecting and disconnecting

In Superwall, open Integrations > Reddit. Reconnect and Disconnect are at the top, next to Documentation.

The top of Superwall's Reddit page with the Documentation, Reconnect, and Disconnect buttons highlighted
  • Reconnect signs in to Reddit again. Use it if Reddit stops accepting the connection. With the same Reddit account, your setup is kept. With a different one, you choose the ad account again.
  • Disconnect removes your ad account, pixel, token, and events from Superwall, and stops sending events and importing spend. It asks first. To connect again later, you'll need a new token from Reddit's Conversions API page.

Verify it's working

  • In Reddit: test events appear on your pixel's Event testing page after you click Send test events with a test ID. Real events appear in Events overview, with your pixel picked next to the title.
  • In Superwall: once ads run, attributed users appear under Users with acquisition_ user attributes set and an attribution_match event in their event stream. See How attribution works.
  • In Superwall: the Advertising charts fill in after spend imports from your Reddit ad account, which happens daily.

Charts

Superwall imports your Reddit campaign spend once a day, starting from the day you connected Reddit. To see it, click Charts in Superwall's sidebar and open the Advertising charts: Ad Spend, ROAS, CPM, CPT, CPP, Blended CPT, and Blended CPI.

Each import re-reads the last 7 days, so Reddit's later corrections show up. Days are counted in UTC, so a day's spend can differ slightly from Reddit's own reports if your ad account uses another time zone.

To see revenue by campaign, break down a revenue chart by Acquisition Network or Acquisition Campaign. Installs that didn't come from an ad show as Organic.

Troubleshooting

Connecting hangs on "Connecting Reddit…"

In Chrome and other Chromium browsers, the sign-in popup can stop there. Close the popup and click Connect Reddit in Superwall again, from Safari. This also applies to Reconnect.

Reddit rejected my pixel or token

Superwall's Reddit page shows why. Check that the token and pixel belong to the same Reddit business. In Reddit Events Manager, generate a new token on the Conversions API page, then paste it into Superwall again.

No ad accounts or pixels are listed

  • If no ad accounts are listed, create one in Reddit Ads, then reload Superwall's Reddit page.
  • Make sure the Reddit account you connected has access to the ad account. To use another account, click Reconnect in Superwall.
  • If no pixels are listed, copy the pixel ID from Reddit Events Manager and paste it into Pixel in Superwall.

Reddit no longer accepts the connection

In Superwall's Reddit page, click Reconnect and sign in again. If you connect with the same Reddit account, your setup is kept.

Installs aren't being attributed

  • The app must ship SuperwallKit 4.16.0 or later on iOS, or Android SDK 2.9.0 or later, and the install must be new. Delete and reinstall the app to test.
  • The app must be opened for the first time within 24 hours of the ad click on iOS, or 7 days on Android.
  • SuperwallOptions.eventTrackingBehavior must not be set to .none. That setting disables install matching entirely.
  • The ad link must be saved, and pasted into the ad unchanged.

Events aren't showing in Reddit

  • In Reddit's Events overview, check that the dropdown next to the title shows the pixel you chose in Superwall. It also lists your ad account's default pixel, which won't have Superwall's events.
  • Sandbox events are never sent. Use Send test events in Superwall to check your setup.
  • Events older than 7 days are never sent, because Reddit rejects them.
  • In Superwall, click Edit configuration and save again to check the pixel and token still work.

No transaction or purchase events

  • If you sell outside of Superwall paywalls, enable observer mode.
  • Check that revenue tracking is configured. Subscription events come from your store's server notifications (App Store or Google Play).

How is this guide?

On this page