Capii · Guides · The gap

The day-7 problem.

← All guides

Meta's ad sets optimize on conversions that happen inside seven days of the click.
Read that again, because your whole account is built on it.

If a conversion lands inside that window, the algorithm learns from it. The person who converted becomes training data... their patterns, their lookalikes, the next thousand people who resemble them.

If it lands outside the window, the algorithm learns nothing. The deal still counts on your P&L. It just never counts in the machine that decides who sees your next ad.

Day 7

Meta stops listening

Day 23

typical high-ticket close

16 days

of signal, gone

Click · 7-day window · cash later

Day 0 · click Day 7 · window closes Week 3–5 · cash lands

Inside the window

Booked call

the algorithm learns from this

Past the cut

Still deciding

bigger deals, slower rooms

Week 3–5

Cash lands

invisible to delivery

Deals after the cut never train the model.

Illustrative · a seven-day click window closes before week 3–5 closes do.

Now look at a high-ticket funnel. The click happens, the call gets booked... that part fits inside the window fine. But the deal? The deal closes on a follow-up call in week three. The wire lands in week four.

Unwired setup · what Meta sees by default

1 · Click

Ad

seen

2 · Booked

Scheduler

seen

Meta visibility ends

3 · Showed

Call

dark

4 · Quoted

Offer

dark

5 · Collected

Cash

the scoreboard

Unwired: only the first two steps ever train the algorithm.

Illustrative funnel · Ads Manager records the early steps; collected cash lives after the cut until you wire it.
Every buyer you close after day seven is invisible to the machine buying your traffic.

So what does the algorithm optimize on instead? The only conversion it ever sees inside the window: the booking. Which means your account gets very, very good at finding people who book calls... including the ones who never show, never qualify, and never pay.

What closing the gap looks like

You can't move Meta's window. You can move where the signal comes from.

Capture the click ID at the scheduler, the moment the call gets booked... that's inside the window, while the trail is fresh. Then match every closed deal back to the exact campaign, ad set, and ad that started it, in your own record, on your own timeline.

Calendar events

Click → Lead → Booking

Meta can see these

a slot on the calendar

cut

Cash events

Closed → Collected cash

Downstream of the calendar

the scoreboard that matters

By default Meta sees the calendar events you send; collected cash sits downstream until you wire it back.

Closed deals feed seed audiences no matter when they close. The dashboard attributes every dollar of collected cash to the ad that earned it, whether that took seven days or seventy. And the booking event that fires inside Meta's window gets gated first... so even the signal Meta does see is filtered down to people who look like buyers.

The window stops being a wall. It becomes a formality.

Questions, answered straight.

What is the “day-7 problem” in Meta ads?

Meta’s ad sets mostly learn from conversions that land inside seven days of the click. In tax and PI, signed clients and collected cash often arrive later—so the deals that pay you never train the machine buying your traffic. That’s the day-7 problem. Run last month’s numbers on the true CAC calculator to see what cost-per-call hides.

Why does Meta optimize for bookings or leads instead of buyers who pay?

Because bookings and form fills are the conversions that usually happen inside the window Meta can see. Cash closes later, off-platform, in your CRM. Until you send closed-won signal back, Meta gets very good at finding people who book—not people who pay.

If my calendar is full but revenue is flat, what should I look at first?

Look past booked calls to show rate, offers, closes, and collected cash per ad. A full calendar with flat revenue is usually a false-winner or day-7 leak: Meta is scaling bookers, not buyers. The CAC calculator is the fastest way to put true cost next to cost-per-call.

How is this different from just raising my Meta budget?

Raising budget scales whatever Meta already optimizes for. If that’s bookings, you buy more of the same calendar fill—and the same revenue flatline. Fixing the day-7 gap changes what Meta learns from, so spend can chase buyers instead of appointments.

What does a one-time sales→Meta data layer change about day-7 optimization?

You still can’t move Meta’s seven-day window. You can capture the click early and match every later close back to campaign, ad set, and ad in your own record—then feed buyer and cash events back so the algorithm trains on who paid, whenever they paid.

Where can I see a rough true cost per client from last month’s numbers?

Use the free true CAC calculator. Enter spend, booked calls, show rate, offers, close rate, and cash per deal—no ad account login. It’s a worksheet, not a live sync.

See the gap in your own numbers.

Thirty seconds on the true CAC calculator — spend, calls, closes, cash. No ad account login.

Open the true CAC calculator