The 60-day cohort maturity rule for ad spend decisions
Most ecommerce brands kill winning campaigns and scale losing ones because they check the scoreboard before the game is over. A customer who converts on day one doesn't finish paying you back until day 45, day 60, sometimes day 90. If you're making budget decisions off day-7 data, you're not reading results — you're reading noise.
The 60-day cohort maturity rule is simple: don't finalize a verdict on ad spend performance until the customer cohort has had enough time to reveal its real behavior — repeat purchases, returns, refunds, subscription conversions, chargebacks. For most DTC businesses, that window is roughly 60 days. Cut it shorter and you're optimizing for a story that hasn't finished being written.
Why day-7 numbers lie
Platform dashboards default to 7-day click attribution because that's what makes the ad platform look good, not because it reflects your business. A $50 CAC campaign that looks break-even on day 7 might be your most profitable channel by day 60 once repeat orders and upsells kick in. Or it might look great on day 7 and fall apart once returns process and the "customers" turn out to be serial refunders.
Here's the specific problem: your return window is probably 30 days. Your first subscription renewal probably hits around day 30-45. Your average time-to-second-purchase for non-subscription products is likely somewhere between 20 and 50 days depending on your category. If you're calling a campaign a winner or loser before any of that has happened, you're guessing with confidence.
Retail and beauty brands see this constantly with influencer or affiliate traffic — day-7 ROAS looks mediocre, but that traffic converts to repeat buyers at a much higher rate than paid social, and it doesn't show up until the cohort matures.
What actually needs to mature
A cohort isn't "mature" just because time passed. It's mature when the events that determine true profitability have had room to happen:
- Returns and refunds — if your return window is 30 days, your revenue numbers are provisional until it closes
- Second purchase — this is the single best predictor of long-term customer value, and it rarely happens in week one
- Subscription conversion or churn — first renewal is often the real test, not the initial signup
- Chargebacks and fraud — these surface late and disproportionately hit certain acquisition channels
- Discount and promo redemption — if a cohort came in on a deep first-order discount, their real margin doesn't show until you see what they pay full price for later
None of this shows up in a same-day or 7-day dashboard. It shows up in a cohort table that tracks customers by acquisition date and lets their behavior accumulate.
Building the actual reporting
This isn't a philosophy — it's a data structure. You need order-level data joined to customer-level data, keyed by acquisition cohort (week or month the customer first purchased), tracked against a rolling window. That means:
- A warehouse table that assigns every customer to an acquisition cohort based on first order date and first-touch or last-touch channel
- A join between that cohort and every subsequent order, return, refund, and subscription event tied to that customer
- A rolling calculation — 30-day, 60-day, 90-day — of revenue, contribution margin, and repeat rate per cohort, per channel
Most brands don't have this because their attribution lives in Meta's dashboard or a shopify app that only sees last-click, same-session behavior. You can't run cohort maturity analysis on top of tools built for real-time bidding decisions. You need it in a warehouse where customer identity is stitched correctly across orders — which is its own problem if you've got guest checkouts, multiple emails, or Shopify plus a subscription platform that doesn't share customer IDs cleanly.
How to make decisions in the meantime
You still have to spend money every day, and you can't freeze budget decisions for 60 days while you wait for perfect data. The fix isn't paralysis — it's using leading indicators that correlate with the lagging truth.
Track early-signal metrics that historically predict mature cohort performance: first-order AOV, whether the customer used a discount code, product category purchased, and day-1 to day-14 engagement (email opens, app opens, site returns). Build a simple model — even a basic regression or decile analysis — that maps early behavior to 60-day realized value. Once you've validated that model against a few cohorts that have already matured, you can use it to make faster calls on new campaigns without waiting two months every time.
The key discipline: treat day-7 or day-14 ROAS as a hypothesis, not a verdict. Flag campaigns as "provisionally good" or "provisionally bad," keep spending within guardrails, and revisit the actual verdict once the cohort closes. Don't let a provisional read trigger an irreversible decision like killing a channel entirely or doubling budget 5x.
The takeaway
Ad platforms are optimized to report fast, not to report true. Your business runs on customer behavior that takes weeks to unfold — returns, repeat purchases, subscription renewals, chargebacks. If your reporting stack can't hold a cohort steady and watch it mature, you're making six-figure budget calls off a rounding error. Build the cohort table first. Then decide what to scale.