When a Customer Abandons Their Cart, Does Your Message Need a Discount Code?
No, not every abandoned cart needs a discount code. Some customers who leave a cart are not put off by the price. They are still undecided, or their shopping got interrupted, and a reminder without a code can bring them back too. A code makes sense when the obstacle is the price or the shipping fee and your profit margin can absorb the discount. Even then, do not hand the code out unconditionally. Set a minimum order value, a short validity period and a single-use limit.
Whether to offer a code depends on why the cart was abandoned
In Baymard Institute’s cart abandonment research, 42% of US online shoppers gave “I was just browsing / not ready to buy” as a reason for abandoning a cart over the past three months. With that answer left out, the most frequently cited reason, at 40%, is that extra costs (shipping, tax, fees) were too high. Slow delivery, not trusting the site with credit card information and being required to create an account come next. The survey was conducted in 2026 with 1,083 people; because respondents could select more than one reason, the percentages add up to more than 100%.
These figures are from the US, and the breakdown in your own store may be different. Even so, they show two things. A significant share of the people who put a product in their cart have not decided yet. Some of the rest are stopped by delivery time, trust or having to create an account rather than by price. If the obstacle is one of these, a code does not remove it; if the customer comes back anyway, you have taken the same order at a lower profit. A code can work on a customer who has not decided yet, but you should use the calculation below to see how much it eats into your profit. The code is optional in Pushouse’s WhatsApp cart recovery module as well: the message addresses the customer by name, and you add a discount code if you choose to.
To find out which reason weighs most heavily in your own store, check whether customers leave at the step where they see the shipping fee. If you want to ask customers for the reason directly, you can also use an e-commerce exit survey.
Carts where a reminder without a code is enough
You can find out how to set up the reminder in our guide to WhatsApp cart reminders. Start without a code in these five cases:
- If the customer has bought from you before, they know the store and your prices. Most of the time, what they need is a link back to the cart.
- When the cart total is above your free shipping threshold, the customer did not run into an unexpected shipping fee at checkout.
- If the product is already discounted, do not add a second discount on top; reminding the customer of the discounted price in the message is enough.
- When stock is low, “the size you chose is almost sold out” can be reason enough to come back without a discount, as long as it is true.
- If your margin is low, the calculation below usually comes out against the code.
What to try before offering a code
If the obstacle is extra costs, look for the fix on the site first. Show the shipping fee and the free shipping threshold clearly on the cart page. Before sending a code, you can also try an exit-intent popup that reminds visitors of your free shipping threshold as they are about to leave; it costs you none of your margin. In the message itself, you can talk about delivery time, installment options or your exchange policy instead of a code. If the shipping fee is what stops people, you can also try a free shipping offer instead of a percentage discount.
People who have signed up but never placed an order are a separate group. Giving them a code makes more sense, because when they use it, you gain a new customer. Keep this offer out of the cart message and leave it to the first-purchase incentive message, so the same person does not receive two separate offers.
When does a discount code pay off?
Before you offer a code, do one calculation. This multiplier shows how many times as many orders the message with a code has to bring in to earn the same profit as the message without one: gross profit margin ÷ (gross profit margin − discount rate). You get your gross profit margin by subtracting the product cost from the selling price and dividing the result by the selling price. Do not confuse it with markup, the profit percentage you add on top of cost.
For example, say the cart is 1,000 Turkish lira (TL) and your gross profit margin is 30%. Each order recovered without a code leaves you with 300 TL, and a 10% code brings that down to 200 TL. If the message without a code recovers 10 orders, your profit is 3,000 TL. To earn the same profit from the same number of abandoned carts, the message with a code has to bring in 1.5 times as many, which is 15 orders. The same 10% code calls for about 1.33 times as many orders at a 40% margin and twice as many at a 20% margin.
The multiplier comes out this high because undecided customers are not the only ones who use the code; customers who would have come back without it use it too. We have kept the calculation simple, so add the message cost and your share of the shipping cost using your own figures. If the multiplier looks unrealistic to you, lower the discount rate first. At a 20% margin, a 5% code calls for about 1.33 times as many orders. With a percentage-off code, a minimum order value does not change this multiplier; it only limits how many orders the code is used on.
Keep customers from holding out for a code
If every abandoned cart gets the same code, your regular customers may notice, start leaving before they pay, and wait for the code. You can reduce this risk with four rules:
- Do not send the code to every cart unconditionally. If you send a single message, tie the code to the three conditions below. If your messaging tool allows it, skip the code for carts where a reminder without one is enough. If you send more than one message, send the first without a code and leave the code for the next one; we cover the timing between messages in when to send an abandoned cart message.
- Set a minimum order value. The code should not work on orders below your average order value.
- Keep the validity period short, and actually switch the code off when it runs out. A code that still works after its deadline makes your next “last day” message harder to believe.
- Make the code single-use and do not give it to the same customer again and again. If your platform allows it, generate a unique code for each customer, since the same code sent to everyone can get passed around.
If you show a public code on the site, for example in a discount tab, do not give a second code in the cart message; remind the customer of the same one. If the offer in the message is more generous, you are rewarding cart abandonment. Once you have added a code to the cart message, switch it off if you see the same customers abandoning carts again and again.
Two sample messages, with and without a code
A reminder without a code should be short and answer the question on the customer’s mind:
Hello {{customer name}}, the items in your cart are waiting for you. Orders placed today ship tomorrow. You can complete your purchase here: {{cart link}}
In a message with a code, state the conditions clearly, so that the customer gets no surprises when trying the code at checkout:
Hello {{customer name}}, here is your 10% discount code for the items in your cart: {{discount code}}. It is valid on orders of 750 TL or more until 23:59 on {{end date}}. Return to your cart: {{cart link}}
The delivery time, discount rate, minimum order value and validity period in these examples will vary with your own terms. In the message, mention only the conditions you actually apply.
Compare the two periods properly when you test a code
Before you switch the code on, you need a baseline figure to compare it against. Send the message without a code for at least two weeks and note how many abandoned carts there were and how many orders you recovered from them. Also check that the total discount, once the code is combined with other promotions on the site, does not exceed your gross profit margin. If most of your carts sit just below the free shipping threshold, review the threshold before you think about a code.
If you decide to try a code, compare the period with the code against the period when you sent the message without one. Compare rates rather than order counts: for each period, divide the number of recovered orders by the number of abandoned carts. Multiply the rate for the period without the code by the multiplier above; if the rate for the period with the code falls below that, the message with a code is earning you less profit. If one of the periods coincides with a promotion week, the difference may not be due to the code. Where your messaging tool allows it, sending some carts the message without a code and others the message with a code during the same period gives a more reliable result than comparing two periods back to back. For the period with the code, also note how many orders the code was actually used on.
For both periods, take recovered orders and revenue from the same source. If you use Pushouse, both figures appear in your panel; note each period’s figures separately. You can see how the flow works on the cart recovery module page.
WhatsApp Marketing
Tools to help grow your sales
- WhatsApp Business API integration
- Automated customer follow-up
- Sales and marketing automation
Contents
- Whether to offer a code depends on why the cart was abandoned
- Carts where a reminder without a code is enough
- What to try before offering a code
- When does a discount code pay off?
- Keep customers from holding out for a code
- Two sample messages, with and without a code
- Compare the two periods properly when you test a code