Cometly
AcademyModule 05 · Strategy & Reporting
PLG + SLGReportLesson 5.2·8 min read

The CFO-ready ROAS report

Real ROAS, not platform-reported. The number that survives audit.

The CFO-ready ROAS report is the one number that has to survive scrutiny from finance, audit, and the board. It’s also the one number that platform-reported ROAS gets dramatically wrong — usually by 30–60%, almost always in marketing’s favor.

Why this matters

When marketing reports ROAS that doesn’t reconcile to the income statement, finance stops trusting marketing’s numbers. That distrust takes years to repair and quietly tanks every budget conversation that follows. A reconciled, methodology-documented ROAS report is the foundation for every credit decision in subsequent quarters.

Section 01

How to build it

Pick one attribution model and one window with finance. Linear or U-shaped is most common; the window should match your sales cycle (60–90 days for SLG, lifetime for PLG cohort views).

Build a Source Attribution table grouped by Source with columns for Spend, Attributed Revenue, ROAS, Refunds, Chargebacks, Net Revenue, and Net ROAS. Add a paid-only and blended view as separate tabs.

Reconcile the total Attributed Revenue against Stripe (PLG) or the CRM Closed-Won total (SLG) every month. The match should be ≥ 95%. Anything lower means there’s a tracking gap that needs investigation before the report is shared.

  • Lock the attribution model and window with finance
  • Build paid-only, blended, and incremental ROAS columns separately
  • Subtract refunds and chargebacks for Net ROAS
  • Reconcile to Stripe / CRM totals monthly
  • Document the methodology in a one-pager attached to the report
Section 02

Defending the report

Every CFO eventually asks the same three questions: 'Why don’t these numbers match the platform?', 'Why don’t these numbers match Stripe?', and 'Why is the model what it is?' Have a one-page answer for each.

The platform mismatch comes from view-through credit, branded-search overcounting, and double-attribution. Stripe mismatch should be < 5% and is usually a missing event mapping. The model choice is a methodology decision documented up front, not a quarterly debate.

Common pitfalls

What to watch for.

  • Using platform-reported ROAS

    Meta and Google over-report. Always use Cometly first-party data for the CFO-facing number.

  • Switching models or windows mid-quarter

    If the methodology changes, every comparison becomes invalid. Lock once and document.

  • Skipping refund and chargeback subtraction

    Gross ROAS is always optimistic. Net ROAS is the number that matches the income statement.

Key takeaways

Recap.

  • Use the same attribution model and window every period — don’t cherry-pick
  • Reconcile total attributed revenue against Stripe or CRM totals monthly (target ≥ 95% match)
  • Show paid-only ROAS, blended ROAS, and incremental ROAS as separate columns
  • Include refunds, chargebacks, and churn so net-revenue ROAS is honest
  • Document the methodology in a one-pager so the report is defensible in audits
Put it into practice

Build this report inside your own Cometly workspace.

Most lessons can be wired up in a single 30-minute onboarding call. Connect your stack live and walk away with a working dashboard.