ROAS Mistakes: 10 Things To Stop Now

Written by Leadscale on Nov 05, 2025

Two B2B marketing teams report wildly different ROAS from identical LinkedIn spend. The gap is not creative or targeting; it is whether they count costs correctly, feed platforms correct signals, and tie their numbers to cash. Most ROAS failures are systemic, not tactical. This article gives VP Marketing and CFO teams ten structural fixes: verify data at intake, account for full costs, set value maps, and reconcile ROAS to recognised revenue. You’ll see exact formulas, one scope label, and a ‘Stop → Do → Why’ for each mistake.

The Four Formulas (With One Scope Label)

Gross ROAS = attributed revenue ÷ ad spend

Net ROAS = (attributed revenue − COGS − platform fees − discounts) ÷ ad spend

LTV-adjusted ROAS = (attributed LTV × gross margin) ÷ ad spend

Payback = CAC ÷ gross profit per period

Scope label (once): model: data-driven; window: 180-day; revenue: recognised; cost base: media+fees

10 Mistakes To Stop Now (Systemic)

These ten errors are structural, not tactical—they corrupt ROAS before optimisation begins. Each follows a three-part pattern: what to stop, what to do instead, and why it matters for margin and cash flow.

Stop letting bad data in

Stop: Accepting form fills without validation, bot traffic, or fake emails at intake.

Do: Run structural checks (email syntax, domain validity, phone routing) and intentional truth filters (privacy-cloaking services, nonsense names) before records enter your CRM.

Why: Bad data skews attribution and burns servicing time on leads that never convert.

Stop counting the same person twice

Stop: Creating duplicate CRM records when one person fills multiple forms or uses different email addresses.

Do: Resolve identities at person and account level (hashed email + domain + company ID), standardise company names, then deduplicate using your CRM’s native tools (HubSpot’s merge records, Salesforce’s duplicate management, or dedicated services like ZoomInfo or Clearbit).

Why: Duplicate records overstate pipeline, double-count revenue, and cause platforms to retarget the same prospect multiple times.

Stop spending without a value map

Stop: Letting platforms optimise for conversions without telling them which outcomes are worth more.

Do: Set a value map that weights pipeline stages, revenue and margin; feed values to Google (Value Rules), Meta (conversion value optimisation) and LinkedIn; review quarterly and after major offer changes.

Why: Algorithms chase the signals you give them; without a value map, they optimise for cheap leads instead of profit.

Stop judging results on media spend alone

Stop: Reporting ROAS as “revenue ÷ media cost” and ignoring platform fees, agency costs, creative production, and staff time.

Do: Keep ROAS on media+fees for channel control, and reconcile monthly on a fully loaded ROI/MER lens with overheads.

Why: Hidden costs inflate reported ROAS materially; boards lose trust when the number doesn’t reconcile to P&L reality.

Stop ignoring costs after the click

Stop: Treating ad spend as the only cost, while call centre, CRM maintenance, email automation, and qualification effort go unmeasured.

Do: Track servicing costs per lead (sales time, call centre, CRM/automation, payment/settlement) and include them in net ROAS or CAC payback.

Why: Media cost is often a fraction of total cost to convert; ignoring servicing distorts profitability.

Stop sending every "qualified" lead to sales

Stop: Routing all MQLs to human reps regardless of fit, intent, or timing signals.

Do: Score truth, fit and intent; route high scores to a fast lane for sales and lower scores to automated nurture.

Why: Protecting scarce human time raises conversion rates, shortens cycles, and prevents sales teams from burning out on junk pipeline.

Stop letting work continue after fail points

Stop: Allowing leads that fail validation, scoring, or early engagement checks to proceed through expensive qualification and outreach steps.

Do: Add go/no-go gates at capture → enrichment → qualification → booking; stop spend immediately on failure.

Why: Fail-fast saves the compounding cost of servicing leads that were never going to close.

Stop retargeting the same junk audiences

Stop: Building retargeting pools from all website visitors or form fills, including bot traffic, competitors, and low-fit profiles.

Do: Maintain a global suppression list (duplicates, internal traffic, churned customers, non-ICP domains) and exclude across all platforms.

Why: Retargeting junk wastes a noticeable share of paid social budgets; suppression lists cut that waste immediately.

Stop sending only "wins" to algorithms

Stop: Feeding conversion values back to Google and Meta but ignoring zeros, negatives, and high-servicing-cost leads that didn’t convert.

Do: Send zero-value events daily for failed leads; use exclusions/custom conversions to approximate negatives; document the zero-value event definitions and keep a change log.

Why: Algorithms optimise toward what you reward; feeding only wins trains them to maximise volume, not value.

Stop reporting ROAS that Finance can't tie to cash

Stop: Publishing ROAS based on attributed revenue that doesn’t reconcile to recognised revenue, bookings, or cash collection.

Do: Run a monthly Finance reality check—map ROAS → recognised revenue → cash—and keep an attribution notes log.

Why: If ROAS doesn’t tie to cash, it’s theatre; Finance stops trusting the number, and marketing loses budget credibility.

Quick Comparisons — When Not To Use ROAS

ROAS measures revenue per £ of ad spend. It isn’t the right lens for every decision. Use ROI for profit on total investment, CAC for the cost to acquire a customer, CPA for action cost (paired with profit checks), and MER for whole-budget efficiency across all spend.

When to use ROAS / ROI / CAC / CPA / MER

Metric Best used for Key difference Simple formula
ROAS Channel control; campaign optimisation Revenue per ad pound; ignores margin/overheads Attributed revenue ÷ ad spend
ROI Profit view; board reporting Profit on total investment (Revenue − total cost) ÷ total cost
CAC Customer acquisition economics Cost per new customer Total acquisition cost ÷ new customers
CPA Action-based campaigns Cost per conversion event; not profitability Cost ÷ conversions
MER Whole-budget efficiency Portfolio view across all marketing Total revenue ÷ total marketing spend

ROAS vs ROI: Use ROI when judging profit on the full investment; ROAS tracks ad efficiency only.

ROAS vs CAC: Use CAC when you need cost per customer; ROAS does not show unit economics.

ROAS vs CPA: Use CPA for action cost, but pair with profit checks; low CPA does not equal profitable.

ROAS vs MER: Use MER for portfolio efficiency across all spend; ROAS isolates paid channels.

Scope note: Add scope labels when quoting ROAS (model, lookback window, revenue definition, cost base). For ROI/MER, specify whether costs are fully loaded (media + fees + overheads).

Guardrails & Checklists

Break-even ROAS by margin band (rounded to 1 decimal place)

Scope: gross ROAS; cost base: media + platform fees; margin: after COGS/discounts, before overheads.

Gross margin Break-even ROAS What it means
30% 3.3× Must return £3.30 per £1 of ad spend to cover costs
40% 2.5× Must return £2.50 per £1 of ad spend to cover costs
50% 2.0× Must return £2.00 per £1 of ad spend to cover costs
60% 1.7× Must return £1.70 per £1 of ad spend to cover costs
70% 1.4× Must return £1.40 per £1 of ad spend to cover costs

Break-even ROAS is 1 ÷ gross margin (decimal). Anything above break-even contributes to profit; anything below destroys value.

Quarterly value-map review

Review your platform value map every quarter and after major offer changes. Check:

  • Pipeline stage weights still match actual conversion rates and deal velocity (weights sum to 100%).
  • Revenue values reflect current pricing, not last year’s rate card.
  • Margin contributions are updated for COGS changes or new service tiers.
  • Platform signals align with business priorities (expansion revenue, enterprise deals, high-retention segments).
  • Zero-value feedback rules remain accurate (what counts as junk; what gets suppressed).
  • Audit: document changes in a value-map change log; spot-check 20–50 recent conversions for correct value assignment.

Data-truth checklist (run before records enter your CRM)

  • Validate structure: Email syntax, domain validity, phone routing, postcode/ZIP format.
  • Check intent & behaviour: Flag privacy-cloaking services, nonsense or auto-filled names, abnormal typing/mouse patterns.
  • Check congruence: Role, company size, and location make sense for your ICP; reject obvious mismatches.
  • Deduplicate: Match email + domain + company ID (handle alias domains); resolve at person and account level.
  • Verify consent: Capture lawful basis, timestamp, and source; store proof; honour suppression requests immediately.
  • Block bots: CAPTCHA, behavioural signals, and honeypot fields.

Audit completeness: Track missing UTMs, absent click IDs, and unlinked opportunities weekly; fix at source.

Conclusion

Fix the system first, then the channels. Most ROAS failures are systemic: bad intake data, incomplete cost accounting, missing value maps, and numbers that don’t reconcile to cash. These ten fixes are governance, not hacks—they protect margin, improve signal quality, and give Finance numbers they can sign off. Apply the formulas, add one scope label, run the quarterly checks, and tie ROAS to recognised revenue every month. That’s how marketing earns trust in the boardroom and builds budgets on proof, not theatre.

Want the wider context? Read our complete ROAS guide. If you’d like help putting this into practice, book a short call with Leadscale.

FAQs

Add a single scope label wherever you cite ROAS: (model, lookback window, revenue definition, cost base). Example: (model: data-driven; window: 180-day; revenue: recognised; cost base: media+fees). This prevents apples-to-oranges comparisons and enables reconciliation to cash.

Add a single scope label wherever you cite ROAS: (model, lookback window, revenue definition, cost base). Example: (model: data-driven; window: 180-day; revenue: recognised; cost base: media+fees). This prevents apples-to-oranges comparisons and enables reconciliation to cash.

Use gross ROAS for channel control (media+fees). Use net ROAS for profit decisions: (attributed revenue − COGS − platform fees − discounts) ÷ ad spend. Report both, but make targets and stop/go rules on net.

Weight the outcomes you care about: qualified opportunity → pipeline → recognised revenue × margin. Push those values to Google/Meta/LinkedIn and review quarterly (and after major offer changes). Algorithms chase the signals you feed them.

Break-even ROAS = 1 ÷ gross margin (decimal). Above break-even adds value; below destroys it. Example: 50% margin → 2.0×. Use it as a guardrail alongside net ROAS and payback when allocating budget.

Validate before CRM entry: email/phone checks, bot and behaviour filters, consent capture, congruence with ICP. Deduplicate at person and account level. Maintain global suppression lists so failed cohorts aren’t re-targeted.

Send zero-value events for failed or unprofitable leads and use exclusions/custom conversions to approximate negatives. Keep a change log of event definitions. This teaches bidding systems what to avoid, improving efficiency.

Run a monthly Finance reality check: ROAS → recognised revenue → cash received. Document gaps with scope notes (model/window/revenue/cost base). If it doesn’t tie to cash, treat it as a measurement problem to fix, not a win to report.