Skip to content

Templates · Marketing

WhatsApp abandoned cart templates that bring shoppers back

Marketing templates for recovering abandoned carts on WhatsApp: first nudge, product-specific reminder, coupon, help offer and Hindi versions, with sample values.

By Broadchat teamPublished 5 min read

हिन्दी में पढ़ें

Before you submit these templates

  • Submit cart reminders as Marketing. They ask the customer to complete a purchase, and Meta recategorises utility templates that do that.
  • Send them only to shoppers who opted in to WhatsApp marketing, for example with an unticked checkbox at checkout that names your brand and WhatsApp.
  • Make the Complete order button open the shopper's own cart with a cart id as the URL variable, on your own domain.
  • Use an image header that shows a real product, not a banner full of text; give the header a real sample image when you submit.
  • If you include a coupon, put it in a copy-code button and make sure the code really works on the date you send it.
  • Add a simple way to stop: a Stop offers quick reply connected to a chatbot flow that tags the contact, and exclude that tag from every campaign.

How WhatsApp cart recovery works

The WhatsApp abandoned cart templates below remind a shopper who left checkout that their cart is saved, and give them a one-tap way back. Because they ask the customer to buy, they are marketing templates under Meta's categories, and they can only go to shoppers who agreed to receive marketing messages from you on WhatsApp.

A sequence of two messages is enough for most stores: a plain reminder within a couple of hours, then, only if needed, a second message the next day with a reason to return (a coupon, free delivery or an answer to a doubt). More than that and you risk blocks, a lower quality rating and Meta's per-user limits on marketing messages.

Timing and audience rules

RuleWhy it matters
Only shoppers who opted in to WhatsApp marketingMessaging people without opt-in breaks WhatsApp policy
First reminder 30 minutes to 2 hours after exitThe intent is still fresh
Stop the sequence when the order is placedReminders after purchase look careless
At most two reminders per cartMeta caps how many marketing templates a person receives; blocked sends fail with error 131049
Exclude contacts who tapped Stop offersHonour opt-outs immediately

WhatsApp currently does not deliver marketing templates to +1 (US) numbers, so international stores need another channel for those shoppers.

Setting it up in Broadchat

Broadchat does not watch your website for abandoned checkouts by itself; the abandonment event comes from your store. There are two common setups.

Shopify stores. The Shopify Abandoned Cart app in the workflow builder (Automations → Workflow) lists abandoned checkouts with their recovery links. Workflows have no built-in timer trigger, so start the workflow through its Custom Webhook URL from a scheduler you already use (a cron job on your server, for example) every hour or so. Keep only checkouts from the last few hours that have a phone number and marketing consent, and send the template with Send Template Message (V2), using the recovery link as the button variable. The Shopify integration explains the connection and its limits.

WooCommerce or a custom store. Have your store, or an abandoned-cart plugin you already use, POST the cart to a workflow's Custom Webhook URL. Map the shopper's name, cart summary and cart id from the received data into the template variables. The webhooks integration shows the payload and the mapping syntax.

Measuring recovery honestly

Compare orders from reminded carts with a small group of carts you deliberately did not remind. Without that holdout you cannot tell recovered sales from shoppers who would have come back anyway. Track replies too: questions answered in chat often matter more than the coupon.

For the post-purchase side, pair these with the order update templates, and read the ecommerce playbook for the full funnel. The rules behind every example are in the WhatsApp message templates guide.

Sources

  1. Per-user marketing template message limits — Meta for Developers, checked 12 October 2026
  2. Template components — Meta for Developers, checked 12 October 2026
  3. WhatsApp Business Messaging Policy — WhatsApp, checked 12 October 2026

Broadchat team · Product and partner success team

The people who build and support Broadchat, the white-label WhatsApp Business API platform. We write from what we see while onboarding partners and their clients on the official WhatsApp Cloud API, and we check every article against Meta's current documentation.

Last updated:

10 abandoned cart templates

Copy the wording, then submit it from CRM → WhatsApp Templates with the sample values shown. Meta reviews every template; approval is never guaranteed.

  1. image header

    Hi {{1}}, you left {{2}} in your Kesar Organics cart. Your items are saved, and you can finish your order in under a minute with the button below.

    Tap Stop offers to opt out

    • Complete order
    • Stop offers

    First reminder, about an hour later

    Marketingcart_reminder_firstLanguage: en

    Use it when: Thirty minutes to two hours after a shopper who opted in leaves the checkout.

    Variables
    VariableMeaningSample
    {{1}}Shopper first namePriya
    {{2}}Items in the cartcold-pressed groundnut oil and 2 more items
    • Pass the product image of the first cart item as the header at send time; the image sample only matters for review.
  2. image header

    Hi {{1}}, still thinking about the {{2}}? It is {{3}} and ships within 2 days from our Jaipur warehouse. Tap below to pick up where you left off.

    • View my cart

    Product-specific reminder

    Marketingcart_reminder_productLanguage: en

    Use it when: When the cart has one main item and the shopper looked at it more than once.

    Variables
    VariableMeaningSample
    {{1}}Shopper first nameArjun
    {{2}}Main product nameindigo block-print bedsheet set
    {{3}}Price₹2,349
    • Keep a word such as "Hi" before the name: a body that starts with a variable is rejected.
  3. Your cart is waiting

    Hi {{1}}, your cart worth {{2}} is still saved. Use code {{3}} at checkout for an extra 10% off, valid until {{4}} on orders above ₹999.

    • Copy code
    • Checkout now

    Reminder with a coupon

    Marketingcart_reminder_couponLanguage: en

    Use it when: As a second reminder 20 to 24 hours later, only if the first one did not bring the shopper back.

    Variables
    VariableMeaningSample
    {{1}}Shopper first nameMeera
    {{2}}Cart value₹1,640
    {{3}}Coupon codeCOMEBACK10
    {{4}}Coupon expirySunday midnight
    • Do not send a coupon in the first reminder; shoppers learn to abandon carts to get a discount.
  4. Hi {{1}}, good news: the items in your cart now qualify for free delivery to {{2}}. Complete your order today and we will dispatch it by {{3}} at the latest.

    • Complete order

    Free delivery nudge

    Marketingcart_reminder_free_shippingLanguage: en

    Use it when: When shipping cost was the likely reason for leaving, for example carts just under your free-shipping threshold.

    Variables
    VariableMeaningSample
    {{1}}Shopper first nameKabir
    {{2}}Delivery pincode or cityPune 411038
    {{3}}Dispatch dayThursday
  5. Hi {{1}}, we noticed you were checking out {{2}}. Not sure about size, fabric or delivery time? Reply here and someone from our team will answer within working hours.

    • Ask a question
    • Return to cart

    Offer help instead of a discount

    Marketingcart_reminder_helpLanguage: en

    Use it when: For high-consideration products (furniture, apparel, electronics) where doubts stop the purchase more than price.

    Variables
    VariableMeaningSample
    {{1}}Shopper first nameNeha
    {{2}}Product namethe handloom cotton saree in teal
    • A reply opens the 24-hour customer service window, so your agent can answer with photos and free-form messages.
  6. Hi {{1}}, your {{2}} is still in your cart. Prefer to pay when it arrives? Cash on delivery is available for your pincode, so you can place the order now and pay at the door.

    • Order with COD

    Cash on delivery available

    Marketingcart_reminder_codLanguage: en

    Use it when: For first-time buyers in markets where prepaid payment is the usual reason for dropping off.

    Variables
    VariableMeaningSample
    {{1}}Shopper first nameRohit
    {{2}}Product or cart summaryset of 4 brass diyas
    • Pair it with the cash on delivery confirmation template from the order update set, so COD orders are confirmed before dispatch.
  7. Hi {{1}}, you added {{2}} to your cart in this chat but did not place the order. Reply YES and we will confirm it for {{3}} with delivery in 2 to 3 days.

    • YES, place order
    • Not now

    Cart built inside WhatsApp

    Marketingchat_cart_reminderLanguage: en

    Use it when: When a customer picked items while chatting with your team or chatbot but did not confirm the order before the 24-hour window closed.

    Variables
    VariableMeaningSample
    {{1}}Customer first nameAnita
    {{2}}Cart items2 kg basmati rice and 1 litre ghee
    {{3}}Cart total₹1,180
    • Inside the open window you can remind them with a normal chat message instead; the template is only needed after the window closes.
  8. image header

    Hi {{1}}, the {{2}} you had in your cart is back in stock in size {{3}}. We are holding your cart, but stock is limited, so order soon if you still want it.

    • Buy now

    Saved item back in stock

    Marketingcart_back_in_stockLanguage: en

    Use it when: When an out-of-stock item that blocked checkout is restocked.

    Variables
    VariableMeaningSample
    {{1}}Shopper first nameSneha
    {{2}}Productlinen kurta in olive
    {{3}}SizeM
    • Say stock is limited only when it is; false urgency is the quickest way to blocks.
  9. image header

    नमस्ते {{1}}, आपकी केसर ऑर्गेनिक्स कार्ट में {{2}} अभी भी रखा है। नीचे दिए बटन से एक मिनट में ऑर्डर पूरा करें।

    • ऑर्डर पूरा करें
    • ऑफ़र बंद करें

    First reminder (Hindi)

    Marketingcart_reminder_hiLanguage: hi

    Use it when: For shoppers who browsed your Hindi storefront or chat with you in Hindi.

    Variables
    VariableMeaningSample
    {{1}}Shopper nameसुनीता
    {{2}}Cart itemकच्ची घानी सरसों का तेल
  10. Hi {{1}}, aapka cart abhi bhi save hai. Code {{2}} lagaiye aur {{3}} tak extra 10% off paiye, ₹999 se upar ke order par.

    • Code copy karein
    • Order karein

    Second reminder (Hinglish)

    Marketingcart_reminder_hinglishLanguage: en

    Use it when: For Roman-script Hindi shoppers. Submitted under English (en) because WhatsApp has no Hinglish language code.

    Variables
    VariableMeaningSample
    {{1}}Shopper first nameRahul
    {{2}}Coupon codeWAPAS10
    {{3}}ExpirySunday raat

Frequently asked questions

Is an abandoned cart reminder a utility template?

No. It encourages the shopper to complete a purchase, so Meta treats it as marketing. If you submit it as utility, Meta can recategorise it automatically, and it is then charged and limited as marketing.

Can I send cart reminders to everyone who entered a phone number at checkout?

Only to shoppers who opted in to receive WhatsApp messages from your brand. A phone number entered for delivery is not an opt-in for marketing. Add a clear, unticked opt-in checkbox at checkout.

How many abandoned cart reminders should I send?

Two at most for one cart: a reminder within a couple of hours and one follow-up the next day. WhatsApp limits how many marketing templates a person receives, and extra reminders mostly produce blocks.

Does Broadchat detect abandoned carts on my Shopify website automatically?

Not as a live trigger. A workflow can list Shopify abandoned checkouts with the Shopify Abandoned Cart app each time it runs, and you start it at regular intervals by calling its webhook URL from a scheduler such as a cron job. For other stores, the store or its cart plugin has to send the cart to a workflow webhook.

See Broadchat on a real WhatsApp number

A short walkthrough of campaigns, chatbots, the team inbox and the partner panel, built around your use case.