What to Do When a Client Questions Your Ads Numbers
The email arrives first thing on a Monday. “These lead numbers don’t match what my sales team is seeing.” Or the blunter version: “I’m not sure I trust this report.”
Your first instinct is to defend the number. Resist it. The client is not accusing you of lying, they are telling you that two systems in their business disagree and nobody has explained why. That is a fair thing to be uncomfortable about. How you handle the next few hours decides whether this becomes a routine reconciliation or the beginning of the end of the account.

Slow down before you answer
The worst reply is a fast one. A quick “the tracking is fine, Meta counts differently” reads as a brush-off even when it is true, and it burns the one chance you have to look thorough.
Send a short holding reply the same day. Something like: “Good question, and worth getting right. Let me pull the raw numbers behind that line and walk you through exactly where each one comes from. I’ll have it to you by tomorrow afternoon.” Then actually do it.
That reply does three things. It signals you take the question seriously, it buys you time to check whether they are right, and it turns defend-versus-attack into a shared investigation.
Work out which of the four things is actually happening
Almost every “your numbers are wrong” conversation is one of these. Identify which before you write a word of explanation.
- Two systems counting different events. Meta counts a lead when someone submits the form. The CRM counts a lead when it lands in the pipeline, after deduplication, junk filtering, and the sales team deleting obvious spam. Those are different events, so they produce different totals. Neither is wrong.
- Two systems counting different windows. Your report covers the calendar month. Their CRM report covers a rolling window, or their fiscal period, or whatever their dashboard defaults to. Attribution windows compound this: a conversion Meta credits to a click can be recorded by the client on the day the sale closed, which may be a different week entirely.
- A real tracking problem. The pixel fires twice on a page. A form was rebuilt and the event never got reattached. A CRM integration silently stopped syncing. This one is genuinely your problem, and finding it fast is how you keep the relationship.
- The number is right and the performance is disappointing. Sometimes “these numbers look wrong” means “these numbers look bad and I hoped there was a mistake.” That is a different conversation, and hiding behind reconciliation will not save it. If that is where you have landed, explaining a bad month of ads to a client covers the ground this post does not.
Go to the raw data, not to your report
Do not reconcile from the summary you already sent. That summary is the thing under question, so using it as evidence is circular.
Open the ad account and drill down. Pull the campaign, then the ad set, then the individual ads. Note the exact date range you queried, the exact ad account, the exact attribution setting, and the exact metric name. Then ask the client, politely and specifically, for the same four from their side.
Often the discrepancy dissolves right there. They were looking at a different ad account, or a filtered view, or a month that started on a Sunday.
When you are working across several ad accounts for the same client, this is where it gets fiddly. Pulling the underlying rows should be quick, not an afternoon of exports. DashOps lets you drill from campaign down to ad set and ad in one view and switch between the client’s ad accounts without re-exporting anything, which matters when the reconciliation is time you are not billing for.
Write the reconciliation, not the defence
When you reply properly, the shape matters more than the length. Structure it like this:
State both numbers plainly. Quote Meta’s figure for that ad account and period, then the client’s own figure for the same period, in the same sentence, neither one edited or softened. Putting the client’s number in your own email, unedited, is the single strongest trust signal available to you.
Explain the mechanism, not the excuse. “These count different things. Meta records a submission the moment someone taps send. Your CRM records a lead after your team removes duplicates and obvious junk. So Meta’s figure will always sit above your CRM’s.”
Give the reconciliation. Where you can, account for the gap line by line: duplicate submissions from the same phone number, entries with obviously fake email addresses, and the ones that arrived on the last day of the month and were logged on the first of the next. You will rarely close the gap to zero, and you should say so rather than fudge it.
Say what you checked and what you found. “I confirmed the pixel is firing once per submission and the form event is still attached after the last site update.” If you found a real problem, lead with that, say what you have already fixed, and say what you are still fixing.
Agree which number is the one you both use. This is the part most agencies skip, and it is the part that stops the same email arriving next month.
Pick a single source of truth and put it in writing
Once you have reconciled, do not leave it hanging. Propose one number as the one you both manage against.
Usually the client’s own system wins. It is closer to revenue, it is the one their board sees, and arguing for the platform’s figure over their own CRM makes you look like you are protecting your reporting rather than their business. Meta’s number then becomes the operational figure you optimise against day to day, a role worth naming out loud: you need it to judge which creative and audience is working, because the CRM cannot tell you which ad a lead came from.
Then change your reporting to match. Show the platform figure and the client’s figure side by side every period, with the expected gap noted, instead of showing one and waiting to be asked about the other. A discrepancy you predicted is a sign of competence. The same discrepancy discovered by the client reads as sloppiness, even though the underlying data is identical.
That principle sits at the heart of the wider skill, covered in the main guide on how to present Facebook Ads results to clients. It is also why reports get ignored, a related failure explored in why clients ignore ads reports.
Handle the version where you were wrong
Sometimes you check and the client is right. The tracking broke, the numbers you have been sending for weeks are inflated, and there is no reconciliation that makes that acceptable.
Say so directly, in the first line, without cushioning. Name the period affected, give the corrected figures, explain what caused it, and say what you have changed so it does not recur. Do not bury it in a longer update, and do not let them find it in next month’s report.
Clients forgive tracking errors far more readily than they forgive discovering one you knew about. The account that survives this is the one where you sent the correction before they noticed.
Build the checks that stop the next one
Most of these conversations are preventable, and the prevention is boring maintenance, not clever reporting.
- Spot-check the platform figure against the client’s system each period before you send anything, and note the gap in the report itself.
- Test your lead forms yourself after any website change, form rebuild, or CRM migration. Submit a real test entry and confirm it lands everywhere it should.
- Put the date range, attribution setting and ad account on every report, so a mismatch is spotted at a glance rather than debated in emails.
- Export the raw leads periodically and read them. Duplicates, junk entries and misfiring fields are obvious there and invisible in a summary. DashOps can export Instant Form leads as CSV or Excel directly, which makes this a routine habit rather than a project.
- Send something regularly enough that no single report carries the weight of a whole quarter. A short weekly digest surfaces a tracking break within days instead of at the month-end review.
What to do next
If you have an open question from a client right now, do these four things in order. Send the holding reply today. Pull the raw rows and note your exact date range, ad account and attribution setting. Ask the client for the same four details from their system. Then write the reconciliation, with both numbers stated plainly and one named as the source of truth going forward.
If nobody is questioning your numbers today, use that quiet to run the spot-check anyway on your two or three largest accounts. Finding a broken form event yourself is a small Tuesday task. Having a client find it is something else entirely.
Frequently asked questions
Why do Meta's lead numbers never match my client's CRM?
Should I use the platform number or the client's number in reports?
What if I check and the tracking really was broken?
How do I stop this coming up again next month?
How quickly should I reply when a client challenges a number?
See it in your own dashboard
DashOps brings Meta Ads reporting, campaign management, and white-label client portals into one place. Pick the plan that fits how you run ads.