Skip to content

For online stores and retail

WhatsApp for e-commerce: shoppers from ads, order updates and win-backs

What an online store can set up in InvestCRM on Meta's official API, and what it does not do. There is no ready-made integration with Shopify, WooCommerce, Nuvemshop or any other store platform: order updates come in through the InvestCRM API, shoppers who tapped an ad are served with the ad on screen, and customer win-back goes out as broadcasts to people who agreed to receive them.

The problem

Where a store's WhatsApp loses sales and time

In an online store, WhatsApp gets two kinds of questions that need opposite answers. The pre-purchase one ("do you have it in medium?", "will it arrive by Friday?") needs a fast reply, ideally from someone who knows which ad the person came from. The post-purchase one ("where is my order?") needs data that lives in the store platform, not in WhatsApp.

  • "Where is my order?" all day long: with no shipping notice, customers ask, and every question is an agent digging for a tracking code in another system.
  • Click-to-WhatsApp ads with no context: the chat starts with "hi, do you have this one?", and nobody knows which product "this one" was.
  • An order update with a coupon tacked on: the shipping notice is the most-read message a store sends, and the temptation is to slip a deal into it. At Meta, that takes the notice out of utility and changes the price of every delivery.
  • Win-back that turns into reports: sending news to the whole list, including someone who bought once two years ago and never agreed to messages, is the fastest way to pile up blocks and reports.

InvestCRM does not build catalogs, calculate shipping or read store inventory. The setups below use what it does have: the ad trigger, the team inbox, AI looking things up in a system of yours, the InvestCRM API for notices, and broadcasts with condition-based audiences.

Setups in InvestCRM

Four setups along the shopper's path

Labels in bold are the ones on screen (in Portuguese). The order follows the shopper: the ad, the order question, the shipping notice, and coming back to buy again.

From the Start plan

1. Shoppers from an ad are served with the ad on screen

Starts when

The person taps a click-to-WhatsApp ad and sends the first message (trigger O contato vem de um anúncio e escreve, contact comes from an ad and writes).

How to set it up

  1. In Automations, create the flow with the O contato vem de um anúncio e escreve trigger. The ID do anúncio (opcional) field (ad ID) lets you run a different flow per ad; left empty, it applies to all of them.
  2. Reply with Botões de resposta (reply buttons), for example "See sizes", "Delivery time" and "Talk to a seller", and connect each button to its next step.
  3. On the seller path, use Ações → Adicionar Tag "Came from ad", so these shoppers can be told apart when you measure and when you run win-backs.

What happens next

When the seller opens the chat, "do you have this one?" already comes with the product: the Veio do anúncio card (came from ad), at the top, shows the copy the person read before tapping and opens the creative through the Ver o anúncio link. Someone who only tapped the ad and never wrote does not enter the flow. The setup for whole campaigns is in click-to-WhatsApp ads, and reporting qualified leads back to Meta is in Meta and Google conversions, on the Business plan.

From the Start plan

2. AI answers "where is my order?" by checking the store

Starts when

The customer asks about an order in the chat while the AI agent is handling it.

How to set it up

  1. On the agent's Behavior tab, click Adicionar habilidade (add skill) and choose Consultar sistema externo (API). Give it a name, such as "Check order", and describe when to use it: when the customer asks about an order, ask for the number and look it up before replying.
  2. Enter the store system's address and, if it requires one, the authentication header: the value is stored encrypted and is never shown on screen again.
  3. Agree with whoever runs the store system: InvestCRM calls that address with the question as text and the customer's phone (a GET with consulta and telefone, or a JSON POST). The store needs an endpoint that understands that request and returns the status, and most platforms do not ship one.
  4. If you would rather the agent not mention it checked a system, tick Não comentar com o cliente que consultou o sistema.

What happens next

The agent asks for the order number, looks it up and replies with what the store returned. If the lookup fails or the store takes too long, the agent is instructed to say it could not check right now and to offer a person: that is an instruction to the AI, not a fixed reply. Without that store endpoint, the next setup solves it from the other side: the shipping notice arrives before the question.

InvestCRM screen: Behavior tab of a sample agent with the Consultar pedido skill, of the Consultar sistema externo (API) type, which asks for the number and checks before replying, next to the Agendar visita and Transferir para Financeiro skills
Real InvestCRM screen, with sample data.

From the Business plan

3. Order confirmed and order shipped, as utility, through the API

Starts when

The store platform changes an order status, and a small program in between calls POST /api/v1/contacts with that status as a tag.

How to set it up

  1. Create the key in Settings → Integrações (API) → + Nova chave.
  2. The program sends the phone, the order number in var1 (Campo 1), the tracking code in var2 (Campo 2) and the tag "Pedido enviado". There is no connector for Shopify, WooCommerce or Nuvemshop: your team, or whoever runs the store, builds that program.
  3. In Automations, the Tag atribuída ao contato trigger with "Pedido enviado" leads to a Modelo aprovado block with the pedido_enviado template, in the Utility category: {{1}} = Primeiro Nome, {{2}} = Campo 1 and {{3}} = Campo 2. Repeat with the "Pedido confirmado" tag and the pedido_confirmado template.
  4. Before turning it on for everyone, push a test order to your own number and check in WhatsApp that each variable landed in the right spot.

What happens next

The notice goes out even with no open chat, because it is an approved template, and the customer's reply lands in the inbox. Two exceptions. Anyone who typed SAIR or another opt-out word is excluded from every automation on the number, order updates included. And if the chat is in the queue or with an agent when the tag arrives, the notice stays on hold until the customer writes again, and a new tag does not restart that flow for them in the meantime: close the conversation before you change the order status.

From the Start plan

4. Win-back only for people who bought and agreed

Starts when

A broadcast scheduled for a date and time, with the volta_cliente marketing template.

How to set it up

  1. Tag your buyers, for example "Bought 2026", through the API or when importing a spreadsheet. Importing applies the tag without firing any automation, so nobody gets a message just for being imported.
  2. In Transmissões, under Público alvo, the Tag condition is "Bought 2026"; under + Excluir público, remove the "Open exchange" tag for anyone whose issue is still unresolved.
  3. Tick Confirmo o opt-in only if these customers agreed to get messages from the store on WhatsApp: buying is not the same as agreeing to promotions.
  4. Schedule it and choose the pace. On Start, the whole broadcast must fit in the month's 1,000 messages: an audience bigger than what is left is refused entirely, not halfway.

What happens next

The report shows sent, delivered, read, replies, failures with the reason under Por que falhou, the Pulados (skipped: closed window or opt-out) and the estimated cost. Anyone who types just SAIR or PARAR goes on the block list and will not get the next one.

InvestCRM screen: choosing the audience of a broadcast, with the general filters open (Tag, Segmento, Sequência de assinatura and Origem do opt-in), the recipient total on the right and the opt-in confirmation required by Meta and the LGPD
Real InvestCRM screen, with sample data.

Message templates

Templates for the store, in the right category

Order updates go out when a status changes, and the customer rarely has the chat open at that moment, so every text below is a template for Meta to approve. Brackets mark where your store name or a date goes.

  • Order confirmed

    Utility

    Template name: pedido_confirmado

    Hi {{1}}, we received your order {{2}} and are already packing it. We will let you know here when it ships.

    • View my order

    Why this category

    It confirms an order the customer just placed, with its number, and suggests nothing else: that is the order management Meta files under utility. It is also the immediate purchase confirmation that Brazil's e-commerce decree requires.

  • Order on its way

    Utility

    Template name: pedido_enviado

    Hi {{1}}, your order {{2}} has shipped, with tracking code {{3}}. If anything goes wrong with the delivery, reply to this message.

    Why this category

    It updates an order status, with the number and tracking. Meta says this kind of notice must not recommend products, upsell or include offers: ending it with "buy again with no shipping fee" takes the template out of utility.

  • News for past buyers

    Marketing

    Template name: volta_cliente

    Hi {{1}}! The new [Store] collection is in, with picks from the category you bought last time. Want a look? To stop all messages from [Store] here, reply STOP.

    • Show me

    Why this category

    News and recommendations for past buyers are marketing, even for customers already on your list. The text warns that STOP cuts every message from the store, because that is what the word does on the number. If there is a price or discount, spell out the full terms: an offer you send binds the store.

  • Items left in the cart

    Marketing

    Template name: carrinho_abandonado

    Hi {{1}}, you left {{2}} in your [Store] cart, and we are holding the items until [date]. Need a hand finishing up? To stop all messages from [Store] here, reply STOP.

    • Finish my order
    • I have a question

    Why this category

    "You left items in your cart" is, almost word for word, one of Meta's marketing examples: Meta calls it retargeting and keeps it in marketing even when the person started the purchase. Filing it as utility only leads to recategorization. Send it through an automation: the store's program adds the "Carrinho abandonado" tag through the API, with the items in Campo 3, and the Modelo aprovado block maps {{1}} = Primeiro Nome and {{2}} = Campo 3. Never through a sequence, which puts the name into every variable, and only to people who agreed at checkout to get WhatsApp messages.

What it costs

A month of messages for a store, at Meta's rates

An example store with one number, 900 orders a month and two notices per order, plus one win-back and some cart reminders. Chats that start from a click-to-WhatsApp ad can cost less than this table, because Meta opens an uncharged window for them; the bill below does not subtract that window, since it depends on the customer's device.

Sample bill using Meta's official rate card, Brazilian number
What forCategoryMessages a monthBilledPrice per messageCost for the month
Order confirmed and order shipped, two notices per purchaseUtility1,8001,800R$ 0.0350R$ 63.00
News for past buyers and cart remindersMarketing800800R$ 0.3217R$ 257.36
Answering questions, exchanges and AI repliesService (support)3,0002,000R$ 0.0350R$ 70.00
Estimated monthly total, paid straight to MetaR$ 390.36

The first 1,000 service messages of each number, every month, are free.

If the utility templates in this bill were classified as marketing, the same month would go from R$ 390.36 to R$ 906.42.

Two notices per order add up to little because they are utility; marketing is what weighs. If your shipping notices carry a coupon, Meta switches the category and the first row is billed at the marketing price, as the comparison above shows.

The volumes are an example to show the math, not data from a customer.

Meta's BRL rate card for Brazilian numbers, effective Oct 1, 2026, checked on Oct 9, 2026. See the rate card at Meta

Run your own numbers in the calculator →

Industry rules

What Meta, the Consumer Code and Brazil's e-commerce decree require

A store selling over WhatsApp in Brazil answers to Meta's commerce policy, the Consumer Protection Code and the e-commerce decree. Each card links the official text; the catalog and advertised prices belong to the store, and InvestCRM only carries and organizes the messages.

  • What cannot be sold on WhatsApp

    The WhatsApp Business Messaging Policy bans offering, among other things, firearms, drugs, medical and healthcare products, and adult products and services. Alcohol and over-the-counter medicines are only accepted in listed countries, Brazil among them, always under local law and never to people under 18.

    In InvestCRM

    InvestCRM does not check what the store sells. Meta approves each template, and any penalty for offering a banned item falls on the store's own WhatsApp Business account, which belongs to the store, not to InvestCRM.

    Source: WhatsApp Business Messaging Policy

  • Selling over WhatsApp also means disclosing and confirming

    Brazil's Decree 7,962/2013 covers websites and any other electronic means used to make offers or close sales. It requires, in a prominent place, the company name and CNPJ tax number, physical and electronic address, extra charges such as delivery, and the full terms of the offer (art. 2), and it requires immediate confirmation that the acceptance of the offer was received (art. 4, III).

    In InvestCRM

    The pedido_confirmado template is that confirmation when the sale closes on WhatsApp. Company details can go on the number's profile at Meta and in one of the agent's knowledge bases, so it can answer when asked; InvestCRM does not fill them in for you.

    Source: Decree 7,962/2013 (e-commerce)

  • The price in a broadcast binds the store

    Under article 30 of the Brazilian Consumer Protection Code, sufficiently precise information or advertising, carried by any means, binds the supplier and becomes part of the contract. If the store refuses to honor it, the consumer chooses between enforcing it, accepting an equivalent product or undoing the deal with a refund of what they paid (art. 35).

    In InvestCRM

    Before publishing, the Pronto para transmitir? window (ready to broadcast?) shows how many contacts will receive it and when. It is your last stop to check price, lead time and stock, because the message goes out identical to the whole audience.

    Source: Consumer Protection Code (Law 8,078/1990)

  • An order update is utility as long as it sells nothing

    Under Meta's category rules, confirming, updating or cancelling an order with its details is utility, provided the text does not promote, recommend, upsell or cross-sell, or include offers. A mixed template, such as an order update with a promotion attached, is marketing.

    In InvestCRM

    On the template creation screen you pick Utility and Meta checks it. If Meta changes the category later, the templates table in Settings → WhatsApp shows a warning next to the new category.

    Source: Meta's template categories

  • Chats that came from an ad: up to 7 days without Meta charges

    A shopper who writes from a click-to-WhatsApp ad, on the phone app, and gets a reply within the customer service window opens a window of up to 7 days in which Meta does not charge the messages sent to them.

    In InvestCRM

    For a store, that changes the bill for shoppers who came from the ad, not for order updates to people who bought on the website. The window conditions and the setup are in click-to-WhatsApp ads; Meta decides what was billed, on its own invoice.

    Source: WhatsApp Business Platform pricing (Meta)

Rules checked against the official sources on Oct 18, 2026. This is not legal advice: when in doubt, ask your professional council.

Plan

Which plan a store needs

For order updates, the plan is Business: they depend on the API, which starts on that plan. Business also brings the human support queue for exchanges and complaints, Meta and Google conversions to measure click-to-WhatsApp ads, room for you plus 3 people on the account, and broadcasts with no monthly message cap.

Without connecting the store, Start covers ad-driven chats through automations, the AI agent checking the store (if it has a lookup endpoint), win-back broadcasts up to 1,000 messages a month and 1 pipeline for large or wholesale orders.

Every customer who writes becomes a contact and counts toward the plan's contacts; a store with many buyers should check the included contacts row in the table.

InvestCRM plans: price, limits and features of each one
FeatureGrátisStartBusinessEnterprise
API and webhooksNot includedNot includedIncludedIncluded
Human handoff with queues and departmentsNot includedNot includedIncludedIncluded
Meta and Google conversionsNot includedNot includedIncludedIncluded
People on the accountJust youYou plus 1You plus 3You plus 15
Contacts included1001,0005,000Unlimited
Broadcast messages per monthNot included1,000UnlimitedUnlimited

See all plans and pricing →

Questions

Questions from store owners

Does InvestCRM integrate with Shopify, WooCommerce or Nuvemshop?

No. There is no native integration with any store platform. Order updates come in through the InvestCRM API, from Business, with a program in between built by your team; the AI order lookup uses an endpoint of your store.

Can I send my catalog through InvestCRM?

No: InvestCRM does not build or send catalogs. If your Meta account has a catalog linked to the number and the customer sends their cart through it, the inbox shows the order with each product code, quantity, price and total.

Exchanges and faulty products: who handles them?

The automation can ask for a photo and the order number and use Encaminhar para atendimento humano (hand over to a person), which puts the chat in a department queue, such as after-sales. The queue, departments and the Assumir (take over) button are on the Business plan; on Start, the chat stays in the inbox for the team to assign and to log in an internal note the customer never sees. While the chat is in the queue or with someone, automations stay silent for that customer, order updates included: close the exchange before you change the status of their next order.

A customer asked to stop the promotions. Will they still get order updates?

Not if they typed the opt-out word: the block list applies to broadcasts, sequences and automations, order updates included (which also wait while the chat is with an agent, as in the question above). If they only want out of the promotions, remove their win-back tag, or add a tag you exclude from broadcasts, instead of asking them to type SAIR.

Can I keep answering from the phone app?

Yes, with Coexistence: the number stays on the WhatsApp Business phone app and on the API at the same time. It suits a small store that already sells from a phone and does not want to change numbers.

Keep reading

To set up the store in InvestCRM

Start free on InvestCRM

The Free plan has no time limit and needs no card. Connect your number through the Meta window and try the system.