All posts
5 min readattribution, google-ads, reporting

Attribution windows: why last week's ROAS keeps changing

You pull ROAS for last week on Monday, then again Friday, and the numbers moved — even though the week is over. You're not going crazy; you're watching attribution windows do their job.


An attribution window is how far back a platform will look to find the ad interaction it credits for a conversion. It is why last week's ROAS keeps improving after the week ended, why two platforms claim the same sale, and why comparing a 7-day window to a 30-day window makes one channel look twice as effective as it is. The windows are configuration, not physics — and most reporting arguments are really disagreements about them.

The three windows that matter

Click-through window. How long after clicking an ad a conversion still gets credited. Commonly 30 days; configurable in most platforms.

View-through window. How long after seeing an ad, without clicking, a conversion still gets credited. Usually much shorter — one day is typical — and far more contentious, because attribution to an impression is a weaker claim.

Engaged-view window. Video-specific: the viewer watched a meaningful portion without clicking. Sits between the other two in strength.

The choice of windows is the single largest lever on reported performance, and it is usually set once, by whoever configured the account, and never revisited.

Why last week's numbers keep moving

Google Ads attributes a conversion back to the date of the click. A visitor clicks on the 1st, converts on the 12th, and Ads adds that conversion to the 1st.

So the row for the 1st keeps growing for as long as the conversion window runs. Reporting a week's ROAS on Monday morning and reporting it again a month later gives two different numbers, both correct.

Two practical consequences:

  • Recent performance always looks worse than it is, especially for considered purchases with long decision cycles.
  • Comparing a recent week to an older week is not like-for-like — the older week has finished filling in and the recent one has not.

GA4, by contrast, records conversions on the day they happen. This is a large part of why Ads and GA4 never agree.

Why two platforms both claim the same sale

Each platform sees only its own interactions and applies its own windows and models. A customer who clicked a Meta ad on Monday, a Google ad on Thursday, and bought on Friday is one conversion in each platform's report.

Sum the platform-reported conversions and you exceed your actual order count. Sum the platform-reported revenue and you exceed your actual revenue. This is not fraud and not a bug — it is what happens when three instruments each measure their own contribution to the same event.

The fix is not to make them agree. It is to have one number that is authoritative for the business — your payment processor — and to treat platform numbers as channel-level input for bidding decisions.

How window length changes the story

WindowEffect on reported conversionsBest for
1-7 day clickFewer, tightly connected to the clickImpulse purchases, short cycles
30 day clickStandard; most conversions capturedMost ecommerce
60-90 day clickMore conversions, weaker causal linkHigh-consideration, expensive purchases
1 day viewModest additionReasonable default
7+ day viewLarge addition, contentiousRarely defensible for measurement

Lengthening a window does not create sales. It moves credit from "unattributed" to "this channel", which flatters that channel and changes bidding behaviour. Shortening does the reverse. Compare periods across a window change and you are comparing two different measurement systems.

Setting windows deliberately

  1. Measure your actual time to conversion. GA4 can show the lag between first interaction and conversion. If 90% of your conversions happen within seven days, a 90-day window mostly adds noise.
  2. Match the window to the decision cycle, not to what maximises reported performance. A B2B purchase with a six-week evaluation genuinely needs a long window; a takeaway order does not.
  3. Keep windows consistent across platforms if you intend to compare them at all.
  4. Change them rarely, and annotate when you do. An unannotated window change is indistinguishable, months later, from a genuine performance shift.
  5. Be conservative with view-through. It inflates most easily and persuades least.

What to do instead of arguing about attribution

Attribution windows and models allocate credit within a closed system that cannot observe counterfactuals. When the stakes are high enough, measure incrementality directly:

  • Geo holdouts — suppress a channel in matched regions and compare.
  • Campaign-level on/off tests over meaningful periods.
  • Media mix modelling, if you have the scale and history.

These answer "what happens if we stop spending here", which is the question attribution reports are usually being asked to answer and cannot. Attribution models compared covers the model side of the same problem.

FAQ

What is a good attribution window?

One that matches your actual time to conversion. Measure the lag between first interaction and purchase and set the window to cover the large majority of it — 30 days suits most ecommerce, longer for high-consideration purchases.

Why do my Google Ads conversions keep increasing for past dates?

Because Ads attributes conversions back to the click date. Conversions happening today from older clicks are added to those older dates, so historical rows keep filling for the length of your window.

Should I use view-through attribution?

With caution and a short window. View-through credits impressions without interaction, which inflates most easily and is the hardest to defend when someone asks whether the spend caused the sale.

Why do my platform conversions add up to more than my actual sales?

Because each platform independently claims the conversions it touched. Overlap is expected. Use your payment processor as the authoritative total and platform numbers for channel-level decisions.

Does changing the attribution window change historical data?

Reported figures can shift, since the change alters how conversions are credited going forward and how some historical windows are evaluated. Always annotate window changes so later comparisons are not misread as performance shifts.

Before debating attribution, make sure the conversions are being recorded at all: the free tracking audit checks conversion tags, duplicates, and consent signals on any URL.


See where your tracking stands

Run the same 13-check audit referenced in this post against any URL. No signup, results in seconds.

Run a free audit