Features

One app for capture, recovery, and spam control

The full feature surface — grouped by where they show up in your day-to-day.

Storefront capture

Storefront popup widget

Renders inside the merchant's theme via a Shopify Theme App Extension. Vanilla JavaScript, no dependencies, loads after page render.

Add-to-cart trigger

Detects add-to-cart across four channels (fetch, XHR, form submit, button click) and only renders after the cart actually grows.

Cart page trigger

Shows on /cart with a configurable delay for visitors who navigate to checkout directly.

Exit intent trigger

On desktop, fires when the cursor leaves the viewport — opt-in per shop.

Email capture

Single-field form, prefilled with the logged-in customer's email when available, validated client- and server-side.

Recovery

Recovery email sequence

Up to three branded emails over 24 hours, configurable delays, send-time risk re-check, exponential-backoff retries.

Discount recovery settings

Optionally include a Shopify-generated discount code in recovery emails; per-cart code with expiry and usage cap.

Provider-agnostic delivery

Resend (default) and Postmark are both supported; switch with one environment variable.

Fraud protection

Risk scoring

Twelve signals: disposable domains, bot UAs, IP velocity, repeat submissions, email entropy, country lists, and your blocklist.

Four risk tiers

SAFE / MEDIUM / HIGH / BLOCKED — each with explicit behavior for recovery emails and CRM sync.

Protection rules

Toggles for disposable-email auto-block, bot-UA auto-block, IP-abuse auto-block, and minimum cart value.

Admin

Captured carts dashboard

Search by email, filter by risk and recovery status, drill into individual signals and the email timeline.

Recovery email queue

Live counts for Scheduled, Sent, Failed, Cancelled — plus per-cart history.

Blocklist & allowlist

Email, domain, IP, country, keyword, user-agent — manage from the embedded admin.

Shopify theme app extension

Enable from the theme editor's App Embeds section. No theme code, no merge conflicts on updates.