How long to wait before a cart reminder
Most advice on this is invented. Here is the reasoning that actually constrains the answer, and how to find yours.
The honest answer is that nobody can tell you the right delay for your store, but three things narrow it a great deal. Meta's rules set hard boundaries, your product's price sets the customer's decision speed, and your own test data settles the rest.
Anyone quoting you a precise universal number — "send at 47 minutes" — is repeating something they read. This page is the reasoning instead.
The boundary that is not negotiable
A cart reminder is almost always a marketing message: you are asking someone to come back and buy. That has two consequences, both from Meta's template documentation.
First, it needs an approved marketing template if it lands outside the 24-hour customer service window, which opens when the customer messages or calls you and resets each time, per Meta's sending messages documentation. Second, marketing templates require opt-in — abandoning a checkout is not consent.
So the real question is not only "how long" but "what am I allowed to send at that point":
| Delay | What you can send | Cost |
|---|---|---|
| Inside an open conversation window | A plain message | Free — service conversations have been free and unlimited since 1 November 2024 |
| Outside it | An approved marketing template, to opted-in contacts only | Billed per message |
In practice most cart reminders fall into the second row, because the customer abandoning a checkout has usually not messaged you at all.
What the delay is competing with
Three forces pull in different directions, and naming them makes the choice easier:
- Memory. The longer you wait, the less the customer remembers what they were looking at. This argues short.
- Self-recovery. Some customers come back on their own within the hour. Messaging them is spend you did not need. This argues longer.
- Intrusion. A message five minutes after someone closed a tab reads as surveillance. This argues longer, and it is the one stores underweight.
The sweet spot is after the self-recovery window and before the memory fades. Where that lands depends almost entirely on your price point.
Price decides the shape
| Order value | Customer behaviour | Implication for the delay |
|---|---|---|
| Low, impulse purchase | Decided in minutes, distracted rather than hesitant | Shorter — they have not gone away to think |
| Mid-range | Comparing, checking delivery cost | A few hours — long enough to have looked elsewhere |
| High, considered purchase | Talking to someone, waiting for payday | Longer, and a question beats a nudge |
The third row is where most stores go wrong. Chasing a large purchase an hour later does not shorten a decision that was never about speed. Asking whether they had a question does.
The one-nudge default
If you want a starting point rather than a philosophy: send one reminder, at a delay somewhere between one and a few hours, and build the flow so it checks whether the customer has replied or ordered before it sends.
The shape that does not annoy people
The branch is what separates a reminder from a nuisance. Someone who already came back and ordered should never receive it.
Should there be a second reminder?
Sometimes, and it should not be a repeat. A second message that says the same thing more loudly is the one that gets you blocked.
If you send a second, make it a different kind of message — an offer to answer a question rather than another nudge to pay — and put real distance between them. And count it against your total budget for that customer: marketing templates carry a per-user limit that Meta adjusts and deliberately does not publish a number for, and blocks feed your quality rating, which can cut your messaging tier on the 250 → 2,000 → 10,000 → 100,000 → unlimited ladder in Meta's messaging limits documentation.
How to find your own number
- Pick one delay and run it for a fortnight without changing anything else.
- Record two things: how many reminders sent, and how many of those customers ordered afterwards.
- Change only the delay and run it again for the same period.
- Compare. If the difference is small, keep the longer one — it is cheaper and safer.
- Watch your block rate throughout. A better conversion rate bought with blocks is not a win.
Two variables at once teaches you nothing, which is why changing the wording and the timing in the same week is the most common way stores end up with no idea what worked.
When a reminder is the wrong tool
If your abandoned checkouts are mostly caused by something fixable — a delivery charge that only appears at the last step, a payment method people wanted and you do not offer — then reminders are papering over it. The message that recovers the cart still leaves you paying to recover the next one.
Worth a look at your checkout before you invest in the flow. The flow-building detail is in abandoned checkout recovery on WhatsApp, and the discount question is in should a cart reminder include a discount.
Frequently asked
Can I send it immediately?
Technically yes. It reads badly, and it messages people who were about to come back anyway.
Does the delay affect the cost?
Only through what it allows you to send. Inside an open window a plain reply is free under Meta's pricing documentation; outside it, a template is billed regardless of the delay length.
What if the events are not arriving?
Then no delay helps. Confirm the abandoned-checkout event actually reaches you before tuning anything downstream — the automation's activity view is where to look.
Do I need opt-in for a cart reminder?
Yes, if it is a marketing template. The rules for a store are in opt-in rules for online stores.
What "abandoned" actually means
Worth pinning down, because the delay is measured from an event and the event is not what most people picture. A checkout is abandoned when a customer reached the checkout, gave you enough detail to be contactable, and then did not complete the order.
Which excludes a great deal. Someone who browsed and left, added to the cart and left, or bounced off your homepage produces no event at all. The recoverable population is smaller than your traffic suggests, and that is a good thing — it is the group that got closest to buying.
It also means the clock starts when they stopped, not when they first arrived. A customer who spent forty minutes comparing and then abandoned has already had their thinking time; one who abandoned in ninety seconds has not.
Three delays, three different messages
| Delay | What the message should be | What it should not be |
|---|---|---|
| Around an hour | A gentle "your basket is still here", with the link | An offer — too early to concede anything |
| Later the same day | The objection-answering version: delivery, returns, stock | The same message again |
| The next day | A question, or nothing at all | A third reminder about the same basket |
Read down that table and the pattern is that the message should get less transactional as time passes, not more insistent. A customer who ignored two reminders is not waiting for a third.
Delivery, and the thing your delay cannot fix
If the reminder arrives while the customer is asleep, the delay you carefully chose is irrelevant — they will see it whenever they next open WhatsApp, and by then it is a message from the middle of the night.
Two practical adjustments. Combine the delay with an hours check so nothing sends outside a reasonable window for the customer's region, and remember that pushing a reminder from 2am to 9am changes it from intrusive to useful without changing a word of the copy.
This matters more than most timing debates, and it is the adjustment stores make last.
Two mistakes that look like timing problems
- No check for a completed order. A customer who came back and paid receives a reminder to pay. Nothing damages trust faster, and it looks like a timing bug when it is a missing branch.
- Reminding people who never opted in. That is not a tuning problem, it is a rule problem, and no delay makes it acceptable.
Fix both before you spend a fortnight testing delays, or you will be measuring the wrong thing. The flow structure that avoids the first is in delays and follow-ups in a flow.
A default you can publish today
If you would rather ship something than deliberate: one reminder, a few hours after the abandonment, sent only to opted-in contacts, containing the checkout link and one line answering your most common objection, with a reply check in front of it so nobody who already ordered receives it.
That is a defensible flow. It is not optimised for your store, and it will not be until you have run it long enough to have your own numbers — but it is considerably better than no flow, and it is safe to leave running while you think.