Core Concepts
Understand how Retake works in 5 minutes. Master these concepts and you'll recover revenue like a pro.
01. The Two Events
Retake's entire system revolves around two simple events. That's it. Master these and you're done.
Fire this when a user shows purchase intent:
- Added item to cart
- Visited pricing page
- Started checkout flow
- Clicked "Upgrade" button
Fire this when the user actually pays:
- Payment successful
- Order confirmed
- Subscription activated
💡 This cancels any pending recovery emails!
02. The Recovery Flow
Here's what happens behind the scenes after you send an INTENT event:
INTENT Received
T+0
User shows purchase intent
Timer Starts
T+0 to T+1hr
Wait for conversion (default: 1hr)
Recovery Email
T+1hr
Sent if no conversion
Cart Recovered
T+?
User returns and buys!
What if they convert before the timer?
If you send a CONVERSION event before the timer expires, the recovery email is automatically cancelled. No annoying emails to customers who already bought!
03. Intent Types Explained
The type parameter tells Retake what kind of intent this is. This helps us send the right recovery message.
| Type | Use Case | Example Scenario | Recovery Email Tone |
|---|---|---|---|
cartEcommerce | Shopping cart abandonment | User added Nike shoes, left site | "Your items are selling fast 🔥" |
checkoutEcom & SaaS | Payment form abandonment | Entered card details but didn't pay | "Was there an issue with payment? 💳" |
pricingSaaS | Pricing page drop-off | Viewed Pro plan, didn't start trial | "Have questions about the Pro plan? 💭" |
upgradeSaaS | Upgrade abandonment | Clicked 'Upgrade', didn't finish | "Unlock the full power of [App] ⚡" |
trial_expiringSaaS | Trial ending soon | 3 days left in 14-day trial | "Don't lose your data! expire in 3 days ⏳" |
payment_failedSaaS | Recurring payment failure | Card expired for monthly sub | "Action Needed: Payment Failed ⚠️" |
04. User ID Strategy
The userId connects INTENT and CONVERSION events. Here's how to handle it:
Common Mistake
Don't generate a new ID for each event! The same userId must be used for both INTENT and CONVERSION, otherwise we can't match them and recovery won't work.