Skip to content
Accounts are by invitation while we set up the first stores.Book a call
GROWTH DEPT.ACR

Checkouts outside Shopify

Recover checkouts from any platform

If your checkout is headless, custom-built or on another platform, send ACR the checkout and the purchase as events, in ACR's field names. Each campaign gets one private trigger URL for both.

The channels this campaign can use

  • Voice call
  • SMS
  • Email
  • WhatsAppnot yet on
Custom API checkoutAI agent and shopperWritten example

How a delivery question gets answered

Example: checkout link emailed

0:00 / 0:25

A written example, not a recording. Play steps through the transcript; no real shopper and no audio.

What a Custom API campaign needs from you

  • 1

    private trigger URL per campaign, with its own token

  • 2

    events to send: checkout/updated as the checkout changes, and checkout/completed when it is paid

  • 0

    field mappings to set up: the body uses ACR's field names

Checked before every call, text and email
  • Still no order
  • Inside the shopper's hours
  • Consent on file
  • Not on the suppression list
  • Country allowed
  • STOP and HELP first
  • Hand-off not requested
  • Cooldown passed
  • Dispatch limit not reached
  • State calling rules

Why an API

Not every store runs its checkout on Shopify

Headless storefronts, subscription checkouts and custom carts all lose shoppers at the same step. ACR only needs to know who the shopper is, what they left, and when they paid.

Send those as JSON from your server or from an automation tool, and the rest of ACR works the same way: the campaigns, the agent, the schedule and the rules.

Who it fits

Stores that send their own events

  • Headless storefronts

    Your own front end with checkout behind it. Post the checkout from your server when it changes.
  • Other commerce platforms

    Any platform that can call a webhook or run a script when a checkout or order changes.
  • Automation tools

    A workflow tool that already sees your checkouts can forward them to the trigger URL.
  • One-off lists

    A CSV upload adds shoppers by hand, for a list you exported elsewhere.

The trigger URL

Post the checkout and the purchase to one URL

POST /api/v1/trigger/{your-trigger-token}
Content-Type: application/json

{
  "event": "checkout/updated",
  "unique_id": "chk_10482",
  "email": "sam@example.com",
  "phone": "+15125550142",
  "first_name": "Sam",
  "final_price": "86.00",
  "cart_link": "https://shop.example.com/cart/c/10482"
}
Example request. The total is in your store's currency.

Each Custom API campaign has a private trigger URL with its own token. Post checkout/updated to it while the shopper is checking out, and checkout/completed with the same unique_id when they pay. The body uses ACR’s field names, such as email, phone, first_name, final_price and cart_link; the API reference lists the rest. Totals are taken in your store’s currency.

The purchase event matters as much as the checkout: it is what stops the outreach to someone who has already paid.

Step by step

From your first event to a running campaign

  1. Step 1: Create the campaign

    Pick Custom API as the lead source. ACR gives the campaign its trigger URL.
  2. Step 2: Send checkouts

    Post checkout/updated with ACR's field names, as the API reference shows.
  3. Step 3: Send purchases too

    Post checkout/completed with the same unique_id so outreach stops for shoppers who bought.
  4. Step 4: Test and publish

    Run a practice conversation, publish, and switch the trigger on.

The same product either way

A Custom API campaign has the same agent, schedule, consent check and analytics as a Shopify one. Only the way the checkout reaches ACR is different.

Questions

Questions stores ask first

Something not covered here?

Ask us on a call, or read the full list of questions.

  1. 01

    My store isn't on Shopify. Can I still use it?

    Yes. Anything that can post an event to a web address can use a Custom API campaign. Send the abandoned checkout, and send the order when it is paid so outreach stops.
  2. 02

    When does a checkout count as abandoned?

    After 30 minutes with no activity on it, by default. The window is set on a campaign’s trigger; when several live campaigns share a lead source, a checkout uses the shortest of their windows.
  3. 03

    Who gets contacted?

    Each abandoned checkout is offered to the campaigns that listen for it, in the order you set. The first campaign whose rules accept the shopper starts a run: its start conditions, dispatch limit, cooldown, consent check, suppression list and country permissions. A shopper no campaign accepts is skipped, and the reason is written to the shopper’s history.
  4. 04

    When does outreach stop?

    When an order arrives for that shopper, when they opt out, when they ask for a person and the conversation is handed to your team, or when the sequence runs out.
  5. 05

    Is there an API?

    Yes. With an API key you can list leads and runs, cancel a run and send events to a trigger, and ACR can post a signed webhook when a run completes or is cancelled. See the API reference.
  6. 06

    Do shoppers need to have given consent?

    The consent check is on by default for every new campaign: a shopper is contacted on a channel only when the store has a record of consent for it, such as the text-message opt-in at checkout. Your store is responsible for collecting the consent the law requires. See the compliance page.
  7. 07

    How is a recovered order counted?

    An order that uses a campaign’s discount code counts for that campaign, whether or not ACR reached that shopper, so give each campaign its own codes. Without a code, it counts for the campaign that last engaged the shopper within the attribution window, 14 days by default. Each order counts once.

Find out what your abandoned checkouts are worth

Book a 45-minute call with the Growth Dept team. We look at your checkout, where your shoppers are and which channels suit them, and tell you whether ACR fits.

Book a call

Want to see the pricing first? See how pricing works