Cart reminders, offers and campaigns on WhatsApp are marketing messages, and WhatsApp only allows them to customers who agreed to hear from you. That agreement is called an opt-in. The more opted-in customers you have, the more people your automations and campaigns can reach, so growing this list is one of the most valuable things a D2C brand can do on WhatsApp.
Here are six ways to collect opt-ins on a Shopify store, and the rules that keep your number in good standing.
What counts as a valid opt-in
Meta's WhatsApp Business Policy asks businesses to get permission before sending messages, and to make the opt-in clear. In practice, a good opt-in:
- Is an active choice by the customer, such as ticking a box or sending you a message, never a box that's ticked for them
- Says it's for WhatsApp (not just "updates")
- Names your business, so customers know who will message them
- Is easy to undo: customers can reply STOP at any time
Order confirmations, COD confirmations and shipping updates are different: they're utility messages about a purchase the customer just made, and don't need a marketing opt-in.
1. The marketing checkbox at checkout
This is where most opt-ins come from, because every buyer passes through it. In Shopify, go to Settings → Checkout and, under marketing options, turn on the option for customers to sign up for marketing. Edit the checkbox label in your checkout language settings so it mentions WhatsApp, for example:
Send me order updates and offers on WhatsApp and email
When a buyer ticks it, Shopify records their consent. Wapimate reads it with every order and abandoned checkout, and marks that customer as opted in. Leave the box unticked by default; a pre-ticked box isn't a real choice.
2. A WhatsApp chat button on your store
Customers who message you first have started the conversation themselves. Add a floating button with our free website chat button generator. Inside the chat, you can invite them to subscribe: "Reply START to get early access to sales and new arrivals."
3. A START keyword
Wapimate listens for START (or SUBSCRIBE) in any chat. When a customer sends it, they're marked as opted in and get a confirmation message. When anyone sends STOP, they're unsubscribed straight away and told how to rejoin. Mention the keyword in your Instagram bio, stories and emails: "WhatsApp START to +91… for early access."
4. QR codes on packaging and inserts
Your parcel is in the customer's hands at their happiest moment. Print a WhatsApp QR code on the box or an insert card with a reason to scan, such as "Scan to get 10% off your next order on WhatsApp." Set the pre-filled message to START so one tap subscribes them.
5. Links in Instagram, emails and ads
A wa.me link with a pre-filled message works anywhere you can paste a link: your Instagram bio, email footers, SMS and ads. Brands with an active Instagram audience often get their first few hundred opt-ins this way.
6. Give people a reason
Nobody opts in for "updates". Tell them what they get:
- Early access to sales before the website
- Restock alerts for sold-out products
- A one-time discount on their next order
- Faster support than email
Then deliver it. If you promise early access, send early access, not a daily promotion.
Keep your list healthy
- Send less, but better. A couple of relevant campaigns a month beats daily blasts. Customers who block or report your number lower its quality rating with Meta.
- Segment. Send offers to the customers they suit, using tags, order count, total spent and last order date. See broadcast campaigns.
- Honour STOP immediately. Wapimate does this automatically, and its automations and campaigns skip anyone who hasn't opted in.
- Importing old lists: only mark imported contacts as opted in if they really agreed to WhatsApp messages from you.
See your opt-ins in one place
In Wapimate, Contacts shows who is opted in, and the dashboard shows how many of your contacts can receive marketing messages. Opt-ins from Shopify checkout, chat keywords and imports all land in the same list, ready for your cart reminders and campaigns.