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
- WhatsAppnot yet on
How a delivery question gets answered
Example: checkout link emailed0:00 / 0:25
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
- 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"
}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
Step 1: Create the campaign
Pick Custom API as the lead source. ACR gives the campaign its trigger URL.Step 2: Send checkouts
Post checkout/updated with ACR's field names, as the API reference shows.Step 3: Send purchases too
Post checkout/completed with the same unique_id so outreach stops for shoppers who bought.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.
- 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. - 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. - 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. - 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. - 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. - 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. - 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.
Want to see the pricing first? See how pricing works