Define the segment
An add_to_cart event with no corresponding purchase event for the same session or customer identifier within a defined window. The window should be tuned to your product's actual purchase-decision time - a low-consideration impulse item decays in value within hours; a higher-consideration purchase can stay relevant for several days.
Sync it
Real-time or hourly sync to Meta, Google, and TikTok custom audiences, matched to the same product or cart contents where dynamic product ads are in use, so the recovery ad can show the exact item left behind rather than a generic storefront ad.
Why the creative differs
A cart abandoner already selected a specific product and reached checkout intent - the ad's job is removing whatever stopped them (shipping cost surprise, a distraction, comparison shopping) rather than reintroducing the brand. Staged creative - a same-item reminder first, urgency or social proof second, a discount only as a later-stage lever if the first nudges don't convert - protects margin better than leading with a discount for every abandoner regardless of how close they were to buying anyway.
KPI framing
Measure recovered-purchase rate within the segment's own decay window against the specific cart contents, not blended ROAS across your whole retargeting spend - blending in cold-prospecting return metrics with cart-abandonment recovery metrics obscures which lever is actually working.
Illustrative, not a measured result: an ecommerce store synced cart-abandoners hourly instead of overnight and staged a same-item reminder ahead of a discount offer. The expected effect of faster sync plus staged creative is a higher share of recoveries happening before the discount tier is ever shown, protecting margin on purchases that would have completed anyway - this is a scenario illustrating the mechanism, not a measured client result.