How to Calculate True ROAS from Offerwall Campaigns
Calculate offerwall campaign ROAS with consistent cohorts, attribution windows, verified outcomes, and clearly labeled incremental and total-cost examples.
ClixWall Team
4 min readUpdated
Return on ad spend (ROAS) is revenue attributed to a campaign divided by that campaign's ad spend. It is useful only when the revenue, spend, and measurement window refer to the same users and period. ClixWall can show campaign activity; your own analytics or measurement partner must connect that activity to later customer revenue.
Start with the basic formula
ROAS = attributed revenue from a cohort / ad spend for that cohort
For example, if an advertiser spends $2,000 and the users attributed to that campaign generate $5,000 of measured revenue by day 30, its illustrative D30 ROAS is 2.5. That does not mean the campaign caused all $5,000 or will produce the same result at a larger budget.
State whether revenue is gross or net of refunds, taxes, and platform fees. Keep that definition consistent when you compare campaigns.
Match cohorts and windows
Group users by the date they took the qualifying campaign action and measure revenue for that same group at fixed ages, such as day 7 or day 30. Do not compare a mature campaign's day-90 revenue with a new campaign's day-7 revenue.
A hypothetical $1,000 cohort that generated $1,200 by day 7 and $2,400 by day 30 has D7 ROAS of 1.2 and D30 ROAS of 2.4. Both calculations are correct for their windows. Use the window that fits your actual decision cycle, and label projections as projections until the cohort matures.
Check attribution quality
A verified click, approved task, or confirmed install on ClixWall is not automatically a new paying customer. Connect the campaign identifier to the event you care about in your own app or MMP. Deduplicate users who interact with more than one channel, and record reversals or rejected actions.
If an offer targets existing users, separate reactivation from new acquisition. If your attribution system cannot distinguish them, report that limitation rather than treating every conversion as incremental.
Estimate incrementality separately
Attribution asks which campaign receives credit. Incrementality asks what happened because the campaign ran. A controlled holdout can help answer that question, but the groups need to be comparable and measured over the same period.
For an illustrative equal-sized test, suppose 300 users in the exposed group purchase and 100 in the holdout group purchase. The observed difference is 200 additional purchases. If campaign spend was $1,000, cost per observed incremental purchase is $5. Dividing the same spend by all 300 exposed-group purchases gives about $3.33, but counts purchases that may have happened anyway. This example is arithmetic, not a ClixWall result; real tests need an appropriate design and uncertainty range.
Do not call (conversions - baseline) / spend "incremental ROAS" because that expression has units of conversions per dollar. To estimate incremental ROAS, divide incremental revenue by spend.
Keep ROAS distinct from a full-cost return
ROAS uses advertising spend in the denominator. Creative production, analytics tools, and team time still matter to profitability, but including them changes the metric. Call the result a total-marketing-cost return and show the extra costs separately.
For example, $5,000 of revenue divided by $2,000 of ad spend is 2.5 ROAS. If the same campaign also used $500 of creative and measurement work, $5,000 divided by $2,500 is a 2.0 return on those listed marketing costs. Both are useful when correctly named.
Segment only where data supports it
Compare countries, campaign formats, and verified downstream outcomes that you can actually observe. ClixWall's advertiser panel provides campaign activity; your own analytics supplies user-level revenue and lifetime value. Do not assume the dashboard offers publisher-tier or LTV segmentation that you have not configured.
When one segment looks stronger, check sample size, observation window, and whether the offer requirements differ. A high early ROAS from a tiny cohort is a lead for another test, not a reason to scale without limits.
Use a decision sheet
For every campaign or cohort, record:
| Input | Definition to keep fixed |
|---|---|
| Spend | Credits used for the measured campaign and dates. |
| Qualified actions | Confirmed clicks, approvals, or installs for the format. |
| Revenue | Measured customer revenue, with gross or net definition. |
| Window | Days since the qualifying action. |
| Reversals and refunds | Adjustments applied before reporting. |
| Attribution method | Rule or MMP used to join actions to revenue. |
Set an acceptable cost or ROAS threshold from your own margins. If results fall below it, inspect offer quality and measurement before adding budget. Use the same checks when scaling an offerwall campaign. For the formats and verification routes available in ClixWall, see the advertiser overview.




