← All pieces
InsightOctober 28, 2026

CRM-Reported Revenue vs. Platform-Reported ROAS

Two ROAS Numbers, Two Different Questions

A local business spends $10,000 on advertising. Google Ads and Meta collectively attribute $50,000 in conversion value, suggesting a 5.0x return on ad spend. The CRM or POS records only $32,000 from customers associated with paid media.

That does not automatically mean the platforms invented $18,000. It means the systems are answering different questions:

  • Ad platforms ask: Which revenue can our attribution rules connect to an ad interaction?
  • The CRM or POS asks: Which leads became identifiable customers, and how much completed revenue was recorded?

Google Ads documents that conversion reporting depends on the selected attribution model and conversion window. Meta likewise distinguishes click-through and view-through attribution. Neither platform is designed to serve as an independent financial ledger.

For a local business, the useful question is not, “Which dashboard is correct?” It is, “Where did the difference enter the reporting chain?”

1. Cross-Device and Identity Drop-Off

A customer may discover a business on a phone, research it later on a laptop, call from a work line, and finally pay in person. The ad platform may connect some of those interactions through signed-in or modeled identity. The CRM may only receive a name, phone number, and manually entered lead source.

Illustrative magnitude estimate: In a business with substantial phone and in-person activity, assume 10%–25% of ad-influenced revenue cannot be matched cleanly from the CRM back to the original click. This is a diagnostic range, not a published benchmark.

Test it by comparing:

1. Leads with a captured click ID or UTM data. 2. Leads labeled only as “Google,” “Facebook,” or “internet.” 3. Customers with no source recorded. 4. Call and form records that share a phone number or email with closed CRM opportunities.

If unattributed customers rise while total sales remain stable, the likely problem is identity capture—not necessarily campaign performance.

2. View-Through Attribution Can Expand Platform ROAS

View-through attribution gives an ad some credit when a person sees it, does not click, and later converts. That can reveal influence that click-only reporting misses. It can also claim revenue that might have occurred through branded search, referrals, repeat behavior, or another channel.

Illustrative magnitude estimate: For a Meta campaign with broad reach, model view-through conversions as contributing 5%–30% of platform-attributed value. The share can be lower for high-intent search and higher for impression-heavy social campaigns. This is a scenario range, not measured research.

Run a clean comparison:

  • Separate click-through from view-through conversions.
  • Compare one-day and longer attribution windows where the platform permits it.
  • Check whether reported conversions rose without a similar movement in qualified leads, appointments, or completed sales.

Do not automatically delete view-through value. Label it separately. A useful report might show confirmed CRM revenue, click-attributed platform revenue, and view-through influenced revenue instead of blending all three.

3. Duplicate Conversion Counting

Duplication occurs when one customer action enters reporting more than once. A form submission may trigger a thank-you-page conversion, a button-click event, and an imported CRM conversion. One purchase might also be claimed by both Google Ads and Meta because the customer interacted with both platforms.

Illustrative magnitude estimate: In an account with overlapping tags and imported conversions, audit for 5%–20% duplicate conversion value. Severe implementation errors can fall outside that range; treat it only as a starting hypothesis.

Trace one real customer from first touch to payment. Record every event and ask:

  • Are page views, calls, form submissions, bookings, and sales all marked as primary conversions?
  • Does a reload fire the same event again?
  • Is the same closed sale imported more than once?
  • Do separate platforms each claim full revenue for the same transaction?

Primary optimization should usually center on the deepest reliable event. Micro-conversions can remain diagnostic, but they should not masquerade as revenue. This is the same measurement discipline behind RSAs vs. SKAGs: Which Wastes More Local Ad Budget? and Where Local Ad Budgets Leak by Funnel Stage: distinguish activity from business outcomes.

4. Offline Revenue Arrives Late

Many local sales do not close during the ad platform’s reporting cycle. A lead may request an estimate today, approve it three weeks later, and pay after the job is completed. During that interval, the CRM shows pipeline rather than collected revenue. Depending on upload timing and attribution windows, the platform may show a modeled or imported conversion earlier, later, or not at all.

Illustrative magnitude estimate: For a service business with a multi-step sale, assume 15%–40% of eventual revenue may remain open or unrecorded at a 30-day reporting cutoff. This is a worked planning range, not an industry benchmark.

Use revenue cohorts instead of a single calendar snapshot. For example, group leads by the month they were created and update their status at 30, 60, and 90 days. That prevents a campaign from looking weak simply because its deals are still open—or strong because booked estimates have not yet become paid work.

The principle also applies to campaign diagnostics such as Ad Frequency vs. CPL: A Local Meta Ads Model: timing and downstream value matter more than an isolated front-end metric.

A Revenue-First Reconciliation Model

Nika Spark’s revenue-first reporting approach treats the CRM or POS as the ledger and ad platforms as attribution and optimization systems. The goal is not to force every dashboard to match. It is to explain the gap consistently.

Use this monthly reconciliation:

1. Start with spend by platform and campaign. 2. Record platform-attributed value, split by click-through and view-through where possible. 3. Deduplicate customers and transactions across campaigns and platforms. 4. Match CRM opportunities using click IDs, UTMs, phone numbers, emails, and timestamps. 5. Separate booked, completed, and collected revenue. 6. Cohort immature leads so late-closing sales can be added later. 7. Calculate confirmed ROAS: collected CRM revenue attributable to paid media divided by ad spend. 8. Show the unresolved gap as a dollar amount, not a footnote.

Worked example: Suppose spend is $10,000, platform-attributed value is $50,000, and matched collected CRM revenue is $32,000. Confirmed ROAS is 3.2x. Rather than reporting either 5.0x or 3.2x as unquestionable truth, investigate the $18,000 gap across identity loss, view-through credit, duplication, and open pipeline.

That produces a decision-grade report: confirmed revenue for financial planning, pipeline for forecasting, and platform signals for campaign optimization. If your Google Ads or Meta ROAS keeps drifting away from recorded sales, book a call with Nika Spark to map the attribution chain before changing the budget.

Sources

  • 1.Google Ads Help — Documentation on attribution models and how conversion credit is assigned across ad interactions link
  • 2.Meta Business Help Center — Documentation on attribution settings, including click-through and view-through reporting link

See where your budget is actually going.

We run the full funnel and reallocate spend by data — a weekly revenue number, not a report of impressions.