Skip to content
A/MR

Analytics · · 4 min read

Your ROAS is fine. Your attribution window isn’t.

An attribution window is a claim rule, not a measurement. Here's how the platform default quietly misallocates your budget, and the GA4 settings that fix it.

Timeline diagram showing a 7-day attribution window ending at day 7 and missing a sale that converts on day 28, while a 28-day window reaches the sale and counts it.

Most ad accounts I audit are running a 7-day-click, 1-day-view attribution window. It is the platform default, nobody chose it, and it is quietly deciding where the budget goes.

Here is the thing worth sitting with: an attribution window is not a measurement. It is a claim rule. It decides which channel gets to raise its hand when a conversion happens. Widen it and paid social absorbs conversions that search would otherwise be credited with. Narrow it and you undercount genuine assisted conversions on long B2B cycles. The conversions themselves do not move. The credit does.

And credit is what you budget against.

The failure mode nobody names

The channel best at claiming conversions is not always the channel creating them.

Paid social sits early in the journey. It gets impressions in front of people who were going to search for you anyway, and with a generous view-through window it claims a slice of everything that follows. Paid search sits late. It catches people at the moment of intent, and with a short click window it looks efficient but small.

So the report says social is your best performer. You shift budget to social. Search gets thinner, brand queries dip, and social’s numbers get worse — because it was partly harvesting demand that search was capturing. Now you are two quarters into optimizing toward a measurement artifact.

This is not a platform conspiracy. It is what happens when a default setting goes unexamined.

The three numbers to pull before you touch anything

Do not change the window yet. Establish what your buying cycle actually looks like first.

1. Time-to-conversion distribution — not the average. The average is useless here because the distribution is almost always bimodal: a spike in the first 48 hours, then a long tail. If 30% of your conversions land after day 14, a 7-day window is throwing away a third of your data before anyone reads a report.

2. Assisted versus last-click revenue, split by channel. A channel with high assisted and low last-click is doing real work that your current window is hiding. A channel that looks strong on both may be double-dipping.

3. Incrementality, if you can get it. A geo holdout is the honest version of this question — turn a channel off in one region, hold everything else steady, and see what actually changes. It is more effort than reading a dashboard and it is the only thing here that answers “would this conversion have happened anyway.”

A worked example

Take a B2B account with a 34-day median sales cycle. Same spend, same campaigns, same period — the only change is the reporting window:

Channel7-day click28-day clickShift
Paid social4.8x3.1x−35%
Paid search2.9x5.2x+79%
Organic6.4xnewly visible
Illustrative figures showing how the reporting window alone changes channel credit.

Nothing about the business changed. No creative was swapped, no bid was touched. The story changed, and the story is what the budget meeting runs on.

Notice the third row especially. Organic did not appear at all under the short window, because organic almost never converts inside seven days on a considered B2B purchase. It was invisible, so it was unfunded.

Setting it properly in GA4

Two settings, and people usually change one and forget the other:

Admin → Attribution settings
  Reporting attribution model     = data-driven
  Lookback window (acquisition)   = 30 days
  Lookback window (other events)  = 90 days

The acquisition window governs first_open and first_visit. The other-events window governs everything else. Setting one without the other gives you an inconsistent picture that is harder to reason about than the default was.

One warning: this change is retroactive in GA4. Your historical series will move underneath you. Screenshot your current dashboards before you save, or you will spend a week trying to explain a “drop” that is a definitional change.

What to do with the platform windows

GA4 is your neutral referee. The in-platform windows are a separate decision:

  • Meta — the default 7-day click / 1-day view is defensible for ecommerce. For B2B it is too short on click and too generous on view. If you have the volume, run click-only attribution and accept the lower reported numbers.
  • Google Ads — data-driven attribution with a 30-day window, and stop reading Search’s numbers in isolation from Performance Max.

Expect reported ROAS to fall on social when you do this. That is the point. You are trading a flattering number for one you can allocate against.

The uncomfortable part

If you widen the window and paid social drops 35%, you have not discovered that social is bad. You have discovered that you do not know what social is worth. Those are different problems, and only the second one is solvable — with a holdout test, a proper incrementality read, or at minimum a period where you hold spend flat and watch what brand search does.

Start by pulling the time-to-conversion distribution. If the tail past day 7 is thin, your window is fine and you can stop reading. If it is fat, you have been running your budget off a rule nobody chose.


Working through this on your own account and want a second read on the numbers? Let’s connect.

Leave a Reply

Discover more from Amr Media

Subscribe now to keep reading and get access to the full archive.

Continue reading