DEV Community

강해수
강해수

Posted on • Originally published at themedilog.com

25–35% of our best customers were aging out of retargeting before we ever showed them an ad

A frequency cap failure on a $40K/mo account eventually traced back to a 7-day retargeting window that was quietly excluding the highest-value buyers in our entire funnel.

After frequency started climbing despite caps looking correct on paper, I pulled 90 days of raw pixel events — first site visit to purchase, for every converter, no modeling — through a Cloudflare Workers pipeline into D1 so I could query without sampling. The distribution killed the assumption the whole account was built on: only 35–40% of converters closed within 7 days of first touch. Another 25–30% converted between day 8 and day 21. The remaining 25–35% came back somewhere between day 22 and day 45. A default 7-day window was functionally running zero retargeting pressure on roughly 60% of the people who would eventually buy.

The part that stings: the longest-lag cohort had 20–30% higher AOV than the sub-7-day cohort. These were customers researching higher-ticket SKUs (₩80,000–₩150,000 skincare sets), doing ingredient comparisons, waiting on payday. Not weak intent — longer consideration cycles. The account's ROAS had looked acceptable for months because we were efficiently converting fast movers and completely ignoring slow movers. The 7-day default exists because Meta's aggregate data across all verticals skews toward impulse and replenishment. Our category doesn't.

The fix was restructuring retargeting into three sequential tiers: days 1–7 (viewed product, no ATC) with urgency-light creative, days 8–21 (viewed or ATC, no purchase) with benefit-depth and comparison angles, and days 22–45 (ATC or initiate checkout, no purchase) with direct offers and friction reduction. Each tier runs as its own ad set with separate frequency caps, and tiers exclude each other to prevent overlap. About 30% of retargeting budget shifted out of the 1–7 day tier. Blended retargeting ROAS lifted 30–50% within three weeks, and the frequency problem resolved on its own — larger pools, better distribution.

One caveat worth knowing upfront: if you're under ~500 site visits per day, the 22–45 day tier will sit under 1,000 people and Meta's delivery gets erratic. Collapse tiers 2 and 3 into a single 8–45 day window rather than running three underfueled ad sets.

I wrote up the full breakdown — including how I now instrument purchase lag as a standing monthly metric rather than a one-time audit, and what signals indicate your window structure needs re-calibration — over on themedilog.com.

Full post →

Top comments (0)