Real ROAS: one question that crosses Hotmart, Meta Ads and Google Ads, and no platform answers alone
Meta says the return was 0.59. The bank account says it was 1.98. Both are right: one measures what it could attribute in 7 days, the other measures everything that came in. Between them lies the ROAS that matters for budget decisions — and it only exists when the three sources are in the same table.

This is a number measured in a real launch: R$ 154 thousand of spend on Meta, and Meta crediting R$ 90 thousand in sales — ROAS 0.59, a loss. In the same period Hotmart billed R$ 306 thousand for the same product. ROAS 1.98 if every sale were Meta’s, which is also not true. The number that decides whether spend goes up or down is between the two, and neither platform can compute it.
This article closes the series on connecting AI to Hotmart, Meta Ads and Google Ads data with the question that justifies bringing the three together.
Why the three lenses do not add up
| Lens | What it counts | What it misses |
|---|---|---|
| Hotmart (the cash) | Every approved sale, with value and product | Does not know where the person came from |
| Meta Ads | Sale matched to a click within 7 days or a view within 1 | Sale after the window; sale closed by sales reps; sale on another device |
| Google Ads | Sale matched to a click within 30 days | The same sale Meta also claims |
We measured the sales cycle of a product with a sales team: 44% close on the same day as the contact, 92% within 7 days — and 8% later. Those 8% Meta never sees. And in products sold with a rep’s help, the final link goes by WhatsApp and does not pass through the page: the last click Meta sees is from days before. The detail is in attribution window and your sales cycle.
The ruler that matches the cash
- 01The sale comes from Hotmart: approved only, acquisition only (renewals out), in the right currency, by commission value if the question is profit.
- 02The person who bought is looked up in the base: by the session marker at checkout or by e-mail. It is the step that requires centralized leads.
- 03That person’s touches before the purchase are listed: Meta ad click, Google ad click, organic visit, e-mail.
- 04The last paid touch takes direct credit; the earlier ones are assists. Nobody counts the sale twice.
- 05Each channel’s spend comes from the channel’s source — including warm-up campaigns, which have no link and generate no touch, but spent.
Last-click ROAS is about ORIGIN, not about closing merit. It says who brought the person; it does not say who convinced them.
What showed up when we did the math
- Total spend was understated by 11%: Google Ads had never entered the dashboard, and neither had the warm-up campaigns.
- Of the sales with a paid ad in their trail, a quarter had the ad as an ASSIST, not as last click — spend Meta called waste was opening sales that organic closed.
- Two ad batches added up to R$ 38 thousand with no direct sale AND no assist. Those were the ones to cut.
- Half the sales had no tracked paid touch — partly real (referral, organic), partly the session marker cut at checkout.
How to ask the AI
With the three sources in the same project and an MCP connector, the question is literally: “real ROAS for the last 30 days by channel, last paid touch, Hotmart sale as truth, renewals out, warm-up spend included”. The AI writes the query, shows the steps, and returns a table per channel with spend, direct sales, assisted sales, revenue and return — and, if asked, publishes it as a living report for Monday’s meeting. It is the most concrete use case of AI in business management we know.