[{"data":1,"prerenderedAt":424},["ShallowReactive",2],{"blog-whatsapp-ai-chatbots-for-ecommerce":3,"blog-related-\u002Fblog\u002Fwhatsapp-ai-chatbots-for-ecommerce":392},{"id":4,"title":5,"author":6,"authorRole":7,"body":8,"cover":374,"coverAlt":375,"date":376,"description":377,"draft":378,"extension":379,"meta":380,"navigation":381,"path":382,"readingTime":383,"seo":384,"stem":385,"tags":386,"updated":390,"__hash__":391},"blog\u002Fblog\u002Fwhatsapp-ai-chatbots-for-ecommerce.md","WhatsApp AI chatbots for e-commerce: what to build and what to avoid","Ali Raza","Full Stack Engineer",{"type":9,"value":10,"toc":357},"minimark",[11,15,43,48,51,54,58,69,72,92,95,99,102,198,207,210,214,217,244,252,256,259,262,266,269,272,298,310,314,331,335,340,343,347,350,354],[12,13,14],"p",{},"A WhatsApp AI chatbot for e-commerce is an assistant on the WhatsApp Business API that answers product questions, reports order status, starts returns and recovers abandoned carts using your store data rather than a script. It works because customers already live in WhatsApp: open and reply rates are far higher than email, and a conversation can move from question to purchase without leaving the thread. The catch is that Meta's rules on opt-in, message categories and 24-hour sessions shape everything you build.",[16,17,18,24],"blockquote",{},[12,19,20],{},[21,22,23],"strong",{},"TL;DR",[25,26,27,31,34,37,40],"ul",{},[28,29,30],"li",{},"You need a verified Meta Business account and the WhatsApp Business API (Cloud API or a BSP); the green tick is optional, the approval is not.",[28,32,33],{},"Free-form replies are only allowed within 24 hours of the customer's last message; everything else must be a pre-approved template.",[28,35,36],{},"Start with order status, product Q&A and returns; add cart recovery and catalogue-plus-payments once opt-ins are clean.",[28,38,39],{},"Integrate with Shopify, WooCommerce or your CRM through read-only APIs first, then write actions behind confirmations.",[28,41,42],{},"Measure resolution and recovered revenue against a holdout, not message volume.",[44,45,47],"h2",{"id":46},"what-do-you-need-from-meta-before-you-write-any-code","What do you need from Meta before you write any code?",[12,49,50],{},"Three things: a Meta Business Manager account that passes business verification, a phone number not registered on the consumer app, and access to the WhatsApp Business Platform, either directly through the Cloud API or via a Business Solution Provider (BSP) that adds an inbox and billing. Verification takes days, so start it on day one.",[12,52,53],{},"Meta also rates your number on how customers react; too many blocks and your outbound limits drop overnight. The assistant has to be useful enough that people do not swipe it away.",[44,55,57],{"id":56},"templates-vs-session-messages-which-do-you-use-when","Templates vs session messages: which do you use when?",[12,59,60,61,64,65,68],{},"Once a customer messages you, a ",[21,62,63],{},"24-hour customer service window"," opens. Inside it you can send free-form session messages, including anything your AI generates. Outside it you may only send ",[21,66,67],{},"template messages"," that Meta has approved in advance, in a declared category: utility (order updates), marketing (offers, cart reminders) or authentication (one-time codes).",[12,70,71],{},"In practice:",[25,73,74,80,86],{},[28,75,76,79],{},[21,77,78],{},"Inbound questions"," (\"where is my parcel?\", \"does this come in blue?\") are answered in the session with generated replies grounded in your data.",[28,81,82,85],{},[21,83,84],{},"Proactive updates"," (shipped, out for delivery, refund issued) go as utility templates with variables for order number and tracking link.",[28,87,88,91],{},[21,89,90],{},"Cart recovery and promotions"," go as marketing templates, only to customers who opted in to marketing specifically. Marketing conversations cost more and are frequency-capped in several markets.",[12,93,94],{},"Design templates as conversation openers: a shipping notice ending \"Reply if you need to change the delivery address\" opens a session in which the AI can act.",[44,96,98],{"id":97},"which-use-cases-pay-off-first","Which use cases pay off first?",[12,100,101],{},"Order the roadmap by frequency and by how much of the answer already lives in a system you can query.",[103,104,105,124],"table",{},[106,107,108],"thead",{},[109,110,111,115,118,121],"tr",{},[112,113,114],"th",{},"Use case",[112,116,117],{},"Data source",[112,119,120],{},"Message type",[112,122,123],{},"Typical outcome",[125,126,127,142,156,170,184],"tbody",{},[109,128,129,133,136,139],{},[130,131,132],"td",{},"Order status and tracking",[130,134,135],{},"Store orders API, carrier API",[130,137,138],{},"Session reply or utility template",[130,140,141],{},"Largest single reduction in tickets",[109,143,144,147,150,153],{},[130,145,146],{},"Product Q&A",[130,148,149],{},"Catalogue, size guides, policies (via RAG)",[130,151,152],{},"Session reply",[130,154,155],{},"Higher conversion on considered purchases",[109,157,158,161,164,167],{},[130,159,160],{},"Returns and exchanges",[130,162,163],{},"Orders API plus returns rules",[130,165,166],{},"Session, with confirmation step",[130,168,169],{},"Faster resolutions, fewer emails",[109,171,172,175,178,181],{},[130,173,174],{},"Abandoned-cart recovery",[130,176,177],{},"Checkout events, opted-in customers",[130,179,180],{},"Marketing template within hours",[130,182,183],{},"Recovered revenue in the low single digits of abandoned value",[109,185,186,189,192,195],{},[130,187,188],{},"Catalogue and payments",[130,190,191],{},"WhatsApp catalogue, payment links",[130,193,194],{},"Interactive session messages",[130,196,197],{},"Purchase without leaving the thread",[12,199,200,201,206],{},"Product Q&A is where the language model earns its place: retrieval over the catalogue, size guides and policies lets it answer \"will the 42 fit if I'm usually a 41?\" from your own fit notes, and decline when it has nothing, the same cite-or-decline pattern we use for ",[202,203,205],"a",{"href":204},"\u002Fservices\u002Fai-chatbots","support chatbots",".",[12,208,209],{},"Cart recovery funds the rest, but only with restraint. One reminder a few hours after abandonment, personalised with the items and an honest \"did something stop you?\", beats a sequence of discount pushes, because it opens a session in which the assistant can clear the blocking question.",[44,211,213],{"id":212},"how-does-the-assistant-connect-to-your-store-and-crm","How does the assistant connect to your store and CRM?",[12,215,216],{},"The assistant is only as good as the tools it can call. Wire it up in layers:",[218,219,220,226,232,238],"ol",{},[28,221,222,225],{},[21,223,224],{},"Read-only first."," Order, stock and tracking lookups via the Shopify Admin API or WooCommerce REST API. Match the WhatsApp number to the account and use a one-time code for anything sensitive.",[28,227,228,231],{},[21,229,230],{},"Write actions behind confirmations."," Start a return, change an address, apply a code. Each is a tool with a schema; the assistant proposes, the customer confirms with a button, then the call executes.",[28,233,234,237],{},[21,235,236],{},"CRM and helpdesk sync."," Log every conversation to HubSpot, Zendesk or whatever you run, tagged by intent and outcome.",[28,239,240,243],{},[21,241,242],{},"Events in."," Checkout abandoned, order shipped, refund issued: these trigger templates and keep context current.",[12,245,246,247,251],{},"This is standard ",[202,248,250],{"href":249},"\u002Fservices\u002Fai-integration","AI integration"," work: idempotent calls, retries, an audit log of every action taken on a customer's behalf, and a fallback to plain templates if a downstream API misbehaves.",[44,253,255],{"id":254},"what-about-opt-in-privacy-and-hand-off","What about opt-in, privacy and hand-off?",[12,257,258],{},"Meta requires explicit opt-in before you message someone first, and it must name WhatsApp specifically. Collect it at checkout and in the account area, store the timestamp and source, keep marketing opt-in separate from transactional, and honour \"STOP\" instantly. If you serve EU customers, treat WhatsApp numbers as personal data under GDPR: purpose limitation, retention limits and a processing agreement with your BSP.",[12,260,261],{},"For hand-off, the human should receive the full transcript, the sources used and a drafted reply. Route by intent (complaints and payment disputes go straight to people), sentiment and confidence, and state business hours up front so a night-time hand-off sets the right expectation.",[44,263,265],{"id":264},"what-does-it-cost-and-how-do-you-measure-it","What does it cost and how do you measure it?",[12,267,268],{},"Costs come in three parts: Meta's per-conversation pricing (varying by country and category), your BSP or hosting, and model inference. In a typical mid-sized store inference is a small fraction of the total; marketing template fees dominate, another reason to keep recovery messages targeted.",[12,270,271],{},"Measure it as you would a member of the team:",[25,273,274,280,286,292],{},[28,275,276,279],{},[21,277,278],{},"Resolution rate:"," conversations closed without a human and without a re-contact within seven days.",[28,281,282,285],{},[21,283,284],{},"Recovered revenue:"," orders completed within a set window of a recovery template, compared with a holdout that received nothing.",[28,287,288,291],{},[21,289,290],{},"Template health:"," read, reply and block rates per template; retire the ones that get blocked.",[28,293,294,297],{},[21,295,296],{},"Cost per resolved conversation:"," all three cost lines divided by resolutions.",[12,299,300,301,305,306,206],{},"Keep an evaluation set of a few hundred real messages with approved answers and score every prompt or model change against it before it ships. Paired with sensible ",[202,302,304],{"href":303},"\u002Fservices\u002Fai-automation","automation"," of the surrounding workflows, that turns a WhatsApp number into a channel that pays for itself. For a second opinion on your plan or Meta setup, ",[202,307,309],{"href":308},"\u002Fcontact","get in touch",[44,311,313],{"id":312},"key-takeaways","Key takeaways",[25,315,316,319,322,325,328],{},[28,317,318],{},"Meta approval, template categories and the 24-hour window are product constraints; design around them from the start.",[28,320,321],{},"Lead with order status, product Q&A and returns; they resolve the most tickets with the least risk.",[28,323,324],{},"Cart recovery works when it is opted-in, timely and restrained; it fails as a discount broadcast.",[28,326,327],{},"Integrate read-only first, then write actions behind explicit confirmations with an audit log.",[28,329,330],{},"Track resolution, recovered revenue against a holdout and block rates rather than raw message counts.",[44,332,334],{"id":333},"faq","FAQ",[336,337,339],"h3",{"id":338},"do-i-need-the-green-tick-to-run-an-ai-chatbot-on-whatsapp","Do I need the green tick to run an AI chatbot on WhatsApp?",[12,341,342],{},"No. The green tick (Official Business Account) is a discretionary badge Meta grants to notable brands. What you need is a verified Meta Business account, a registered phone number and access to the WhatsApp Business API, either directly through the Cloud API or through a Business Solution Provider. Most stores launch without the badge and apply later once volumes justify it.",[336,344,346],{"id":345},"can-the-assistant-message-a-customer-who-has-not-messaged-us-first","Can the assistant message a customer who has not messaged us first?",[12,348,349],{},"Only with a pre-approved template and only if the customer has opted in to WhatsApp messages from you. Free-form, AI-generated replies are limited to the 24-hour window after the customer's last message. The usual approach is to send a template, such as a shipping update or a cart reminder, that invites a reply; the reply opens a session in which the assistant can answer freely.",[336,351,353],{"id":352},"how-do-we-stop-the-assistant-making-promises-about-stock-or-delivery","How do we stop the assistant making promises about stock or delivery?",[12,355,356],{},"Ground every factual answer in a tool call rather than the model's memory: stock from the catalogue API, delivery estimates from the carrier or shipping rules, order status from the orders API. Instruct the model to decline or hand off when a lookup fails, log every answer with its sources and review a sample weekly. Retrieval plus explicit tools removes almost all invented facts.",{"title":358,"searchDepth":359,"depth":359,"links":360},"",2,[361,362,363,364,365,366,367,368],{"id":46,"depth":359,"text":47},{"id":56,"depth":359,"text":57},{"id":97,"depth":359,"text":98},{"id":212,"depth":359,"text":213},{"id":254,"depth":359,"text":255},{"id":264,"depth":359,"text":265},{"id":312,"depth":359,"text":313},{"id":333,"depth":359,"text":334,"children":369},[370,372,373],{"id":338,"depth":371,"text":339},3,{"id":345,"depth":371,"text":346},{"id":352,"depth":371,"text":353},"\u002Fcovers\u002Fblog\u002Fwhatsapp-ai-chatbots-for-ecommerce.svg","Line-art illustration of a smartphone showing chat bubbles beside a shopping bag.","2025-10-21","How to launch a WhatsApp AI assistant for an online store: Meta approval, templates vs sessions, order tracking, cart recovery, integrations and hand-off.",false,"md",{},true,"\u002Fblog\u002Fwhatsapp-ai-chatbots-for-ecommerce",8,{"title":5,"description":377},"blog\u002Fwhatsapp-ai-chatbots-for-ecommerce",[387,388,389],"Conversational AI","Integrations","Automation",null,"wO0O_m341fSYczPa7LkMT5dSHXGN1zTVipU0QLk40Bc",[393,404,414],{"path":394,"title":395,"description":396,"date":397,"tags":398,"cover":401,"coverAlt":402,"readingTime":403},"\u002Fblog\u002Fmeasuring-ai-roi-honestly","Measuring AI ROI honestly: a method that survives the finance review","How to measure the return on an AI project without fooling yourself: baselines, full costs, holdout attribution, leading indicators and inflated-ROI red flags.","2026-08-11",[399,400],"Strategy","Analytics","\u002Fcovers\u002Fblog\u002Fmeasuring-ai-roi-honestly.svg","Line-art illustration of a ruler measuring a stack of coins beside a rising bar.",7,{"path":405,"title":406,"description":407,"date":408,"tags":409,"cover":412,"coverAlt":413,"readingTime":403},"\u002Fblog\u002Fmultimodal-ai-business-workflows","Multimodal AI in real business workflows: where it earns its place","Vision-language and audio models now read forms, photos, screenshots and calls directly. Where multimodal AI beats OCR-then-LLM, with examples, limits and cost.","2026-06-30",[410,411,389],"Computer Vision","LLMs","\u002Fcovers\u002Fblog\u002Fmultimodal-ai-business-workflows.svg","Line-art illustration of an eye, an ear and a speech bubble converging into a single processing node.",{"path":415,"title":416,"description":417,"date":418,"tags":419,"cover":422,"coverAlt":423,"readingTime":403},"\u002Fblog\u002Fmlops-basics-first-model","MLOps basics for teams shipping their first model","The minimum MLOps a team needs to put a first model into production safely: versioning, reproducible training, a registry, serving, monitoring and rollback.","2026-05-19",[420,421],"MLOps","Product","\u002Fcovers\u002Fblog\u002Fmlops-basics-first-model.svg","Line-art illustration of a looping pipeline with gauges, from data to model to monitoring and back.",1792973685045]