Meta sales don’t match GA4 or Hotmart: why, and how to compare

Published by the UTM Builder team at Limner.

Each source counts something different. Meta credits the ad with the sales that happen within a window after a click or a view. GA4 only sees people who reached the site, and it splits the credit across channels. Hotmart, Kiwify (Brazilian platforms for selling digital products) or your store count approved orders. Some gap is expected; the job is to separate the part that comes from the rules from the part that comes from a setup error.

What each source counts

SourceWhat countsWindow
Metaconversion after a click on the ad or a view of itthe ad set’s attribution setting; in the Insights API, the default option is equivalent to 7-day click and 1-day view
TikTokconversion after a click, a view or an engaged view (at least 6 seconds of video), depending on the ad group’s windows1, 7, 14 or 28-day click; view off, 1 or 7 days; can’t be changed after the ad group is published
GA4on-site event, credited to the session’s channel90 days by default for key events (or 30 or 60); 30 days for acquisition events
Sales platformapproved orderno window

GA4 has three models today: data-driven, paid and organic last click, and Google paid channels last click. First click, linear and the others were removed in November 2023. The GA4 help only mentions views as a source of credit for YouTube engaged views. A Meta ad impression never reaches GA4, so every sale Meta credits to a view has no match on the other side.

The date changes too

In Meta’s Insights API, the action_report_time parameter decides which day a conversion shows up on. The example in the documentation: someone sees the ad on January 1 and buys on the 2nd. With impression, the sale shows up on the 1st; with conversion, on the 2nd. The store records the sale on the order date. Comparing day by day without knowing which date each report uses creates a gap at every turn of the week and the month.

Meta’s 2026 change

On March 3, 2026, Meta announced that, for campaigns optimizing for website and in-store conversions, click-through attribution would include link clicks only. Conversions that came from shares, likes and other actions that aren’t link clicks moved to engage-through attribution. The video engaged view threshold dropped from 10 to 5 seconds. The rollout started in late March, in phases, and Meta itself says it expects its reports to line up better with tools like Google Analytics.

In practice, comparing a month before the change with a month after it mixes two click rules. Another change, from January 12, 2026, removed the 7-day and 28-day view windows from the API. Still available: 1, 7 and 28-day click, 1-day view and 1-day engaged view.

Where setup errors hide

How to compare the right way

  1. Pick the source for each question: revenue comes from the sales platform, delivery and optimization come from Ads Manager, channel and behavior come from GA4.
  2. Split clicks from views in the Meta report before comparing it with GA4. Click-through sales are the ones that have a chance of showing up in both.
  3. On TikTok, check which windows the ad group uses. The help center says engaged views go into the Conversions column, together with clicks.
  4. Use the same period, in weeks rather than days, and know which date each report uses.
  5. Match order by order when the sale stores utm_content or the ad ID. It’s the only way to see which sales each source recognized.
  6. Track the ratio between sources over time. A sudden jump in it usually comes from a setup change.

Official sources