Abandoned Cart

Reminder emails for Cargo, with a link that brings the shopper's basket back at today's prices, and a view of what they recovered.

Abandoned Cart Main Screenshot

Abandoned cart recovery for Cargo. When a shopper leaves items in their basket, they get up to three reminder emails. The link in each brings their basket back, at today's prices, with a discount code if you choose one. You see what was left, what was sent, and what came back as orders.

Abandoned Cart for Statamic and Cargo

Features

  • Up to three reminders. Each a set number of hours after the basket last changed. A basket that changes starts the clock again, and nobody gets the same reminder twice.
  • Consent built in. One tag adds the box to your checkout: opt-in (a box to tick), or UK soft opt-in (a box to say no). Each basket keeps the wording the shopper saw, and when.
  • The basket comes back. The link opens the basket as it is now, with a button that makes it the shopper's basket again. Prices are checked, anything sold out is taken out, and the code is added.
  • Discount codes, if you want them. One of your Cargo discounts, or a one-off code made for each email: it works once, only for that shopper, until the link expires.
  • Only the right baskets. Guests, signed-in customers or both. A smallest basket, a never-email list, and a test mode that emails only you.
  • Stops when it should. An order, a basket emptied or deleted, an unsubscribe: no more reminders.
  • One-click unsubscribe, in the email and in the headers mail apps use. No open-tracking pixel.
  • Recovery in the Control Panel. Store → Abandoned Carts: baskets left, emailed, brought back and recovered, the revenue, and why a basket wasn't emailed. A dashboard widget and CSV download.
  • Privacy. Email addresses are removed after 90 days and records deleted after a year. Forget an address with one command. No IP addresses kept.
  • Multisite. Emails in the language of the site the basket was on, and the basket brought back on that site.
  • Yours to change. Wording, logo and colour in the Control Panel. Publish the emails to change anything else. Events and a PHP API.
The consent box at the checkout A reminder email Store → Abandoned Carts

Requirements

  • Statamic 6.35.1 or later, with Cargo 1.15 or later.
  • PHP 8.3 or later, and a database (SQLite is fine).
  • Laravel's scheduler running. No queue needed.

Installation

composer require 1994/abandoned-cart-statamic
php artisan migrate

Run the scheduler. Reminders are sent by abandoned-cart:send, every minute. If your site doesn't run Laravel's scheduler yet, add this cron entry:

* * * * * cd /path-to-your-site && php artisan schedule:run >> /dev/null 2>&1

The Control Panel shows a warning when abandoned-cart:send hasn't run for 15 minutes.

Ask for consent. Add the box to your checkout's customer step, next to the email field:

{{ abandoned_cart:consent }}
Blade
<s:abandoned_cart:consent />

That's it. Baskets left with an email address and the box ticked get their first reminder an hour later. See Templates for Cargo's prebuilt checkout, signed-in customers and the "Your basket's back" message, and Consent for soft opt-in.

Documentation

Everything else is in the documentation:

Licence

Abandoned Cart is commercial software, sold through the Statamic Marketplace. Try it free on a local or development site. Each public site needs a licence. See LICENSE.md.

Support

Report bugs and ask questions through the addon's page on the Statamic Marketplace, or email hello@1994.co.uk.

Development

composer install && npm install
vendor/bin/phpunit # tracking, sending, consent, restoring, discounts, emails, the Control Panel, and every example in the docs
npm run build # the Control Panel pages