Your Meta dashboard reports more conversions than your client can find in their accounting. That gap is not a mistake in your setup. It is the predictable result of browser tracking breaking down after iOS 14 and the end of third-party cookies, and the fix is to measure conversions first-party and server-side, then send them back to the platform.
Why does Meta report conversions your client cannot reconcile?
For years the ads manager and the client's revenue told roughly the same story. A campaign reported forty leads, the client booked something close to forty, and the retainer conversation was easy. That reconciliation is what agencies were really selling: proof that the media worked.
Then the ground shifted. Apple's App Tracking Transparency, Safari's Intelligent Tracking Prevention, and the slow death of the third-party cookie mean a growing share of conversions never reach the ad platform in the browser at all. The platform fills the hole with modeled and estimated conversions. The number on the screen goes up, but it drifts away from the number in the client's bank account.
For the agency this is a credibility problem, not a reporting nicety. When the dashboard stops reconciling to real sales, every review meeting turns into a debate about whether the numbers are real. That is exactly the moment a client starts wondering whether the retainer is worth it.
The durable fix is first-party, server-side measurement. A per-tenant first-party tracking snippet captures every visit and preserves the ad click ID at the source, where browser pixels lose it. When a visitor identifies or a lead is captured, identity resolution folds those click IDs onto one canonical person record, so an anonymous click from weeks ago is now attached to a named lead and, later, to a won deal.
The last step closes the loop. When a deal advances to booked or won, Metiva fires a server-to-server conversion back to Meta with the hashed data and the original click ID, deduplicated and retried so it is not a fragile script. The platform now optimizes toward conversions that actually became revenue instead of cheap form fills it could still see.
The reason this reconciles is simple: you are counting deals that closed in the CRM, not browser events the platform guessed at. The same system that holds the pipeline holds the attribution, so the report you hand the client and the revenue they can see are finally the same story. That is the difference between renewing a retainer and defending one.