Skip to content
Kanesh

WhatsApp template library

WhatsApp templates you can adapt today.

24 message templates for ecommerce, written in English and Spanish. Each one shows its Meta category, a suggested header, the buttons, what the variables stand for and when to use it.

The three categories Meta uses

The category decides what a template may say and who you may send it to. Mixed content counts as marketing.

  • Marketing

    Meta: templates that "enable businesses to achieve a wide range of goals, from generating awareness to driving sales and retargeting customers." Abandoned-cart and back-in-stock reminders are marketing.

    Send only to people who opted in to marketing from your business, and offer an easy way to stop.

  • Utility

    Meta: templates that "enable businesses to follow up on user actions or requests." They must be non-promotional and about the person's order, account or request. Add a promo and it becomes marketing.

    You still need the person's permission to message them on WhatsApp.

  • Authentication

    Meta: templates that "enable businesses to verify a user's identity." They carry a one-time code with fixed text supplied by Meta.

    Reference only here: Kanesh isn't built for sending login codes.

Browse the templates

Meta category

Use case

Showing 24 of 24 templates

  • MarketingAbandoned cart

    Cart reminder

    cart_reminder

    Hi {{1}}, you left {{2}} in your cart. We've saved it for you, so you can finish your order whenever you're ready.

    Suggested header
    No header
    Buttons
    Link · Finish my order / Quick reply · Stop promotions

    When to use it

    The first reminder, about an hour after the cart is abandoned. Plain and helpful, no pressure.

    Consent and category: Marketing template: send it only to people who opted in to WhatsApp marketing from your business, and keep the opt-out button.
    Setup details

    How to send it in Kanesh

    Flow: abandoned cart trigger → wait → send template.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Product · the linen shirt
    Copies the body text
  • MarketingAbandoned cart

    Cart: can we help?

    cart_question

    Hi {{1}}, did something stop you from completing your order at {{2}}? If you have a question about sizes, shipping or returns, reply here and we'll help.

    Suggested header
    No header
    Buttons
    Quick reply · I have a question / Link · Back to my cart / Quick reply · Stop promotions

    When to use it

    When most carts in your store stall on a doubt (size, delivery time, returns). It opens a conversation that the AI or your team can answer.

    Consent and category: Marketing template: send it only to people who opted in to WhatsApp marketing from your business, and keep the opt-out button.
    Setup details

    How to send it in Kanesh

    Flow: abandoned cart trigger → wait → send template → wait for reply. Replies land in the shared inbox.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Store name · Demo Store
    Copies the body text
  • MarketingAbandoned cart

    Cart: last reminder

    cart_last_reminder

    Hi {{1}}, this is our last reminder about your cart. {{2}} is still saved, and we won't message you about it again.

    Suggested header
    Image
    Buttons
    Link · See my cart / Quick reply · Stop promotions

    When to use it

    A second and final touch, a day later, only if the first one got no reply. Saying it's the last one respects the customer and your quality rating.

    Consent and category: Marketing template: send it only to people who opted in to WhatsApp marketing from your business, and keep the opt-out button.
    Setup details

    How to send it in Kanesh

    Same flow as the first reminder: wait for reply → if none, wait → send this template.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Product · The linen shirt
    Copies the body text
  • UtilityOrder updates

    Order confirmed

    order_confirmed

    Order confirmed

    Thank you, {{1}}. Your order {{2}} is confirmed. We'll message you here when it ships. If you have a question, just reply.

    Suggested header
    Text
    Buttons
    Link · View my order

    When to use it

    Right after payment. It also opens a channel for questions about that order.

    Consent and category: Utility only while it stays about this order. Add a promotion and Meta treats it as marketing.
    Setup details

    How to send it in Kanesh

    Flow: order paid trigger (Shopify) → send template.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Order number · #1042
    Copies the body text
  • UtilityOrder updates

    Order shipped

    order_shipped

    Your order is on its way

    Hi {{1}}, your order {{2}} has shipped with {{3}}. Your tracking number is {{4}}, and you can follow the delivery with the link below.

    Suggested header
    Text
    Buttons
    Link · Track my order

    When to use it

    When the order leaves your warehouse. It prevents a large share of "where is my order?" messages.

    Consent and category: Utility: tied to the customer's order. Keep offers out of it.
    Setup details

    How to send it in Kanesh

    Kanesh has no built-in trigger for this event. Send it manually from the inbox, or from your own system through a flow with the inbound webhook trigger.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Order number · #1042
    • {{3}} Carrier · Demo Express
    • {{4}} Tracking number · DX123456
    Copies the body text
  • UtilityOrder updates

    Delivered: all good?

    order_delivered

    Hi {{1}}, your order {{2}} shows as delivered. If anything is missing or isn't right, reply to this message and we'll sort it out.

    Suggested header
    No header
    Buttons
    Quick reply · All good / Quick reply · Something's wrong

    When to use it

    The day the carrier marks the order as delivered. Catching a problem here beats a public complaint later.

    Consent and category: Utility: a check on this order. Route "Something's wrong" to a person.
    Setup details

    How to send it in Kanesh

    Kanesh has no built-in trigger for this event. Send it manually from the inbox, or from your own system through a flow with the inbound webhook trigger.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Order number · #1042
    Copies the body text
  • UtilityOrder updates

    Delivery delay

    order_delay

    Hi {{1}}, your order {{2}} is taking longer than expected. The new estimated delivery date is {{3}}. We're sorry for the wait. Reply here if you have any questions.

    Suggested header
    No header
    Buttons
    Link · Track my order

    When to use it

    As soon as you know a batch of orders will be late. Telling customers first saves your team a wave of messages.

    Consent and category: Utility when it's about the customer's own order. A campaign of this template still needs to reach only affected customers.
    Setup details

    How to send it in Kanesh

    Send it manually, or as a campaign to a tag or segment of the affected customers.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Order number · #1042
    • {{3}} New date · October 14
    Copies the body text
  • UtilityOrder updates

    Confirm the address

    order_address_check

    Hi {{1}}, before we ship order {{2}}, please confirm the delivery address: {{3}}. Is it correct?

    Suggested header
    No header
    Buttons
    Quick reply · Yes, it's correct / Quick reply · No, it needs a change

    When to use it

    For orders your team flags as risky (incomplete address, first order to a new region).

    Consent and category: Utility. Address changes are made by your team in Shopify: hand "No, it needs a change" to a person.
    Setup details

    How to send it in Kanesh

    Send it manually from the inbox, or with a flow on the tag added trigger when your team tags the conversation.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Order number · #1042
    • {{3}} Address · 12 Demo Street, Madrid
    Copies the body text
  • MarketingBack in stock

    Back in stock

    back_in_stock

    Hi {{1}}, {{2}} is back in stock in size {{3}}. You asked us to let you know, so here it is.

    Suggested header
    Image
    Buttons
    Link · See the product / Quick reply · Stop promotions

    When to use it

    For people who asked to be told when a product returns. Meta lists back-in-stock alerts as marketing (retargeting).

    Consent and category: Marketing template: send it only to people who opted in to WhatsApp marketing from your business, and keep the opt-out button.
    Setup details

    How to send it in Kanesh

    Kanesh has no built-in trigger for this event. Send it manually from the inbox, or from your own system through a flow with the inbound webhook trigger.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Product · The linen shirt
    • {{3}} Size · M
    Copies the body text
  • UtilityBack in stock

    Waitlist confirmed

    back_in_stock_waitlist

    Done, {{1}}. We'll message you here when {{2}} is back in stock. If you change your mind, just reply STOP.

    Suggested header
    No header
    Buttons
    None

    When to use it

    To confirm a request the customer just made. Inside the 24-hour window a normal reply works too; the template is for when the window has closed.

    Consent and category: Utility: it confirms the customer's own request. The later back-in-stock alert is marketing and needs marketing opt-in.
    Setup details

    How to send it in Kanesh

    Flow: keyword trigger (e.g. "notify me") → add tag → send message or template. The tag lets your own system find the list later.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Product · the linen shirt
    Copies the body text
  • UtilityPost-purchase review

    Review request

    review_request

    Hi {{1}}, how is your {{2}} working out? If you have a minute, you can review your order {{3}} with the link below.

    Suggested header
    No header
    Buttons
    Link · Review my order

    When to use it

    A few days after the expected delivery, once the customer has used the product.

    Consent and category: Meta lists feedback on a specific order as utility. Offer a discount for the review and it becomes marketing; incentivized reviews may also need to be disclosed under consumer law.
    Setup details

    How to send it in Kanesh

    Flow: order paid trigger → wait (e.g. 10 days, longer than your usual delivery time) → send template.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Product · linen shirt
    • {{3}} Order number · #1042
    Copies the body text
  • UtilityPost-purchase review

    One-tap feedback

    review_quick_rating

    Hi {{1}}, your order {{2}} arrived a few days ago. How was your experience with us?

    Suggested header
    No header
    Buttons
    Quick reply · Very good / Quick reply · Could be better / Quick reply · Something went wrong

    When to use it

    When you want a quick signal before asking for a public review. Answer "Could be better" and "Something went wrong" personally.

    Consent and category: Utility: feedback about this order, no promotion.
    Setup details

    How to send it in Kanesh

    Flow: order paid trigger → wait → send template. A second flow on the keyword trigger ("Could be better", "Something went wrong") → assign to your team.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Order number · #1042
    Copies the body text
  • MarketingVIP customers

    VIP early access

    vip_early_access

    Hi {{1}}, as one of our regular customers, you get early access to {{2}} from {{3}}, before it opens to everyone.

    Suggested header
    Image
    Buttons
    Link · See it first / Quick reply · Stop promotions

    When to use it

    For your best customers, a few days before a launch or sale.

    Consent and category: Marketing template: send it only to people who opted in to WhatsApp marketing from your business, and keep the opt-out button.
    Setup details

    How to send it in Kanesh

    Campaign to a VIP segment (for example, a Klaviyo segment or a Shopify-based audience), scheduled at a good hour.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Collection · the autumn collection
    • {{3}} Date · Thursday
    Copies the body text
  • MarketingVIP customers

    Thank-you code

    vip_code

    Hi {{1}}, thank you for shopping with us again. Your code {{2}} gives you a discount on your next order until {{3}}. Enter it at checkout.

    Suggested header
    No header
    Buttons
    Link · Shop now / Quick reply · Stop promotions

    When to use it

    After a customer's second or third order. The code is one you create in your store; Kanesh doesn't create it.

    Consent and category: Marketing template: send it only to people who opted in to WhatsApp marketing from your business, and keep the opt-out button.
    Setup details

    How to send it in Kanesh

    Flow: Klaviyo segment entered (e.g. "3+ orders") → send template. Or a campaign to that segment.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Code · THANKS10
    • {{3}} Date · October 31
    Copies the body text
  • MarketingVIP customers

    Personal shopping help

    vip_personal_help

    Hi {{1}}, it's {{2}} from {{3}}. If you'd like help choosing for the new season, reply here and I'll send you a few ideas.

    Suggested header
    No header
    Buttons
    Quick reply · Yes, send ideas / Quick reply · Stop promotions

    When to use it

    For high-value customers who respond well to a person. Only sign with a name if that person really answers.

    Consent and category: Marketing template: send it only to people who opted in to WhatsApp marketing from your business, and keep the opt-out button.
    Setup details

    How to send it in Kanesh

    Campaign to a VIP tag or segment. Flow alternative: wait for reply → assign to the named person.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Team member · Marta
    • {{3}} Store name · Demo Store
    Copies the body text
  • MarketingRe-engagement

    It's been a while

    winback_new_arrivals

    Hi {{1}}, it's been a while. Since your last visit we've added {{2}}, and we thought you might like to see it.

    Suggested header
    Image
    Buttons
    Link · See what's new / Quick reply · Stop promotions

    When to use it

    For customers with no order in several months. Send once; if there's no response, stop.

    Consent and category: Marketing template: send it only to people who opted in to WhatsApp marketing from your business, and keep the opt-out button.
    Setup details

    How to send it in Kanesh

    Flow: Klaviyo segment age trigger (time in a "lapsed" segment) → send template.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} What's new · a new linen range
    Copies the body text
  • MarketingRe-engagement

    Time to restock

    replenish_reminder

    Hi {{1}}, your {{2}} usually lasts about {{3}}. If you're running low, you can reorder in a couple of taps.

    Suggested header
    No header
    Buttons
    Link · Reorder / Quick reply · Stop promotions

    When to use it

    For consumables (beauty, coffee, supplements) with a predictable use time.

    Consent and category: Marketing template: send it only to people who opted in to WhatsApp marketing from your business, and keep the opt-out button.
    Setup details

    How to send it in Kanesh

    Flow: order paid trigger → wait (the product's typical duration) → send template.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Product · face serum
    • {{3}} Duration · six weeks
    Copies the body text
  • MarketingRe-engagement

    What do you want to hear about?

    preferences_check

    Hi {{1}}, we only want to message you about what interests you. What would you like {{2}} to write to you about? Choose an option below.

    Suggested header
    No header
    Buttons
    Quick reply · New arrivals / Quick reply · Sales only / Quick reply · Stop promotions

    When to use it

    When engagement drops across your list. It cleans your audience and cuts blocks and reports.

    Consent and category: Marketing template: send it only to people who opted in to WhatsApp marketing from your business, and keep the opt-out button.
    Setup details

    How to send it in Kanesh

    Campaign to opted-in contacts, then a flow on the keyword trigger (the button text) → add tag.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Store name · Demo Store
    Copies the body text
  • UtilityOpt-in and opt-out

    Opt-in confirmation

    optin_confirmation

    Thanks for confirming, {{1}}. You'll now receive news and offers from {{2}} on WhatsApp. You can stop at any time by replying STOP.

    Suggested header
    No header
    Buttons
    None

    When to use it

    Right after someone opts in (form, keyword or button). Meta's own opt-in confirmation example is utility.

    Consent and category: Name your business and say what they'll receive. Make stopping as easy as joining.
    Setup details

    How to send it in Kanesh

    Flow: keyword trigger (e.g. "JOIN") → record consent → send message. Kanesh stores the exact text the person accepted.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Store name · Demo Store
    Copies the body text
  • UtilityOpt-in and opt-out

    Double opt-in

    optin_double

    Hi {{1}}, we received a request to send you news and offers from {{2}} on WhatsApp. Tap Confirm if that was you.

    Suggested header
    No header
    Buttons
    Quick reply · Confirm / Quick reply · It wasn't me

    When to use it

    When the number came from a web form or checkout box and you want proof that its owner agreed.

    Consent and category: Send it only to a number the person gave you for this purpose. No offer in the message, or it's marketing.
    Setup details

    How to send it in Kanesh

    Flow: keyword trigger on "Confirm" → record consent → send the opt-in confirmation.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Store name · Demo Store
    Copies the body text
  • UtilityOpt-in and opt-out

    Opt-out confirmation

    optout_confirmation

    Done, {{1}}. You won't receive promotional messages from {{2}} on WhatsApp any more. Updates about your orders will still reach you here.

    Suggested header
    No header
    Buttons
    None

    When to use it

    Immediately after an opt-out. Usually inside the 24-hour window, so a plain reply is enough; keep the template for other cases.

    Consent and category: Confirm the opt-out and stop marketing right away. Only mention order updates if you really keep sending them.
    Setup details

    How to send it in Kanesh

    Flow: keyword trigger ("STOP", "Stop promotions") → record consent (opt-out) → send message.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Store name · Demo Store
    Copies the body text
  • UtilityCustomer service

    We have your answer

    service_reply_ready

    Hi {{1}}, we have an answer to your question about {{2}}. Tap below to continue the conversation.

    Suggested header
    No header
    Buttons
    Quick reply · Continue

    When to use it

    When your answer is ready but more than 24 hours have passed since the customer's last message, so a free-form reply is no longer allowed.

    Consent and category: Utility: it follows up on the customer's own request.
    Setup details

    How to send it in Kanesh

    Send it manually from the conversation in the inbox. Their tap reopens the window.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Topic · order #1042
    Copies the body text
  • UtilityCustomer service

    Still on it

    service_still_working

    Hi {{1}}, we're still working on your request about {{2}}. We'll message you here as soon as we have news.

    Suggested header
    No header
    Buttons
    None

    When to use it

    For cases that take days (a carrier claim, an exchange). It keeps the customer informed instead of chasing you.

    Consent and category: Utility: an update on the customer's open request.
    Setup details

    How to send it in Kanesh

    Send it manually, or with a flow on the no reply after N hours trigger for conversations tagged as pending.

    Variables and example values

    • {{1}} First name · Lucía
    • {{2}} Topic · your exchange
    Copies the body text
  • AuthenticationVerification codes

    Verification code (Meta preset)

    auth_copy_code

    {{1}} is your verification code. For your security, do not share this code.

    This code expires in 10 minutes.

    Suggested header
    No header
    Buttons
    Copy code · Copy code

    When to use it

    Reference only. Authentication templates carry one-time codes for logins and account checks; Meta supplies the text in each language and you choose options such as the expiry note.

    Consent and category: You can't write your own authentication text or add links or promotions. Preview approximated; Meta's localized wording may differ.
    Setup details

    How to send it in Kanesh

    Kanesh isn't built for sending login codes. Your login or identity provider sends these.

    Variables and example values

    • {{1}} One-time code · 482913

    Meta supplies this text; there's nothing to copy.

Limits to respect before you submit

From Meta's template components documentation. Meta rejects templates that break them.

  • Header text: 60 characters at most. Headers can also be an image, a video, a document or a location.
  • Body: 1,024 characters at most. Variables are numbered in order: {{1}}, {{2}}, {{3}}.
  • Footer: 60 characters at most.
  • Buttons: up to 10 in total, with at most two link buttons, one call button and one copy-code button. Button text: 25 characters at most.
  • Templates with four or more buttons can't be viewed on WhatsApp desktop, only on mobile.
  • Give Meta a realistic example for every variable when you submit, like the example values shown on each card.

Free diagnosis

Want to know which messages your customers really need?

We review up to 180 days of your WhatsApp history and send you a written diagnosis within 48 hours. Free, and nothing is connected until we've agreed in writing how your data is handled.