flowsk.com
vs native reporting

Flowsk vs your ad platforms' native reporting

Meta, Google and TikTok each grade their own homework, cannot see each other, and model what they lost. Keep them for optimisation; stop using them to decide the budget.

Aug 4, 2026· 3 min read ·Comparisons
Quick answer

Σ(platform-claimed conversions) > actual orders — always

Every platform attributes independently, none can see the others, and each fills its own observation gaps with modelled conversions. Summed channel reports typically exceed real revenue by 25–45%. This is not a bug you can configure away; it is what self-attribution means.

Platform reporting is genuinely excellent at the thing it exists for: optimising delivery inside that platform.

Your ad platforms give you conversion reporting for free, in real time, with more granularity than any third party can match. There is no reason to stop looking at it.

There is a very good reason to stop deciding your budget with it.

The structural problem

An ad platform’s conversion report is produced by the party selling you the clicks, using data it partly estimates, with no visibility into any other channel you run, and no obligation to reconcile against your bank.

That produces three specific distortions, and they compound:

View-through credit. Someone scrolls past your ad and buys three days later from an email. The platform counts it. Your P&L has no idea that impression existed. Switch Meta to 7-day click with no view-through and reported conversions commonly drop 15–30% — the same sales, minus the ones nobody clicked on.

Cross-platform double claiming. Meta claims the sale. Google claims the same sale. Klaviyo claims it too. None of them can see the others and no shared ledger arbitrates. Add up the reports and you have more conversions than orders, which is why the sum always exceeds reality.

Conversion modelling. Where the pixel could not observe the user — ATT, ad blockers, declined consent — the platform estimates. The estimate appears in the same column as the observed conversions, undifferentiated.

Each of these is individually reasonable. Together they produce a number that cannot be reconciled with anything.

The head-to-head

Native platform reporting Flowsk Signals
Who computes it The party selling the clicks Your own server
Sees other channels No Yes, all of them
View-through inflation Yes, by default No — clicks and touches only
Modelled conversions Yes, unmarked None. Recorded or absent
Counting the same sale twice Across platforms, constantly Impossible — de-duplicated on a key
Audit one conversion No Yes
Maximum click window 7 days (Meta), 90 (Google) Whatever your identity supports
Optimises ad delivery Yes — this is the point No

What platform reporting is genuinely for

Delivery optimisation. The bidding algorithm needs a conversion signal, that signal needs to reach the platform quickly, and the platform’s own model is exactly the right tool for deciding which impression to buy next.

Feed it well. Run the Conversions API. Send server-side events. Use enhanced conversions. All of that makes the machine buy better traffic for you, which is worth real money.

Just do not confuse “the signal that trains the bidder” with “the ledger that decides the budget.”

The configuration we recommend

  1. Keep every pixel and every conversions API running. That is optimisation fuel.
  2. Set the platform windows to click-only for anything you report on. View-through goes in a separate line called “influenced”, or nowhere.
  3. Build one first-party ledger that sees all channels on one identity, with server-confirmed conversions.
  4. Decide budget from the ledger. Explain channel tactics from the platform reports.
  5. Check the gap monthly with the ghost-conversions checker. If it moves sharply, something changed in your tracking, not in your customers.

What this looks like in a meeting

The platform report says the campaign produced 180 conversions at a $42 CPA. Your ledger says 122 conversions at a $62 CPA, and it can show you the journey behind any of them.

Both numbers are useful. Only one of them is safe to put in a forecast.

Frequently asked questions

Are the ad platforms lying to me?

No. Each is answering 'did my ad influence this?' rather than 'did my ad cause this?', on data it partly estimates, with no visibility into your other channels. Every individual answer is defensible. The sum is not a number you can spend against.

Should I turn off view-through attribution?

For budget decisions, yes — switch to click-only. View-through credits impressions nobody engaged with, and on a fast-scrolling feed there are a great many of those. Keep it in a separate 'influenced' report if leadership wants it.

Does the Conversions API fix this?

It fixes signal loss, not credit. CAPI gives the platform better data to optimise on, and you should run it. But the platform still applies its own attribution model to what you send, so you still cannot audit the result.

Which platform over-reports the most?

TikTok, typically 35–60%, because its traffic arrives in an in-app webview where storage is short-lived. Meta is usually 25–45%, Google 15–30%. Measure your own with the ghost-conversions checker.

If I only run one channel, is platform reporting enough?

It removes the cross-platform double claiming, which is the largest single source of inflation. You are still left with view-through credit, modelled conversions and a 7-day cookie — so it is better, not sufficient.

Price your own gap

Enter what each platform claims and what your processor actually banked. The checker returns the over-report and your true CPA.

Find my ghost conversions

Stop guessing which ad made the sale.

Flowsk Signals stitches the anonymous click to the email to the purchase — first-party, server-side, de-duplicated. One snippet, $29/mo, and every conversion comes with a receipt you can inspect.