Automate email, SMS, push and WhatsApp journeys
A journey is a multi-step automation: a trigger, an ordered list of steps with delays, and suppression rules that keep it polite. Zubby’s recovery campaigns are journeys with sensible defaults; you can also build your own for post-purchase follow-up, replenishment, win-back, and more.
Anatomy of a journey
| Element | Purpose |
|---|---|
| Trigger | What enrolls a shopper. Seventeen are available:
|
| Step | A message send on one of four channels - email, SMS, web push, or WhatsApp - with a delay, a subject, a tone, and free-text instructions the AI grounds its copy on. WhatsApp steps use an approved template instead of free copy. |
| Delay | Wait before each step, specified in minutes (0 to 43,200 minutes, or 30 days, per step). Every step is scheduled from enrollment, not from the previous message. For a reminder on day 7 and another on day 21, enter 10,080 and 30,240 minutes. Quiet hours can defer a scheduled send until the configured window ends. |
| Suppression | Per-journey guardrails: require a known email, cap concurrent enrollments per shopper (default 1), and a re-entry window (default 72 hours) before the same shopper can enroll again. |
| Quiet hours | Optional do-not-disturb window (default 22:00–08:00 in a timezone you pick, off by default). This is one configured timezone, not automatic per-shopper local time. Sends that would land inside the window are pushed to when it ends. |
Default sequences
Creating a journey seeds it with an editable default sequence for its trigger. The defaults are product settings, not cross-store performance evidence. Highlights:
- Cart abandoned - a single email 30 minutes after abandonment; add later steps as you like.
- Browse abandoned - one no-pressure email an hour after the visit, referencing the product they viewed.
- Back in stock / price drop - an alert within minutes, plus one follow-up for shoppers who didn’t convert.
- Post purchase - thank-you at 1 hour, review request at 7 days, replenishment nudge at 30 days.
- Winback - soft return immediately, value reminder at 7 days, gentle incentive at 21 days (discount only on the last step, and only if you allow discounts).
- Replenishment due - refill nudge when the consumable window hits, follow-up 3 days later.
Defaults are a starting point
Before you build
Journeys require Growth and a teammate with recovery access. SMS and WhatsApp also require Pro and connected sending accounts. Use a draft while checking event data and consent. Do not activate a delivered-order sequence on a store that only supplies dispatched status: those events mean different things.
Building a journey
- Open
Dashboard → Journeys → New, name the journey, and pick a trigger. Start it as a draft - drafts never enroll shoppers, so you can review before going live. - Edit the seeded steps: channel, delay, subject, tone, and instructions per step. Instructions are the grounding brief for the AI (“mention our 30-day returns, don’t offer discounts”) - be specific, because the copy is written fresh per shopper.
- Review suppression: keep require known email on, and enable quiet hours if your shoppers are in one dominant timezone. These settings are the difference between helpful and spammy.
- Activate, then run a controlled eligible profile through enrollment, delivery, exit, and attribution. A successful save or active badge does not prove a shopper entered or a channel accepted the message.
Channel notes
- Email - sends via your connected mailbox with a platform fallback; see Cart & browse rescue.
- SMS - requires a connected Twilio number and a known phone number, marketing consent, and Pro channel access; each message carries an opt-out link. Phone identity alone is not consent.
- Web push - requires the shopper to have accepted push from the widget; expired subscriptions are skipped.
- WhatsApp - requires a connected WhatsApp Business number; outside the 24-hour session window a pre-approved template is mandatory, so the step editor asks you to pick one.
When a step can’t deliver - missing phone, no push subscription, template not approved - it is skipped with a recorded reason, visible in the journey’s analytics, and the rest of the sequence continues.
Example: a reviewed replenishment reminder
This is a synthetic setup example, not a result claim. For a consumable with a verified 30-day use cycle, create a draft Post purchase journey. Set one email step to 43,200 minutes and instruct it to describe the product without a discount or expiry claim. Keep the email and consent checks on. After approval, use a controlled eligible test profile and order to confirm enrollment, scheduled time, delivery status, and the purchase exit. Check an unsubscribed profile stays suppressed. A saved journey does not prove the worker or sending provider is available.
Analytics
Every journey shows per-step performance - delivered, converted, and skip reasons - plus a per-channel summary. The Journeys page also surfaces bulk-fix recommendations (for example, switching SMS steps to email when no phone numbers exist, or pausing push steps with expired subscriptions) and deferred-demand panels for back-in-stock and price-drop subscriptions so you can spin up a journey where demand already exists.
If a journey stops progressing