Tracking & Marketing

Abandoned cart recovery emails

A three-stage cadence that converts roughly 10-15% of abandoned Shopify checkouts back into orders, with discount codes saved for the third nudge.

How abandoned checkouts get captured

ShipWave subscribes to the Shopify checkouts/update webhook for every connected store. The moment a customer enters their email on the checkout page (even before completing payment), Shopify fires the webhook and ShipWave persists the cart. If the checkout converts within an hour, we're done. If not, the recovery cadence kicks in.

The three-stage cadence

  • Stage 1 (1 hour): A friendly reminder. "Did you forget something?" Includes a one-click link back to the checkout. No discount.
  • Stage 2 (24 hours): A second nudge. Often the highest-converting message because the customer has had time to think about it.
  • Stage 3 (72 hours): A final email with an optional discount code (configurable, e.g. {{discount_code}} renders as "COMEBACK10"). After this, the cart is marked recovered or abandoned and the cadence stops.

Tracking opens and clicks

Every email includes a 1×1 open pixel and tracked click URLs. You can see per-campaign open and click rates at Admin → Marketing → Campaigns. Typical performance: 45-55% open on stage 1, 35-45% on stage 2, 25-35% on stage 3. Recovery rate (orders / abandoned carts) usually runs 8-15% across all three stages.

Unsubscribe and compliance

Every email has a public unsubscribe link at /unsubscribe/[token]. The token is a signed identifier for the email address; one click is enough to opt out, no login required. Unsubscribed addresses are excluded from all future marketing emails, not just abandoned cart. We also honor the Shopify customer's marketing_consent_state—customers who never opted in won't receive the cadence at all.

Discount code generation

Stage 3 can use a static code (you create it in Shopify, paste it into ShipWave) or a dynamic per-customer code (ShipWave generates a unique code via the Shopify Discount API and inserts it into the email). Dynamic codes prevent code-leak abuse and let you track redemption per recovered cart.

FAQs

Does this work for non-Shopify stores?
Not yet. The cadence relies on the Shopify <code>checkouts/update</code> webhook. WooCommerce and BigCommerce support is on the roadmap.
What if the customer completes the order between emails?
The cadence stops immediately. ShipWave checks for order completion before each send.
Can I customize the email templates?
Yes. Each stage has an HTML template you can edit in the campaign editor. Variables include <code>{{customer_name}}</code>, <code>{{cart_total}}</code>, <code>{{checkout_url}}</code>, and <code>{{discount_code}}</code>.
How is this different from Shopify's built-in abandoned cart?
Shopify sends one email at 10 hours by default and doesn't support discount codes natively. The three-stage cadence with stage-three discount usually recovers 2-3x more carts in practice.

More in Tracking & Marketing

  • Cross-sell on your tracking page

    Turn the most-visited page in your customer journey into a quiet revenue channel with rules-based product recommendations.

  • Post-purchase review requests

    Trigger review requests at the moment customers are most likely to write one&mdash;just after delivery&mdash;through Shopify, Amazon, or your own product review tool.

  • Win-back campaigns for lapsed customers

    A simple template and an automated send to anyone who hasn't ordered in 90 days&mdash;low-effort revenue from customers you already have.