Attribution windows: why platforms claim conversions you can't find

A plain-language guide to attribution windows: what 7-day click and 1-day view really mean, why platform numbers beat your Stripe reality, and what to trust.

The Flowjat team

· 6 min read

You launch a campaign, and by Friday Meta’s dashboard says you got 18 conversions. You open Stripe, count the new customers, and find 6. Nobody’s lying, exactly — but somebody’s counting differently, and the gap between those two numbers is where a lot of indie ad budgets quietly get misjudged. The thing doing the counting is called an attribution window, and once you understand it, the mismatch stops being spooky and starts being useful.

This post explains what an attribution window is, why it makes platforms report conversions you can’t locate in your revenue tool, and — the practical part — which number to trust when they disagree.

What an attribution window actually is

An attribution window is the rulebook a platform uses to decide, “was this sale caused by our ad?” It has two dimensions: how someone interacted with the ad, and how long ago.

The interaction is either a click (they tapped the ad) or a view (the ad appeared on their screen; they didn’t click). The time is a lookback: if the conversion happens within X days of that click or view, the platform claims it.

So “7-day click, 1-day view” — the phrase you’ll see everywhere — means: count a conversion if the person clicked our ad any time in the 7 days before buying, OR merely saw it in the 1 day before buying. Two different lookback windows, stapled together, applied to every sale.

That view-through half is where most of the confusion lives, so hold onto it.

Why the platform’s number is bigger than your revenue tool’s

Your Stripe or RevenueCat dashboard counts one thing: money that actually arrived. The ad platform counts something looser — sales it believes it influenced, using a window it defined and data it partly can’t see. Four forces push the platform number up:

View-through attribution. This is the big one. Someone scrolls past your ad, doesn’t click, then a day later searches your brand on Google and signs up. Meta saw the impression, so within its 1-day view window it claims the conversion — even though the click that actually brought them was Google’s. Both platforms may count the same sale. Your Stripe count doesn’t double.

Cross-device and modeled conversions. Since iOS privacy changes, platforms can’t observe every conversion directly, so they estimate some with statistical models (Jon Loomer). Modeled conversions are real methodology, not fraud — but they’re guesses, and guesses don’t show up as line items in Stripe.

Overlapping windows across platforms. Run Meta and Google at once and a single customer who touched both gets claimed by both. Add your two “attributed” numbers together and you’ll “outperform” your actual revenue by a comfortable margin that doesn’t exist.

The window itself is generous. A 7-day click window credits the ad for a purchase a full week later, by which point the person may have been convinced by your onboarding emails, a review, or a friend. The ad gets full credit anyway.

None of this means the platform is useless. It means the platform is answering “did our ad play a part?” while you’re asking “did I make money?” — and those are different questions.

The windows changed in 2026 — briefly, what shifted

If you learned attribution a couple of years ago, two 2026 changes are worth knowing. In January 2026, Meta removed the 7-day-view and 28-day-view options from Ads Manager, so the longest view window you can now pick is one day (Dataslayer). In March 2026, Meta tightened click-through so it requires an actual link click, and introduced “engage-through” for non-click interactions like a 5-second video view. The net effect: view-based inflation is smaller than it used to be, but it hasn’t gone away.

Google went a different direction. Its default is now data-driven attribution, which spreads fractional credit across the touchpoints it can measure; only Last Click and data-driven remain as options, with the older linear and position-based models retired (Google Ads Help). Smarter credit-splitting is genuinely better — but it still can’t count a conversion that falls outside the window, and it still won’t match Stripe.

A worked example

Say the same customer, Maya, signs up for your $25/mo tool. Here’s what each system records:

SystemWhat it sawDoes it claim Maya?
Meta (7-day click / 1-day view)She saw your ad Tuesday, didn’t click; signed up WednesdayYes — view-through
Google Ads (data-driven)She searched your brand Wednesday, clicked, signed upYes — last real click
StripeOne new $25 subscription, WednesdayYes — once

Three “yes” answers, one actual customer. Meta and Google will each report a conversion; your revenue tool reports one sale. If you trusted the platforms’ sum, you’d think two campaigns each won a customer and you’d have a phantom 100% overcount. This is the everyday reason platform ROAS and real ROAS drift apart — the numerator is counted twice while your bank account is credited once.

So which number do I trust?

Both, for different jobs. Here’s the honest division of labor:

  • Trust the platform’s number for relative decisions inside that platform. Ad set A shows a better cost-per-result than ad set B under the same window — that comparison is fair, because both are measured the same way. Use it to decide what to scale and what to cut.
  • Trust your revenue tool for “did I make money?” Total new MRR, real customer count, actual ROAS — those come from Stripe or RevenueCat, never from the ad platform’s claimed conversions.
  • Never add attributed conversions across platforms. That sum overstates reality by exactly the overlap. If you need one blended truth, anchor on revenue-tool sales and treat platform numbers as directional.

A useful habit: once a week, put the platform’s claimed conversions next to your actual new customers for the same period. You’re not looking for them to match — they won’t. You’re watching the ratio. If Meta usually claims ~2.5× your real signups and suddenly claims 5×, something changed (more view-through, a tracking break, a modeling shift) and it’s worth a look. The stable gap is normal; a moving gap is a signal. Our guide to reading your ad reports walks through building that weekly side-by-side.

Practical settings for a small advertiser

You don’t need to fiddle with windows much. A few defaults that hold up:

  1. Leave Meta on 7-day click, 1-day view unless you have a reason not to. It’s the default, it’s what benchmarks assume, and shortening it mostly just makes your reported numbers smaller without making them truer.
  2. Judge on revenue, not clicks. Optimize campaigns using the platform’s data, but grade the whole channel on Stripe. Keep the two roles separate in your head.
  3. Watch view-through separately when you can. If most of your “conversions” are view-through, the platform is claiming credit for demand it may not have created. That’s the pattern most worth distrusting on a small budget, where a handful of coincidental views can swing the report.

Attribution windows aren’t a trick played on you — they’re a modeling choice, and a defensible one. The mistake is treating a model of influence as a count of money. Keep those two ideas in separate boxes and the 18-vs-6 gap stops being alarming.

Where Flowjat fits

The reason this gap trips people up is that the two numbers live in two tools: claimed conversions in the ad platform, real revenue in Stripe or RevenueCat, and nothing joins them. Flowjat puts ad spend and actual revenue on one screen so you can see the platform’s attributed conversions right next to the customers who genuinely paid — and track that ratio over time instead of re-eyeballing two dashboards every week. It won’t make the windows agree; nothing can. It just makes the honest comparison the default view.

The Flowjat team

Building the ad copilot for builders

Build with us, not just read about it.

Connect your accounts and tell us what's missing. It shapes what we ship next.

Start free