Customer Match is only as good as the cohorts you feed it. Because your decision_log already records who bought what, when, and whether it stuck, it's the cleanest possible source for audiences — no warehouse export required.
Build the cohorts from rows, not guesses
- Purchasers, refund-excluded — buyers minus anyone whose order was refunded or charged back.
- High-LTV band — top quartile by trailing 12-month contribution, refreshed weekly.
- Replenishment-due — past buyers of consumables approaching their typical reorder window.
- Lapsed but loved — high historical LTV, no order in 90 days.
Use them as the right lever
High-LTV and replenishment cohorts are exclusion-and-bid levers, not just targeting. Suppress them from prospecting so you stop paying acquisition prices for retention, and let the Campaign Specialist bid them separately.
{ "action": "ADJUST_BID", "audience": "lapsed_high_ltv", "modifier": "+18%", "reverse_op": "RESET_BID" }Stop paying first-order prices for your best repeat buyers. The log already knows who they are.
Refresh on a cadence, audit on a row
Cohorts go stale. Refresh weekly from the log, and let every audience change land as a reversible decision row so you can see exactly when a segment shifted and why a campaign's performance moved with it.
