Your paid media reports show different conversion numbers than your CRM because the ad platforms and the CRM are counting different things by different rules. Platforms credit conversions within their own attribution windows, include view-through and modeled conversions, report by the date of the ad click rather than the date of the lead, and each claim the same person independently, while the CRM counts deduplicated records by creation date and tracks stages the platforms never see. Some gap is normal. A large or changing gap is a tracking problem to fix.
This guide explains each cause of the discrepancy and how to reconcile it, the four numbers we build every report around, and what level of reporting you should expect from a paid media partner and how often.
Why paid media reports show different conversion numbers than your CRM.
Every discrepancy comes from one of a handful of causes. Work through them in this order, because the first few explain most gaps.
| Cause | What happens | How to reconcile |
|---|---|---|
| Attribution windows | Each platform credits conversions within its own lookback window after a click or view, even if the person came back through another channel | Document each platform's window and compare CRM leads to platform conversions over the same window |
| View-through conversions | Someone who saw an ad but did not click can be credited when they later convert | Report click-through conversions separately and treat view-through as supporting evidence |
| Modeled conversions | Platforms estimate conversions they cannot observe because of consent choices, browser limits, or device changes | Expect platform totals to include modeled figures; the CRM will not have them |
| Click date vs conversion date | Google Ads reports conversions against the date of the ad click by default; the CRM uses the date the lead was created | Use the platform's by-conversion-time columns or compare longer periods |
| Duplicates | Tags fire twice, thank-you pages reload, or several platforms each claim the same person | Deduplicate with transaction or event IDs and audit tags for double firing |
| Offline stages | The CRM tracks qualified, booked, and closed stages the platforms never see, and filters spam and bad numbers | Import offline conversions from the CRM into the platforms using the captured click ID |
Attribution windows are the biggest single cause. Google Ads defaults to a 30-day click-through window for most conversion actions, and Meta's default attribution setting is 7-day click and 1-day view. A person who clicked an ad, left, and returned through organic search three weeks later is a conversion in Google Ads and an organic lead in your CRM. Neither is wrong; they are answering different questions.
Duplicates across platforms are the reason the sum of platform-reported conversions routinely exceeds the business's real total. If one person clicks a Meta ad on Monday and a Google ad on Wednesday, both platforms count the lead. Your CRM counts one. This is why leads, orders, and revenue in the report should come from the CRM or the store, and the platform numbers should be used to compare campaigns within a platform.
How to reconcile platform conversions with the CRM.
The server-side piece matters more each year as browsers and devices limit client-side tracking. We cover the setup in server-side tracking and Conversions API.
The four numbers that matter.
A report exists to support a decision: keep spending, spend more, spend less, move budget, or stop. Those decisions need four numbers, each with a named source of truth.
- Spend: from the platforms for the period, reconciled to invoices monthly, with agency fees shown next to media rather than hidden.
- Leads or orders: from the CRM or store, using a lead definition agreed in writing, with new and returning customers separated for e-commerce.
- Cost per lead or acquisition: spend divided by leads or orders, reported both media-only and fully loaded with fees, and both per raw lead and per qualified lead.
- Revenue or pipeline attributed: from the store or CRM, tied to paid media through click IDs, reported as pipeline weekly and closed revenue monthly or quarterly for long sales cycles.
Everything else on a dashboard (impressions, click-through rate, cost per click, frequency, quality score) is diagnostic. It explains why one of the four numbers moved. It should not lead the report.
“A report exists to support a decision. If a number on the page would not change what you do with the budget, it belongs in the appendix.”
Adjusting the four numbers for long sales cycles and e-commerce.
The four numbers stay the same across business models; the source of truth and the timing change. For lead businesses with long sales cycles, closed revenue arrives weeks or months after the click, so the weekly readout reports pipeline created (estimates, opportunities, or booked appointments with their value) and the monthly or quarterly review reconciles closed revenue as deals resolve. The click ID stays on the CRM record so credit lands on the right campaign whenever the deal closes.
For e-commerce, revenue comes from the store, not the platform's purchase value column, and orders are split into new and returning customers so acquisition and retention do not share one cost figure. Refunds and cancellations are subtracted in the monthly view. For both models, the report should state in one line which system each number came from, so nobody has to guess.
What level of reporting to expect from a paid media partner.
A paid media partner should give you reporting at several layers, each with a clear purpose and a fixed cadence. This is the standard we hold ourselves to and the standard we would expect when hiring someone.
- Live dashboard, always on: a dashboard you own (for example in Looker Studio) showing the four numbers by channel and campaign, fed from the platforms and the CRM, with sources labeled.
- Weekly readout: a short written note stating the four numbers, what changed in the accounts, why, and anything that needs your decision.
- Monthly review: numbers reconciled to the CRM and invoices, the platform versus CRM reconciliation note, tests run and their results, and next month's plan.
- Quarterly strategy review: channel mix, budget allocation, lead quality trends from sales, and whether the conversion definitions still match the business.
- Alerts between reports: notice within a day when spend spikes, conversions drop to zero, a tag breaks, or an account gets a policy disapproval.
- Full access, always: administrative access to every ad account and analytics property in your name, so you can check any number yourself.
If a partner's report cannot be understood by someone who has never opened Google Ads, it is written for the partner. If it never mentions the CRM, it is reporting the platforms' opinion of themselves. We build client dashboards on Looker Studio so the report lives in your account and outlasts any engagement.
What usually goes wrong.
- Platform conversions reported as leads, so the report shows more leads than the sales team ever received.
- Cost per lead reported on media only while an agency fee sits on top, producing a number nobody can act on.
- Return on ad spend taken from the platform's purchase value column rather than store revenue.
- Click IDs not captured on forms, making offline conversion import impossible.
- Conversion definitions changed mid-quarter without a note, breaking every trend line.
- A dashboard that nobody owns, so broken data sources go unnoticed for weeks.
Where the software stops and the work begins.
Google Ads, Meta, GA4, and your CRM each report accurately by their own rules. The work is making them agree well enough to decide on: click ID capture, deduplication, server-side conversion delivery, offline conversion import, a dashboard with labeled sources, and a written readout on a fixed cadence. That measurement and reporting layer is the core of how Theory Road runs paid media for every engagement.
Why do our paid media reports show different conversion numbers than our CRM?
Because ad platforms use their own attribution windows, count view-through and modeled conversions, report by click date, and each claim the same person, while the CRM counts deduplicated leads by creation date and filters junk. A steady gap is normal; a sudden change usually means broken or duplicated tracking.
What level of reporting should I expect from a paid media partner?
Expect a live dashboard you own, a weekly written readout of spend, leads or orders, cost per lead, and revenue or pipeline, a monthly review reconciled to your CRM, a quarterly strategy review, alerts when something breaks, and administrative access to every account so you can verify any number.
Which number should we trust, the ad platform or the CRM?
Trust the CRM or store for leads, orders, and revenue, and the platforms for spend and for comparing campaigns within a single platform. Platform conversions are useful for optimization but overlap across channels, so adding them together overstates results. The report should label which source each number comes from.
How big a gap between platform conversions and CRM leads is normal?
There is no universal figure, because it depends on channel mix, attribution settings, consent rates, and how much spam your forms receive. What matters is that the gap is explained by cause and stable over time. A gap that changes suddenly is almost always a tracking change, not a performance change.
Should cost per lead include agency fees?
Report it both ways. Media-only cost per lead is useful for comparing campaigns and channels with each other. Fully loaded cost per lead, including management fees and tools, tells the business whether the channel is worth what it costs, and it is the number that should drive budget decisions.