Why your ad account and your CRM never agree

Ad platforms book conversions on the click date, CRMs on the record date. How to find where leads are lost and reconcile a single day.

ADS Beast editorial teamPublished Updated 3 min read

The ad account reports one lead count, the CRM reports another, and both are right. The gap is not an arithmetic error. The two systems count different events, record them at different moments, and file them under different days.

In short

  • The ad platform books conversions on the click date, the CRM on the record date.
  • Some leads never arrive: form, webhook, duplicate, spam filter.
  • Platform attribution is wider than "someone arrived and left a phone number".
  • Reconcile individual leads from a single day, not monthly totals.
  • Until the gap is explained line by line, budget decisions are premature.

One event, two dates

Google Ads and Meta record a conversion against the click date, not against the day the person filled in the form. Someone clicks on Monday, thinks it over, and submits on Wednesday. The ad account files that lead under Monday. The CRM creates the record on Wednesday.

Over a month this evens out. Over a week it does not, and it is most visible at the edges of a period: the last days keep filling in for several more days after the period closes.

The lead exists, the record does not

The second cause is loss in transit. There are only a few, and each is checked separately:

  1. A lead form hands data only to an app that holds lead access permission and a valid page token. Once the token expires, leads stay in the ad account.
  2. The webhook answers something other than 200. The sender retries a few times, then stops.
  3. A duplicate phone number merges into an existing record. Two events in the ad account, one record in the CRM.
  4. The CRM spam filter routes the lead to a separate folder that never reaches the report.

The first two produce clean gaps: no leads at all from a given hour onward. The last two produce a steady percentage shortfall.

Attribution counts more than the form

The platform counts whatever you told it to count. If both form submissions and calls from the site are set as conversions while the CRM tracks only forms, the difference is permanent and explainable. Attribution windows do the same thing: a seven day click window and a one day view window are two different numbers for the same period.

How to reconcile in practice

Comparing monthly totals gets you nowhere: the two sums disagree and there is no way to tell where to look. Work in the opposite direction.

Take one day. Export the platform leads with their ids and the CRM records for that day and the next. Match on phone and email. Every row falls into one of four groups: present in both, present only in the ad account, present only in the CRM, present in both on different days. The third group is traffic from other sources. The second group is your loss, and its cause is always technical.

Then repeat on a day from another period. If the picture repeats, the problem is structural. If it does not, there was a one off failure and you now have its date.

Сверка рекламного кабинета и CRM. Выберите один день: Экспортируйте лиды платформы и записи CRM за этот день и следующий.; Сопоставьте по телефону и email: Каждая строка попадает в одну из четырёх групп совпадений.; Разберите группы: В обеих системах, только в кабинете, только в CRM, или в обеих в р
Как найти расхождение по лидам: по дням, а не по итогам месяца

What to do next

Start with one day and one platform. If the second group is not empty after reconciliation, the thing to fix is lead delivery rather than bids and budgets. Until then, every optimisation rests on partial data.

All blog articles

Related reading

See how this works in ADS Beast: your ad account and your CRM.