The 7-day window is lying to you before noon

Meta's attribution window quietly rewrites yesterday's numbers for a week. Pausing a campaign on day-one data is the most expensive reflex in performance marketing. Here is how to read a metric that is not done yet.

Adgent · Notes from building the analyst

Type
Field note
Topic
Attribution
Reading time
8 min
Published
14 April 2026
Cover: a ROAS figure rising from 2.2x to 4.0x across seven days as the attribution window matures, labelled 'draft, revising'.

Open Ads Manager at 9am and a campaign you launched yesterday shows a ROAS of 1.9×. The instinct is immediate and wrong: pause it, reallocate, move on. The problem is that 1.9× is not a result. It is a snapshot of a number still being written.

Short answer Meta ROAS looks worse in the morning because attribution is not finished. Spend is already counted, but many of the conversions it earned have not been credited yet: Meta's 7-day click window keeps attaching them for days. So you are dividing a complete cost by an incomplete revenue. The number reads pessimistic by construction, and almost always revises up.

Meta attributes conversions on a 7-day click, 1-day view basis by default. A purchase that happens today can be credited to an ad someone clicked six days ago. Day-one ROAS is therefore missing conversions it will eventually earn and almost always revises up.

Why the morning read is the worst read

Early in a metric's life, the denominator (spend) is complete but the numerator (attributed revenue) is not. You are dividing a finished number by an unfinished one. The result reads pessimistic by construction, and it reads most pessimistic first thing in the morning, before the day's conversions have landed.

The rule, in one line A number inside the attribution window is not a verdict. It is a question that has not finished being answered.

How to read a number that is not done

You do not need to stop looking at fresh data. You need to stop trusting it like mature data. Three habits make the difference:

  • Mark the window. Treat anything inside 7 days as provisional. Flag it visually so no one reacts to it as final.
  • Compare like-aged data. Judge a day-one read against other day-one reads, not against a 30-day average that has fully matured.
  • Wait for the floor, not the ceiling. Make kill decisions when a metric has stopped revising, usually day 3 to 4, not on the first reading.

The exception that costs real money

Waiting is not free. A genuinely broken campaign (wrong audience, broken landing page, creative that misses) burns budget every hour you give it the benefit of the doubt. The discipline is not “never act early.” It is knowing which signals mature and which do not.

Click-through rate, CPM and cost per click are effectively final within hours. They do not wait on attribution. If CTR is a third of your account average on day one, that is a real signal and you can act on it. Revenue-side metrics (ROAS, CPA, conversion rate) are the ones still being written. Kill on the fast signals; wait on the slow ones.

Adgent is a team of AI agents working toward your marketing goals, and this judgement is built into how it reads an account. It re-pulls a trailing window every day, 28 days on Meta and 14 on Google, and the window always ends on the last full day, so a revision lands in the read instead of ambushing it. And when the measurement behind a ROAS or CPA figure cannot support a call, the Trust Gate lets it raise a finding but never an action.

What the 7-day window actually does to your numbers

The default setting on most Meta accounts is 7-day click, 1-day view. In plain terms: if someone clicks your ad and buys any time in the next week, that sale gets credited back to the ad, and back to the day the spend landed. That is why yesterday's ROAS keeps changing today, and the day after, and the day after that. You are not watching a stable number wobble; you are watching an incomplete number fill in.

The shape of that fill-in is predictable. A large share of a cohort's eventual conversions typically lands in the first 24 hours, then the curve tapers: day two adds less, day three less again, until by day four or five the number has mostly stopped moving. How large that first-day share is depends on the account and on how long your buyers deliberate. Overlay that on the morning read and the effect compounds: at 9am you are not even seeing a full day-one figure, you are seeing the overnight slice of it. The denominator, spend, is already whole. The numerator is a few hours old. No wonder ROAS looks thin.

This is also why day-one comparisons across campaigns are treacherous. A campaign whose buyers convert fast will look like a hero at breakfast; one whose buyers deliberate for three days will look like a dog, and by Friday they can swap places entirely. The settling window delays the number and can reorder the rankings.

Which metrics mature slowly, and which are already final

The trap is not fresh data; it is treating every metric on the dashboard as if it matured at the same speed. It does not. Split your KPIs into two buckets and the morning stops lying to you.

  • Effectively final within hours. CPM, CPC, click-through rate, hook rate, frequency, impressions. These are delivery metrics: they do not wait on a purchase to be attributed, so what you see in the morning is close to what you will see at the end of the window.
  • Still being written. ROAS, CPA, conversion rate, cost per purchase: anything with attributed revenue or conversions in it. These live inside the window and revise for days, almost always upward.

The rule that falls out of this is clean: kill on the fast signals, wait on the slow ones. If day-one CTR is a third of your account average, that is a real, mature signal: the creative is not landing and you can act now. If day-one ROAS is a third of your account average, that is mostly the window talking, and pausing means you will never see the conversions that were about to land. Whether you run CBO or ABO, Advantage+ or Performance Max, the maturity split is the same: the platform structure changes how budget flows, not how fast attribution settles.

How to decide before the window closes

Waiting a full seven days for certainty is not a real option, because a genuinely broken campaign burns budget every hour you give it the benefit of the doubt. The discipline is deciding on the right evidence early, not deciding blind. Three moves make that possible.

First, act on the mature metrics immediately. Broken landing page, mistargeted audience, a creative with a dead hook rate: these show up in delivery data that is already final on day one. You do not need attribution to catch them, and you should not wait for it.

Second, compare like-aged data. Never judge a day-one read against a 30-day average that has fully matured. Line it up against other day-one reads: the same campaign last week, or a sibling campaign at the same age. Same-age comparison strips the window out of the picture and shows you the real difference.

Third, wait for the floor, not the ceiling. Make your kill-or-scale call when a revenue metric has stopped revising, usually day three to four, rather than on the first reading. By then the curve has flattened enough that the number is close to true, and you have still acted well before the window formally closes. It is the same discipline that keeps a blended average from hiding a placement leak: the aggregate looks calm while the truth sits one layer down. If you want the mechanics of pulling those layers apart by hand, the Google Ads audit playbook walks the same read across search.

The discipline is simple to state and hard to hold under pressure: a number inside the window is a draft. Read it as one.

Frequently asked

Why does my Meta ROAS look low in the morning?
Because spend is fully counted but the conversions it earned are not all credited yet. Meta's 7-day click window keeps attaching purchases for days, so at 9am you are dividing a complete cost by an incomplete revenue. The figure reads pessimistic by construction and almost always revises up.
How long does Meta attribution take to settle?
The default window is 7-day click, 1-day view, but most of the movement is over sooner. A large share of conversions typically lands in the first 24 hours, then the curve tapers; by day three to four a revenue metric has usually stopped revising.
Which metrics mature slowly and which are final?
Delivery metrics (CPM, CPC, CTR, hook rate, frequency) are effectively final within hours. Revenue-side metrics (ROAS, CPA, conversion rate) live inside the attribution window and revise for days. Kill on the fast signals, wait on the slow ones.
Should I pause a campaign on day-one data?
Only on mature signals. A dead hook rate, a mistargeted audience or a broken landing page shows up in day-one delivery data, and you should act. But pausing on day-one ROAS means killing conversions that were still about to land.
What is the 7-day attribution window?
It is Meta's default rule for crediting sales to ads: if someone clicks and buys within seven days, the purchase is credited back to the ad and to the day the spend landed. That is why yesterday's ROAS keeps filling in for a week.
How do I decide before the window closes?
Act immediately on mature delivery metrics, compare only like-aged data instead of a matured average, and make revenue-based kill decisions once a metric stops revising, usually day three to four. That is early enough to protect budget, late enough to be true.
Who wrote thisWritten by the people building Adgent, the AI employee that carries brand context into every growth decision. Related product: the Trust Gate.

Bring the same question to your own account. Adgent returns its position, the evidence underneath and what the finding is worth a month.

Pricing