Running recovery next to your email flows
One shopper, three senders
Take a store we made up for this post. It runs ACR on the recommended sequence. It also has a Klaviyo abandoned cart flow, which Klaviyo’s pre-built version starts with “a 4-hour time delay before sending the first message,” according to its help center. And it has left Shopify’s own abandoned checkout email on with a 10-hour wait, which Shopify’s help center lists as the default for an additional abandoned checkout automation. A shopper with consent on every channel leaves checkout and does not come back.
| Time since the shopper left | Sender | What arrives |
|---|---|---|
| 30 minutes | ACR | Call |
| 35 minutes | ACR | Text |
| 1 hour 35 minutes | ACR | |
| About 4 hours | Klaviyo | First email |
| About 10 hours | Shopify | Abandoned checkout email |
| 1 day, 1 hour 35 minutes | ACR | Call |
| About 1 day, 4 hours | Klaviyo | Second email |
| 1 day, 5 hours 35 minutes | ACR | Text |
| 2 days, 5 hours 35 minutes | ACR | |
| 4 days, 5 hours 35 minutes | ACR | Call |
That is ten messages, four of them emails about the same cart within about a day and a half, from three senders that know nothing about each other. On real settings many Shopify shoppers skip ACR’s calls, because Shopify records no call consent (our post on channels explains why), so read the table as the worst case.
Why the tools won't sort it out
ACR has no Klaviyo connection. It reads nothing from Klaviyo and sends nothing to it, so neither tool knows what the other has said. Two things follow. A shopper who tells ACR’s agent they are not interested can still get Klaviyo’s emails. And an opt-out stays where it was given: a STOP sent to ACR goes on ACR’s suppression list, and ACR cannot pass it on. Check how your store moves unsubscribes between its tools, and add addresses or numbers to ACR’s list yourself when you need to.
The one event all three tools act on is the order. Shopify does not send its email if the shopper completes the sale first (Shopify Help Center). Klaviyo checks a flow’s filters before each message. ACR cancels every waiting step when the order arrives. So the pile-up in the table lands on shoppers who have not bought, and the fix is timing and settings inside each tool.
How to order them
- Keep the flows you have. They reach shoppers ACR can’t, such as those with no phone number or no consent for calls and texts. Measure what ACR adds before you switch anything off; our holdout post shows how.
- Give email one owner. Klaviyo and Shopify both emailing about one cart is the easiest overlap to remove, so pick one and stop the other. Then decide whether ACR sends email at all. Choosing custom channels under Outreach Channels and switching email off leaves ACR to call and text, and it covers the follow-up sequences as well as the main one. Deleting the email steps from the main sequence instead keeps the follow-up emails, such as the one sent a day after a positive call. With email switched off, a shopper ACR cannot call or text never starts a run, and your flow is all they get.
- Move the flow behind ACR’s first round. On the recommended sequence, ACR’s call, text and email are done 1 hour 35 minutes after the shopper leaves, and Klaviyo’s pre-built 4-hour delay already lands after that. If you shortened your flow’s first delay, move it back. Klaviyo itself suggests at least 1 hour and 15 minutes for short delays, “to accommodate different sync timings.” Then look at day two, where ACR’s second call and text sit within a few hours of the flow’s second email. Dropping either ACR’s day-two text or that email would thin it out.
- Exclude shoppers who already bought, in every tool. In Klaviyo that is the filter its help center recommends: “Person has Placed Order zero times since starting this flow.” In ACR it means making sure orders arrive. The Shopify app sends them for you; a store on the Custom API has to post
checkout/completedfor each paid order to the campaign’s trigger URL, or ACR keeps contacting people who have paid. - Split the audience, if you want a cleaner line. A start condition can limit an ACR campaign to shoppers who did not tick the email marketing box at checkout, so ACR takes the people your email flow may not be allowed to write to. Shopify’s help center says its own automation, by default, only emails customers subscribed to email marketing. The condition reads the box on this checkout, which may not match the shopper’s status in Klaviyo.
Letting the flow decide when ACR starts
If you would rather have one tool run the clock, Klaviyo flows can include a webhook step. Its help center says that “When a profile reaches the webhook action, Klaviyo sends a POST request to the configured destination.” A Custom API campaign in ACR accepts events at its own trigger URL, so a flow could send its first email and then hand the shopper to ACR, whose window starts from that event.
It takes some building. Klaviyo strongly recommends a developer for webhook setup, the campaign has to receive orders too, and the shopper reaches ACR from Klaviyo’s data rather than from the Shopify checkout. Our Klaviyo page describes what works today.
Sources
More in Calls, texts and email, or back to all posts.