Understanding WhatsApp consent collection
Learn how you can collect consent to send WhatsApp messages, including what methods are available and best practices for doing so.
Meta (WhatsApp) opt-in requirements
To send messages to customers on WhatsApp, businesses must comply with Meta’s WhatsApp Business Messaging Policy. Businesses are required to obtain opt-in permission before messaging people on WhatsApp.
What qualifies as valid opt-in
Customers may be contacted on WhatsApp only if both of the following are true:
- The customer has provided their mobile phone number
- The business has received explicit opt-in permission confirming that the customer wants to receive messages or calls from that specific business
The permission needs to be valid and compliant with local laws.
Requirements for collecting opt-in
When collecting opt-in permission, businesses must ensure that:
- It is clear that the customer is opting in to receive communications
- The business name is clearly stated so the customer knows who they are opting in to hear from
- The opt-in method complies with all applicable local laws and regulations
Businesses are responsible for maintaining records of opt-in and ensuring continued compliance with Meta’s WhatsApp Business Messaging Policy. For additional info, please see Meta's help documentation.
Types of WhatsApp messages and consent
WhatsApp classifies its messages into 4 categories.
Type of message | Available in Klaviyo? | Requires explicit consent? |
|---|---|---|
Marketing (also called “promotional” in Klaviyo) | Yes | Yes |
Utility (called “transactional” in Klaviyo) | Yes | Yes |
Support | Yes | No separate marketing opt-in is needed to reply to a customer’s message within the 24-hour customer service window. |
Authentication | No | N/A |
In most cases, you need explicit consent to send a WhatsApp message, meaning that someone must directly tell you that they want to receive certain messages from your brand.
Best practices when collecting WhatsApp consent
A few practices are to:
- Never assume that you have someone’s consent already.
- Providing a phone number alone is not consent. An SMS subscription in Klaviyo does not automatically subscribe someone to WhatsApp; collect and record permission that covers the WhatsApp messages you plan to send.
- Include clear disclosure language wherever you collect consent for WhatsApp.
- This includes on forms, your website, emails, etc.
- Verify the phone number before sending (i.e., use double opt-in to confirm the number is real and belongs to the person who signed up).
WhatsApp double opt-in requires a paid SMS plan or manual billing.
Do I need to use disclosure language when collecting consent for WhatsApp?
Include disclosure language that clearly names your business and explains what people are signing up for.
Generally, disclosure language is a best practice when collecting any type of consent. It tells potential subscribers what they’ll be signing up for, so there’s no confusion or false expectations. You must also provide any notices required by applicable law.
Ways to collect WhatsApp consent
There are several ways you can grow your WhatsApp subscriber list:
- Klaviyo form
- Keyword
- Klaviyo API
- WhatsApp subscribe link or QR code
Build a sign-up form
By creating a sign-up form, you can ask anyone on your website to consent to WhatsApp.
Set up WhatsApp in Klaviyo before collecting consent. To add WhatsApp to an existing form, open the form and choose one of the options below:
- Navigate to Website > Sign-up forms.
- Find the form you want to update.
- Click the 3 vertical dots on the right-hand side.
- Select Edit from the dropdown.

Option 1: Add a new step
- Click Step (the plus icon).
- Choose Mobile opt-in, then click Next.
- Choose WhatsApp, then click Next.
- Pick the list you want to add subscribers to, then click Add step.
- To also collect consent for text messages, click the phone number block, open the Channel dropdown, and select WhatsApp and text message.
- In the phone number block’s Consent dropdown, select how you want to collect consent:
- Single step - Promotional only collects marketing consent.
- Single step - Transactional only collects transactional consent.
- Single step - Transactional & promotional collects transactional consent and adds a checkbox for marketing consent.
- Multi step - Transactional & promotional collects transactional consent first, then asks for marketing consent on a separate step.
Profiles who consent only to transactional messages are not added to the selected list.
Option 2: Add a new block (Phone number block)
- Select Add block.
- Drag in a Phone number block.
- Select the phone number block. Under Channel, choose WhatsApp, or WhatsApp and text message to collect consent for both channels.
- Under Consent, choose one of the consent options described above.
- Select the form’s submit button. Set Action to Submit form and choose the destination under List to Submit.
Option 3: Add a new block (Button block – tap-to-text form)
Using a Button block instead of a phone number block makes subscribing as easy as possible. With a single click, subscribers are taken directly into WhatsApp with a pre-filled opt-in message. They must send the message to opt in. If your keyword uses double opt-in, they must also complete the confirmation message.
Before using this option, connect a WhatsApp sending number and create a WhatsApp subscribe keyword in Settings > WhatsApp > Keyword responses.
- Select Add block.
- Drag in a Button block.
- Set Action to Subscribe via WhatsApp.
- Under WhatsApp settings, choose a WhatsApp keyword and review the Message subscribers will send. The message can contain up to 160 characters and cannot include emojis.
- Under Sending number, choose the connected WhatsApp number that should receive the opt-in message.
Review the form’s disclosure language and resolve any form alerts. Select Publish or schedule, choose Publish now, then click Publish now to make your changes live.
Use a keyword
You can add keywords to make it easier for people to opt in. For example, post a WhatsApp subscribe keyword along with your WhatsApp number so people can send it to sign up for your WhatsApp marketing messages. If the keyword uses double opt-in, they must complete the confirmation before they are subscribed.
You can also include a subscribe keyword in the prefilled message for a WhatsApp subscribe link. When someone opens the link and sends the message, they follow that keyword’s opt-in process.
You can create or edit your keywords in Settings > WhatsApp > Keyword responses.
Collect via API
You can use the Bulk Subscribe Profiles API to record WhatsApp marketing or transactional consent. Set up WhatsApp in Klaviyo first, and provide phone numbers in international E.164 format, including the + and country code. Include only the message types the person agreed to receive.
The examples below import consent you collected previously. Replace the sample phone number and consented_at timestamps with the subscriber’s information and the actual dates they gave consent. With historical_import set to true, the request imports existing consent without double opt-in confirmation. For new sign-ups, omit historical_import and consented_at so the normal opt-in process applies.
"whatsapp": {
"marketing": {
"consent": "SUBSCRIBED",
"consented_at": "2025-01-01T00:00:00+00:00"
},
"transactional": {
"consent": "SUBSCRIBED",
"consented_at": "2025-01-01T00:00:00+00:00"
}
}- Full curl request example
curl --request POST --url 'https://a.klaviyo.com/api/profile-subscription-bulk-create-jobs' \
--header 'Authorization: Klaviyo-API-Key <private-key>' \
--header 'accept: application/vnd.api+json' \
--header 'content-type: application/vnd.api+json' \
--header 'revision: 2024-10-15' \
--data '{
"data": {
"type": "profile-subscription-bulk-create-job",
"attributes": {
"profiles": {
"data": [
{
"type": "profile",
"attributes": {
"phone_number": "+18573905002",
"subscriptions": {
"whatsapp": {
"marketing": {
"consent": "SUBSCRIBED",
"consented_at":
"2025-01-01T00:00:00+00:00"
},
"transactional": {
"consent": "SUBSCRIBED",
"consented_at":
"2025-01-01T00:00:00+00:00"
}
}
}
}
}
]
},
"historical_import": true
}
}
}'Learn more about how to collect channel consent via API.
Create a WhatsApp subscribe link or QR code
You can create a WhatsApp subscribe link or QR code directly in Klaviyo. You can add this link in an email, use the link as a button in a form, or print the QR code on business cards.
Before creating a link, connect a WhatsApp sending number and create a live subscribe keyword linked to a list in Settings > WhatsApp > Keyword responses.
- Go to Settings > WhatsApp > Subscribe links and click Create link.
- Enter a Link name, select a Subscribe keyword, and choose your WhatsApp number.
- Review Message that opens in WhatsApp. Keep your selected subscribe keyword in the message.
- Click Save.
- Click Copy link or Download QR, then click Done.
People must send the prefilled message to opt in; opening the link or scanning the QR code alone does not subscribe them. If the keyword uses double opt-in, they must also complete the confirmation.
If you create a link or QR code in your WhatsApp Business account, include a WhatsApp subscribe keyword in its prefilled message so people can opt in when they send it.
