← Back to Troubleshoot
Complete Guide
Leads & Tracking

Attribution windows, and why Meta's numbers never match your CRM

Meta and your own systems are both counting correctly and reporting different totals. They are answering different questions over different time periods with different definitions of a conversion. A gap is expected and normal, up to a point. This page covers which window to run, why the numbers diverge, and how large a gap should worry you.

In this guide

Which attribution window should I use (7-day click, 1-day view)?

The attribution window sets how long after an ad interaction Meta will claim credit for a conversion. The default, 7-day click plus 1-day view, consistently over-reports, because view-through credit assigns conversions to people who saw an ad and did not click it. For most advertisers, 7-day click only is more accurate.

Match the window to how long your customers actually take to decide:

Purchase behaviourWindow
Impulse purchases1-day click
Most ecommerce7-day click
B2B and considered purchases28-day click
  1. Check the current window in your Ads Manager column settings. Many accounts have never changed it.
  2. Compare Meta-reported conversions with your own data for the same period.
  3. Run the breakdown that separates click-through from view-through conversions. That single view shows how much of your reported performance is view credit.
  4. Assess your typical purchase cycle honestly, using your own order data rather than an assumption.
Changing the window changes the report, not the performance. Switching off view-through will make your numbers look worse overnight while the business does exactly as well as it did before. Change it once, note the date, and compare like with like afterwards.

Meta Ads Attribution -- How It Works and Why Numbers Look Inflated

Meta's attribution model is one of the most misunderstood parts of the platform. Understanding it does more than explain the discrepancy with your CRM: it changes how you evaluate campaign performance, because several of the things that look like results are definitional.

Four mechanisms inflate the reported figure relative to what you would count yourself.

  • View-through credit. Someone who saw an ad without clicking, then bought, can be credited to the ad. Whether the ad caused that is a different question from whether it preceded it.
  • Last-touch within the window. Meta credits the interaction it saw, and it cannot see what else contributed. A customer who found you through search, a newsletter and then an ad appears as an ad conversion.
  • Modelled conversions. Where tracking is limited, some reported conversions are statistical estimates rather than observed events. This is correct behaviour and it means the number is not a receipt.
  • Reporting delay. Conversions are attributed to the day of the click, not the day of the purchase, and they arrive over the following days. The most recent days of any window are always incomplete.

Each of those four is a documented property of the model rather than a fault: the platform reports what it can observe, within a window you chose, using a credit rule you can change. The error is treating that output as a count of sales.

Why do Meta numbers not match my CRM or Shopify?

Attribution, delays, deduplication and tracking gaps all create differences. The goal is consistency in decision-making rather than identical numbers, because identical numbers are not achievable and chasing them wastes weeks.

  1. Align attribution windows across systems, or at least know that they differ. Comparing a 7-day click window against a CRM's last-touch-forever model guarantees a gap.
  2. Check deduplication rules and event priority, so one purchase is not being counted twice or discarded. Deduplication covers the mechanism.
  3. Check your server-side setup and match quality, since poorly matched events are conversions Meta cannot attribute to anyone. See event match quality.

Day boundaries are worth singling out. Meta reports in the ad account's timezone against the click date; your CRM records in its own timezone against the order date. Those two facts alone produce a permanent gap that no configuration fixes.

Why Do Meta Numbers Not Match My CRM?

A discrepancy between Meta-reported conversions and your CRM is expected and normal, up to a point. Understanding the mechanism tells you when to investigate and when to accept the gap, which are different responses to the same observation.

Accept the gap when it is stable. A consistent difference of a similar proportion month after month is two systems measuring differently, which is fine. Learn your own normal range and use it as a control.

Investigate when the gap changes. A stable gap that suddenly widens or narrows is the actual signal, because something moved: a tracking change, a new consent banner, a site deployment, a second pixel, or a broken server connection. The gap's direction narrows it down. Meta reporting far more than your CRM points at double counting or view-through credit. Meta reporting far less points at lost events.

One threshold is worth knowing: comparing All Conversions against your own order count, a gap above roughly 50 per cent is unusual enough to be worth investigating rather than accepting.

How to decide with two sets of numbers

You do not need the two systems to agree. You need one number you trust for decisions and one you trust for optimisation, and they can be different numbers.

For optimisation, use Meta's. Whatever its biases, it is the signal the algorithm learns from, and it is internally consistent enough to compare one ad set against another.

For deciding whether to spend, use your own. Total revenue over total spend, and new-customer acquisition cost, do not depend on attribution at all. The MER and nCAC calculator works both out, and the measurement guide covers building a view you can defend.

The practice that makes this workable is reconciling on a fixed cadence rather than continuously. Compare monthly, record the gap, and treat a change in the gap as the alarm. That way the discrepancy becomes a monitoring tool instead of a weekly argument.

Common questions

Should I turn off view-through attribution?

Yes, or at least look at your numbers without view-through before deciding, for the reason given at the top of this page: the default over-reports and 7-day click only is the more accurate setting. View-through credits conversions to people who never clicked, which flatters retargeting in particular. Turning it off makes reporting look worse and decisions better.

Which number do I report to my board?

Your own. Total revenue against total spend is defensible, does not depend on a platform's credit rules, and does not change when you adjust a setting. Use Meta's numbers to decide which ad set to scale, not to tell anyone how the business is doing.

Why did my conversions drop when I changed the attribution window?

They did not. The window governs which conversions Meta claims, so a shorter window claims fewer. Nothing about the business changed at that moment, which is why the change is worth making once and then leaving alone.

Meta says 40 conversions, Shopify says 25. Which is right?

Both, for the question each is answering. Meta is counting conversions it can associate with an ad interaction inside your window, including any view-through and any modelled ones. Shopify is counting orders. Work out your own normal ratio between them and watch that ratio rather than the two totals.

Does a longer window mean better performance?

It means more credit, which looks like better performance. A 28-day window captures genuinely longer consideration cycles, which matters for B2B, and it also captures more coincidence. Pick the window that matches how your customers actually buy, then stop moving it.

Get a number that does not depend on attribution

The MER and nCAC calculator works from total revenue and total spend, so no credit rule can move it. The measurement guide covers the reporting view to build around it.