BlogB2B Marketing Attribution
Are Reddit Ads Worth It? Measuring Reddit Ads ROI on Revenue
Whether Reddit Ads are worth it depends on what you measure and on what you sell. How to calculate Reddit Ads ROI and ROAS on closed revenue, what a fair test needs (budget, run length, one goal, tracking before launch), when Reddit tends to work, and the traps that make it look better or worse than it is.

Contents
Summarise this article with AI
Opens the page with a ready prompt in:
Nothing is sent until you pick a service.
Search for whether Reddit Ads are worth it and you find two camps. One tried the channel for a fortnight, judged it on cost per click, and gave up. The other quotes the Reddit dashboard. Neither measured the thing the question is actually about: whether the money spent on Reddit came back as revenue.
This guide answers it the only way that holds up in a budget meeting: on closed deals and paid orders, from a test set up to be able to say no. The formulas, what a fair test needs, when Reddit tends to earn its budget and when it does not, the traps that bend the verdict, and what to do with the result.
Quick Summary: Are Reddit Ads Worth It?
In short
Reddit Ads are worth it when the closed revenue from customers whose journey includes a Reddit click exceeds what you spent, and whether that happens depends on your offer and on whether your buyers already discuss your category on Reddit. You can only answer the question with a fair test: tracking in place before launch, one conversion goal close to revenue, enough budget per ad group for the roughly 20 optimisation events Reddit needs to leave the learning phase, and a run long enough for deals to close. Reddit's dashboard credits conversions at most 28 days after a click, so revenue from longer cycles, and from research that ends in a branded or AI search, has to be joined to the Reddit click in an attribution tool.
The rest of this guide is the working: which revenue and which costs go into the formula, what Reddit's own ROAS means, how to size and run the test, where Reddit tends to fit, and a table for reading the result.
The Honest Answer: It Depends on What You Measure and What You Sell
"Worth it" has two variables. The first is the measurement. The same campaign can look like a failure, a success and a coin toss, depending on which number you hold against the spend.
- Measured on clicksCost per click and click-through rate tell you what attention costs. They say nothing about what a customer costs, and a channel can win on one and lose on the other.
- Measured on Reddit's conversionsReddit's columns count conversions inside its windows, dated to the click or view, including view-through and, where Reddit is confident, modeled conversions. Useful, and closer to a ceiling than a floor.
- Measured on closed revenueDeals won and orders paid by customers whose journey includes a Reddit click. The only version that answers the question, and the only one that needs your CRM or your shop.
The second variable is the offer. Reddit is built around communities and the discussions in them. A product people research, compare and ask about has something to attach to there. A product nobody discusses has to create the conversation from nothing, which is a harder and more expensive job. Neither case is decided by a benchmark from somebody else's account, which is why this post quotes no average of its own.
Reddit Ads ROI and ROAS, Measured on Closed Revenue
Two formulas, both on revenue that has actually closed. ROAS is the ratio a media buyer reads. ROI is the one finance reads, because it subtracts what the ads cost before it divides.
Example: $9,000 spent over a quarter, $24,000 closed from customers whose journey includes the Reddit click: ROAS 2.67.
The same example: ($24,000 minus $9,000) ÷ $9,000 = 167% ROI.
The arithmetic is trivial. The three decisions behind it are not, and a number without them written next to it cannot be compared with anything.
- Which revenue. Closed-won contract value or paid orders, never pipeline. For subscriptions, pick first-year value or a lifetime value estimate and say which.
- Which attribution. First click credits Reddit for every journey it opened, last click only for the ones it closed. On a research channel the two can be far apart, so state the model beside the figure.
- Which costs. Ad spend alone gives ROAS. Add creative, agency fees and tooling for a true ROI, and use gross profit instead of revenue when margins are thin.
Divide the same spend by the number of new customers and you have Reddit's customer acquisition cost, which is often the easier number to compare with the other channels. The ROAS calculator does the sums if you want a second pair of eyes on them.
What Reddit's Own ROAS Tells You, and What It Does Not
Reddit reports a ROAS of its own, and it is worth knowing exactly what goes into it before you quote it.
Purchase ROAS
For the Purchase event, Reddit reports Purchase ROAS as total value divided by spend, plus checkout size. The value is whatever your Pixel or Conversions API sent with the event.
Lead and SignUp value
For Lead and SignUp, Total Value and Average Value are the value you assigned to the lead or sign-up. A ROAS built on them is your own estimate, multiplied by Reddit's count.
Inside the windows only
Everything is counted inside the account's windows, 28-day click plus 1-day view by default, dated to the click or view day, and may include modeled conversions.
Two limits follow for anything that closes in a CRM. Conversions API events must be sent within seven days of when they happened, and the longest click window is 28 days, so a deal won two months after the click never reaches Reddit's ROAS however it is sent. For an online store with short paths, Reddit's Purchase ROAS is a fast and reasonable signal. For lead generation it is a ROAS on values you typed, over the first four weeks. The mechanics are in Reddit Ads attribution.
What a Fair Reddit Ads Test Looks Like
A test is fair when it can come back with no as easily as yes. A test missing one of these five usually cannot produce an answer at all.
- Tracking live before the first dollarReddit only lets you pick a conversion goal from events it is already receiving, and Clicks is the goal left when no Pixel or Conversions API is set up. Launch without tracking and the test optimises for clicks.
- One conversion goal, close to revenuePurchase, Lead, SignUp, Add to Cart or Page Visit, and custom events are not allowed. The goal is permanent once the ad group is saved, so choose the one you would defend in a revenue review.
- Enough budget to leave the learning phaseA new ad group needs around 20 optimisation events to exit learning. After seven days without exiting, Reddit marks it Learning Limited, and a limited ad group is not a verdict on the channel.
- Hands off while it learnsBid or budget changes over 20%, targeting, placement or creative changes, and pauses of seven days or more can restart learning. Decide the setup, then leave it alone.
- A run long enough to see revenueWeeks, not days. Conversions keep arriving for up to 28 days after each click under the default window, and your deals take as long as your sales cycle takes.
The optimisation window is also fixed at publishing, 7-day click or 7-day click plus 1-day view, so it belongs in the same up-front decision as the goal.
How Much Budget a Test Needs, and How Long to Run It
Reddit's learning threshold turns the budget question into a sum. Around 20 optimisation events per ad group, and a status of Learning Limited after seven days without them, means the practical target is about 20 events per ad group in the first week.
Example: if a Lead is expected to cost $80, one ad group needs about $1,600 in its first week. Three ad groups need three times that.
Two consequences. Run fewer ad groups: a budget that could carry one ad group to 20 events spread across five carries none of them. And if your real goal is too expensive to reach 20 a week, a closed deal for example, optimise on an earlier stage that predicts revenue, such as a demo request or a lead your sales team would call qualified, and measure revenue outside the platform.
How long
Reddit's own split tests run two to six weeks, which is a sensible frame for spend. Then give the revenue time to arrive. Reddit dates every conversion to the day of the click, so last week's numbers are still rising, and deals follow on your sales cycle, not on the campaign calendar. A workable shape: four to six weeks of spend, then read revenue by click cohort once your typical time to close has passed since the last cohort.
The budget is the price of the answer
Decide it before launch and write down what result would make you scale, fix or stop. A test that gets topped up or cut halfway because the first week looked good or bad has restarted learning and answered nothing.
Tracking That Has to Be in Place Before Launch
The measurement is the test. Six things should be working before the campaign spends anything, in this order.
- The Reddit Pixel, firing the event you will optimise on. Reddit only offers events it already receives as goals. See the Reddit Pixel setup guide.
- The Conversions API sending the same events with the same conversion ID, so Reddit counts each conversion once and recovers what the browser loses. See the Reddit Conversions API guide.
- The click ID kept. Reddit appends rdt_cid to the landing page URL automatically. Keep it through redirects, store it with the visitor, and put it on the lead record, or nothing downstream can join the revenue to the click.
- UTM parameters on every ad. Reddit itself says to add utm_source=Reddit for Google Analytics. The Reddit Ads UTM guide covers the rest.
- The CRM stages mapped. Decide which stage is a qualified lead and which is a won deal before the first lead arrives, and send them back as conversions.
- One test click. Reddit's Test and Preview URLs behave like real ads, charges included. Open the destination, check rdt_cid is in the URL, and expect a test conversion in Ads Manager within 24 hours.
The whole system, from the Pixel to the CRM events, is in Reddit conversion tracking.
When Reddit Ads Tend to Work, and When They Do Not
There is no blanket answer, but the patterns follow from how Reddit works: people gather in communities by interest, discuss what they are thinking of buying, and read what others say before they decide.
- Community fitYour buyers already talk about the problem in subreddits you can target. Community targeting reaches people who subscribed to, viewed or visited a community in the last 28 days.
- Research-heavy purchasesIn Reddit's survey with SurveyMonkey, 73% of US business decision-makers trust peer insights above vendor websites, and 32% of software buyers have used Reddit for research.
- An offer that holds up in the commentsThe Conversations placement puts the ad between the post and the first comment. An offer with a clear price and a clear comparison has something to say in that spot.
The same survey says that of the decision-makers who used Reddit for research, 77% cite reviews and testimonials and 45% look for pricing. That is the reader you are paying to reach, and it is also a reader who leaves the thread and comes back through another door.
Where it tends to struggle
- No community discusses the category, so targeting falls back to broad interests and the ad arrives without context.
- A budget that cannot reach about 20 events per ad group, which leaves every ad group Learning Limited and the test without an answer.
- A long sales cycle judged only in Ads Manager, where anything after 28 days never appears.
- A goal that is cheap to hit and far from revenue, which Reddit will optimise for faithfully.
What Reddit reports about itself
Reddit publishes performance figures, and they are worth knowing as Reddit's own claims. Its measurement page cites a $6.94 average ROAS for tech advertisers, from a TransUnion media mix meta analysis covering Q1 2023 to Q1 2025, and a 20% average lift in ad awareness from Kantar. For Max campaigns, Reddit reports 17% lower CPA and over 27% more conversions in early testing, and 2.1x higher incremental ROAS than the digital media average in a TransUnion study of 24 brands. These are averages across other advertisers, from Reddit's split tests and from partner studies using media mix models, attribution models and brand lift. They are not a forecast for your account, and they cannot be compared with a click-based ROAS read from your own CRM.
The Traps That Make Reddit Look Worse, or Better, Than It Is
Each of these bends the verdict. Some flatter the channel, some bury it.
Common traps in judging Reddit Ads, and the fix for each
| Trap | What it does to Reddit | The fix |
|---|---|---|
| Judging on clicks | Either way, and says nothing about customers | Judge on cost per qualified lead and revenue |
| Last click reporting | Looks worse: the research it starts closes as branded or AI search | Compare first click and last click side by side |
| Optimising for cheap SignUps | Looks better: Reddit's SignUp includes subscription and registration forms | Optimise on the stage sales would call a real lead |
| Reading last week on Monday | Looks worse: conversions are dated to the click day and still arriving | Compare finished periods or click cohorts of the same age |
| Counting view-through as revenue proof | Looks better: a view is exposure, not cause | Read click and view columns apart |
| Editing during learning | Looks worse: big budget, targeting or creative changes restart learning | Fix the setup up front, change in steps under 20% |
| Comparing platforms on their own dashboards | Either way: each platform counts inside its own windows | Compare every channel on the same closed revenue |
The SignUp trap deserves a sentence of its own, because it is the easiest one to fall into. Reddit defines SignUp as a person submitting a form such as a subscription, registration or sign-up form. Optimise on it and Reddit will find you the cheapest form fills it can, which for a B2B offer is often newsletter subscribers. See the true cost per lead for what that does to a CPL.
Sanity Checks Without a Holdout
A proper lift study tells you what would have happened without the ads, and Reddit offers conversion lift for that (see Reddit Ads attribution for what is published about it). Many teams will not run one for a first test. These checks do not prove cause, but they tell you whether the revenue figure is plausible.
- First touch against last touchTake the closed revenue from journeys that include a Reddit click and split it by first and last touch. A large first-touch share with a small last-touch share is a channel that opens deals for others.
- What follows the Reddit clickLook at the visits after it in the same journeys. Branded search, AI search and direct visits days later are the research effect showing up under other names.
- What the customer saysA "how did you hear about us" field on the form or a question on the sales call. Self-reported answers are unreliable alone and useful as a cross-check on the tracked journey.
- Revenue per communityReddit's dashboard breaks results down by community. Structure ad groups by community and per ad group revenue becomes per community revenue, which says where the fit is.
If all four point the same way, the verdict is probably right. If they disagree, the disagreement is the finding: usually a goal event that is far from revenue, or a model that hides where Reddit sits in the path. More on the question-based cross-check in self-reported attribution.
Reading the Result: Scale, Fix or Stop
Once the sales cycle has passed, the result falls into one of five patterns. Each has a different next step.
What the test result usually means, and what to do next
| What you see | What it likely means | What to do |
|---|---|---|
| Revenue ROAS above target under first and last click | Reddit opens and closes deals | Scale in steps under 20% so learning is not reset |
| Strong under first click, weak under last click | Reddit starts research other channels close | Keep it, and judge it on first-touch or position-based revenue |
| Cheap leads in Ads Manager, few qualified in the CRM | The goal event is too easy to hit | Move the goal to a qualified stage, in a new ad group, since goals are permanent |
| Every ad group Learning Limited | Not enough optimisation events | Fewer ad groups, more budget each, or an earlier goal |
| No revenue under any model after the sales cycle | No fit between the offer and the communities | Stop, or change communities and offer before spending more |
The one pattern to be careful with is the second. Cutting a channel that opens journeys shows up months later as fewer branded searches and a thinner pipeline elsewhere, long after anybody connects it to the decision.
How LeadJourney Answers "Is Reddit Worth It" on Revenue
LeadJourney is one script on your site or in your GTM container, live in about 21 minutes without a developer, tracking server-side and first-party at 95%+ accuracy. On the first visit it issues the LeadJourney Click ID, its own visitor identifier, kept in localStorage and a first-party cookie for months, and every later session is stored under it. Reddit's click ID, rdt_cid, is captured server-side on every Reddit click and stored as a property of that session.
The Reddit Ads integration connects your Reddit Ads account and imports campaigns, ad groups, ads and daily spend. The lead is followed through the CRM, with HubSpot, Salesforce, Microsoft Dynamics 365, Zoho CRM, Pipedrive, Attio, Close, GoHighLevel, ActiveCampaign and Odoo native, or to the order, with Shopify and Stripe native, anything else by webhook, Zapier or the API. So spend and closed revenue sit on the same rows: ROAS, cost per qualified lead and cost per closed deal per Reddit campaign, ad group and ad.
There is no attribution window on LeadJourney's side, so a deal in month four still carries the Reddit click that started it, and the models (first click, last click, linear, position based, time decay and others) switch without re-tracking. AI search engines are sources of their own, so the ChatGPT or Perplexity visit after a thread is a named touch. The CRM stages you map go back through Reddit's Conversions API, for example a qualified lead as a Lead event and a won deal or a paid order as a Purchase with its value, with the click ID, hashed email and phone, and a conversion ID that deduplicates against a running Reddit Pixel. The same numbers can be queried from Claude or ChatGPT through the MCP server.
The limits, plainly: LeadJourney counts clicks and visits, not ad views, and does no view-through attribution, incrementality testing or media mix modelling. Every plan starts with a 14-day free trial without a credit card, and advertiser plans are priced by monthly marketing spend. Read verified reviews on Trustpilot, G2 and leadjourney.io/testimonials.
Further Reading
- Reddit Ads attribution: windows, view-through and the CRM
- Reddit conversion tracking: the Pixel, the Conversions API and CRM events
- Reddit Pixel setup: Google Tag Manager, Shopify or the base code
- Reddit Conversions API: setup, deduplication and CRM events
- Reddit Ads UTM parameters, macros and rdt_cid
- Reddit Ads for B2B SaaS: measuring pipeline, not clicks
- Reddit Lead Generation Ads after onsite forms
- Prove marketing ROI on closed revenue
- See lead quality per channel and campaign
- The Reddit Ads integration
In the glossary
FAQ
Frequently Asked Questions
What founders and performance marketers ask before they put budget into Reddit, and after the first month.
Are Reddit Ads worth it?
They are when the closed revenue from customers whose journey includes a Reddit click is higher than what you spent, and that depends on your offer and on whether your buyers already discuss the category on Reddit. Clicks and cheap sign-ups cannot answer the question. A test with tracking in place, one goal close to revenue, enough budget to leave the learning phase and a run long enough for deals to close can.
What is a good ROAS for Reddit Ads?
One above your break-even, which is 1 divided by your gross margin: at a 50% margin you need a ROAS of 2 to pay for the ads. Reddit reports a $6.94 average ROAS for tech advertisers from a TransUnion media mix meta analysis, but that is an average across other advertisers measured with a different method, not a target for a click-based ROAS read from your own CRM.
How much budget do I need to test Reddit Ads?
Enough for about 20 optimisation events per ad group in its first week, because Reddit needs around 20 to exit the learning phase and marks an ad group Learning Limited after seven days without them. Multiply your expected cost per event by 20 and by the number of ad groups. If that sum is out of reach, run fewer ad groups or optimise on an earlier, cheaper stage that still predicts revenue.
How long should a Reddit Ads test run?
Weeks, not days. Reddit's own split tests run two to six weeks, which is a sensible frame for the spend. Then wait for revenue: conversions are dated to the click day and keep arriving for up to 28 days under the default window, and deals close on your sales cycle. Read the result by click cohort once your typical time to close has passed.
Why do my Reddit Ads get clicks but no conversions?
Check tracking first: a Pixel that does not fire the goal event, a redirect that strips rdt_cid and the UTM parameters, or a goal left on Clicks because no Pixel or Conversions API was set up. Then check timing, since last week's conversions are still arriving. And check where the conversions went: a research channel's buyers often come back through branded search, AI search or Direct, which a last click report never credits to Reddit.
Are Reddit Ads good for B2B?
They can be, when your buyers research in communities you can target. In Reddit's survey with SurveyMonkey of 1,202 US business decision-makers, 73% trust peer insights above vendor websites and 32% of software buyers have used Reddit for research. B2B cycles run past Reddit's 28-day window, so judge the channel on pipeline and closed revenue in your CRM rather than on Ads Manager alone.
Can Reddit see the revenue from my CRM?
Partly. You can send a won deal through the Conversions API as a Purchase with its value, as long as it is sent within seven days of the win and the deal closed within the click window, at most 28 days after the click. HubSpot's own Reddit Ads integration, in beta, shows contacts and deals attributed to Reddit campaigns inside HubSpot. Anything that closes later has to be joined to the Reddit click in an attribution tool.
Keep reading
More from the blog
B2B Marketing AttributionClick-Through vs View-Through Conversions: What to Count
Every ad platform counts view-through conversions its own way, with its own window, and none of them deduplicates against the others, which is how 100 leads become 190 conversions. This guide covers how each platform counts them, the honest case for and against, which number to use for bidding, budget and reporting, and how to test a view-through claim.Read the article21 min read
B2B Marketing AttributionProgrammatic Attribution: Track DSP Campaigns to Revenue
A DSP reports view-through conversions no other system can see, GA4 files its clicks as Unassigned or Paid Other, and the CRM records whatever the last form wrote. This guide covers why programmatic resists attribution, one UTM convention with templates for The Trade Desk, StackAdapt, DV360 and three more DSPs, and how to judge each DSP on CRM pipeline and revenue.Read the article23 min read
B2B Marketing AttributionReddit Ads Attribution: Windows, View-Through and the CRM
Reddit Ads Manager, GA4 and the CRM give you three different numbers for the same campaign, and none of them is broken. The reporting windows and the separate optimisation window, why Reddit dates a conversion to the click, what view-through and modeled conversions add, and how to read a channel whose clicks come back as branded search, AI search and Direct.Read the article20 min read
Reddit Ads ROI
Ready to see what Reddit Ads return in revenue?
LeadJourney imports your Reddit spend, captures the Reddit click ID server-side on every Reddit click, follows each lead to closed won or the paid order, and shows ROAS per campaign, ad group and ad on real revenue. Live in 21 minutes, 14-day free trial without a credit card.


