Abandoned Cart Recovery
Automatically follow up when customers don't complete their booking.
Abandoned cart recovery recaptures revenue from customers who started checkout but didn't finish. When a customer enters their email during checkout and then leaves, Resytech sends automated follow-up emails with a link that restores their cart exactly where they left off — optionally sweetened with a unique, single-use discount code.
How It Works
- A customer begins checkout and enters their contact details
- They leave without completing the booking
- After each configured delay, Resytech sends a recovery email
- The email's Complete your booking button reopens their saved cart — activity, equipment, date, time, add-ons, and contact details all restored — so they can pay in one click
- Availability is re-checked when they return; if their time slot was taken in the meantime, their date stays selected and they're prompted to pick a new time — any discount code from the email stays applied while they choose
Abandoned carts are detected by a background sweep that runs every few minutes, looking for carts that have been idle past each rule's delay.
Settings
Cart recovery is configured per location at Dashboard > Marketing > Cart Recovery.
Location-Level Settings
| Setting | Description |
|---|---|
| Enabled | Turn cart recovery on or off for this location |
| Activity scope | Apply to all activities, or only carts for specific activities |
Recovery Email Rules
Each location can have multiple recovery emails forming a sequence — for example, a gentle nudge after 1 hour and a discount offer after 24 hours.
| Setting | Description |
|---|---|
| Send delay | How long the cart must sit idle before this email sends (15 minutes to 14 days) |
| Email Subject | Custom subject line (supports template variables) |
| Custom Message | Optional note shown in the email as "A note from your company" (supports template variables) |
| Coupon Incentive | Optional coupon to offer — see below |
| Active | Toggle an individual email in the sequence on or off |
Coupon Incentives
To offer a discount without creating a shareable public code:
- Create a dedicated coupon (e.g. "Abandoned Cart 10%") under Promotions > Coupons with the discount, activity scope, and date windows you want
- Select it as the Coupon Incentive on a recovery email rule
Each recovery email then receives its own unique, single-use code generated under that coupon. The code appears in the email and is applied automatically when the customer clicks through — including when their original time slot is gone and they have to pick a new one. Because every code is limited to one use, codes can't be shared or reused on coupon sites.
You stay in control through the coupon itself: edit it to change the discount, or disable it to instantly invalidate every outstanding code. If the coupon is disabled, recovery emails still send — just without the discount block. Generated codes that go unused are cleaned up automatically after 30 days.
A discount stays on a cart for 4 hours after it's applied. A customer who opens the recovery link and finishes soon after keeps the discount; one who leaves the tab sitting overnight is told the code expired and can re-enter it from the email. This stops a code applied on one visit from quietly discounting an unrelated booking days later — carts are remembered between visits.
Built-In Guardrails
Recovery emails are designed to never annoy:
- Frequency cap — a customer receives at most 3 recovery emails per location per rolling 7 days
- One cart per customer — if the same email address has several idle carts, only the most recent one is followed up
- Stops on conversion — if the customer completes any booking after abandoning (even in a new session), pending recovery emails are suppressed
- Time-slot aware — no email is sent once the cart's selected time slot has already started
- Sequence collapse — if multiple steps are overdue at once (e.g. recovery was just enabled), only the latest step sends; earlier steps are skipped rather than arriving out of order
- Unsubscribe link — every email includes an unsubscribe link that opens a confirmation page, so email security scanners can't accidentally trigger it; opted-out customers receive no further recovery emails from that location. Unsubscribing stops recovery emails only — booking confirmations, receipts and trip reminders are unaffected
- Your postal address — every email carries the location's address in the footer, as required for marketing email
Template Variables
Subject lines and custom messages support these variables:
{{customer.name}}— the customer's full name{{cart.activityName}}— the activity in their cart{{cart.date}}— their selected trip date{{cart.time}}— their selected start time{{cart.total}}— the cart total{{location.name}}/{{company.name}}— your business
Tracking
The settings page shows a 90-day rollup (emails sent, carts recovered, recovered revenue) plus a feed of recent sends and their outcomes. The Operations report includes the same recovery metrics alongside its existing cart-conversion and abandoned-cart-value figures.
A cart counts as recovered only when the customer opened the recovery link and then completed checkout. Recovered revenue is the total of those bookings as actually booked — after any discount code from the email, and after anything the customer changed on their way back.
Receiving the email isn't enough to earn the credit. Resytech remembers a customer's cart between visits, so someone who returns on their own — a bookmark, a phone call from you, second thoughts — finishes that same cart. Counting those would tell you the feature paid for itself when it may not have, so they're excluded. The number you see is the one the emails actually earned.
Recovered bookings are also tagged cart_recovery automatically, so you can spot them on the booking itself, filter bookings by the tag, and trigger Workflows from the "Booking Tag Added" event — for example, a thank-you follow-up or an ops notification when a recovery converts.
Recovery emails are also recorded in the Communication Log alongside all other sent messages.
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/abandoned-cart-recovery/settings | Get recovery settings for the current location |
PUT | /v1/abandoned-cart-recovery/settings | Update settings and the rule sequence |
GET | /v1/abandoned-cart-recovery/activity | Recent sends and 90-day stats |
Best Practices
- Send the first email within 1–2 hours while intent is still fresh
- Save the coupon incentive for the second email — many customers return without needing a discount
- Keep the custom message short; the email already shows the trip summary, total, and a clear call to action
- Use a dedicated coupon for recovery so its performance is easy to read in coupon reporting
