[Beta] Launch a proactive messaging project with WhatsApp

You want to proactively send messages to your audience using WhatsApp. This article details how to deploy this feature.

1. Prerequisites

In order to run a proactive messaging project on WhatsApp, your brand must have:

  • a WhatsApp Business live account,
  • WhatsApp verified message template(s),
  • an opt-in collection strategy,
  • an identification token,
  • an opt-in and opt-out management system in its customer journey (iAdvize only intervenes to
  • redirect the visitor to the place where he can unsubscribe),
  • a specific distribution strategy for proactive messages

2. Create a WhatsApp account in iAdvize

This step takes place on the iAdvize platform (Engagement > Settings > Whatsapp)
There is an article in the knowledge base that tells you how to activate the channel.


3. Customize your message templates

This step takes place in WhatsApp Manager.

Note: The brand's Whatsapp Manager is shared between the brand and iAdvize if (and only if) the brand has created/associated its WhatsApp account using the iAdvize platform funnel.


4. Gather consent from your visitors

Your visitors must actively give consent to receive a message on WhatsApp from your brand.
iAdvize does not record in its system either the opt-in or the opt-out of a visitor.
On the other hand, iAdvize helps you collect this information by directing your visitors to the right place to leave their opt-in or unsubscribe.


⚠ contrary to what the documentation WhatsApp specifies, iAdvize does not collect consent in the Whatsapp conversation.


The information you collect as a brand must feed your customer databases, in order to keep track of visitors' choices. iAdvize intervenes before the consent and therefore will not verify that a visitor has actively given consent, or actively withdrawn consent.


4.1. Collect the opt-in

You have the option of including the opt-in collection:

  • in the purchase funnel,
  • in the customer area of the site
  • via a dedicated landing page.

You must warn your visitors that they will receive messages. To do this:

  • group the different categories of messages sent in your consent request (e.g., order updates, relevant offers, product recommendations, etc.) ;
  • nevertheless make a distinct request for each specific category of message. This way they limit the risk of being blocked by users for receiving unsolicited messages.
  • give clear instructions on:
    • how your visitors can opt-out of receiving specific categories of messages
    • the processes in place to give or withdraw consent
    • the interest of receiving this information in WhatsApp.

4.2. Collect the unsubscribe request

When a visitor asks to unsubscribe from proactive communications, the respondent (advisor or bot) must share an unsubscribe link with them. Some iAdvize features help your respondents in this process

  • If the responder is a bot: provide an intent that detects the visitor's willingness to unsubscribe and the appropriate bot response (which includes, for example, the unsubscribe landing page url). To do this, go to the Automation section of the iadvize platform.
  • If the respondent is an agent: write canned answers to send to the visitor to unsubscribe.

5. Set up the campaign in iAdvize

You have to create a Third Party Channel targeting campaign in iAdvize in 2 cases:

  • If, in your reporting, you want to be able to link conversations from an outbound message to other conversations
  • and/or if you want the conversations from an outbound campaign to be routed in a different way from the conversations initiated by the visitor.

Step 1 create the campaign in "Engagement" > "Campaigns" > "Create Campaign."

Step 2 customize the campaign by giving it a name and select the "Third Party Channels" channel. In the drop down menu choose "Whatsapp". Save.


Step 3 choose a goal for the campaign. Save.


Step 4 in the targeting rule section, create a rule and name it



Step 5 Select "Outbound Campaign"



Step 6 Fill in all or part of the name of the outbound campaign in the "value" field. It is important that the value filled in here is related to the value that will be sent in the API call with each outbound message. Add.



Step 7 Choose the "Account" criterion and select the WhatsApp account from which the messages will come.



If necessary, it is possible to add criteria of time and date of the messages in order to have a differentiated routing behavior between days of the week and hours of the day.

Save the rule and the campaign.

6. Set up the routing of outbound conversations

Go to Engagement > Routing
Create a new routing rule using the previously created targeting rule. Fill in all the fields.



Once all the rules have been routed, the campaign is ready.

Note: Make sure you have respondents in your routing groups


7. What is expected in the API call?

In order for iAdvize to send a proactive message to a visitor, your brand must send us specific data via an API call to iAdvize. You need to know the expected data in order to prepare the call in your IS (and to perform tests).

iAdvize expects the following data:

  • the authentication token of the user on the project;
  • Campaign - Name: Unique identifier of the campaign that allows conversations to be linked to the campaign;
  • [template_name] : identifier of the template message, available in Whatsapp Manager;
  • [senderId] Sender identifier (WA phone number of the brand)
  • [templateId] Identifier of the template message
  • [bodyVariables (Key: "{{1}}", value: "john"), headerVariables(Key: "{{1}}", value: "john")] The values to take to fill the header and body variables
  • [language] the language in which the message should be sent
  • [recepientId] the phone number of the visitor to contact
  • [conversionDelay] the delay in minutes during which a visitor's message is considered a response to the outbound message

In our example, we want this message:


We will use the message template "rdv_magasin_2022" below:


This message must be sent :

  • to 33602020202 (visitor's number);
  • from 33601010101 (trademark number);
  • in French;
  • within the "Whatsapp RDV Store" campaign, whose attachment time is 1440 min (24h);
  • to Camille about the Nantes Atlantis store by filling in the appropriate variables.

Complete example of a request to send a message:

<curl --request POST \
--url 'http://api.iadvize.com/graphql'
--header 'Content-Type: application/json'
--header 'accept: application/vnd.iadvize.engagement-outbound-message-preview+json'
--header 'authorization: Bearer XXXXXXXX'
--data '{"query":"mutation {sendWhatsAppOutboundMessage(sendWhatsAppOutboundMessageInput: {templateName: \"rdv_magasin_2022\" language: \"fr\" senderId: \"33601010101\" recipientId: \"33602020202\" headerVariables: [{ key: \"1\", value: \"Camille\" }] bodyVariables: [ { key: \"1\", value: \"Camille\" } { key: \"2\", value: \"15\" } { key: \"3\", value: \"Lenox Square\" } ] campaign: { name: \"Whatsapp RDV Magasin\", conversionDelay: 1440 }}) {messageText} }"}'>


Create your access token by following this dedicated documentation.
You will need to authenticate with an account with administrator rights on iAdvize on the project (sid) that carries the Whatsapp account.


          "data": {
                    "sendWhatsAppOutboundMessage": {
                                  "messageText": "Camille book a meeting ! Hi Camille, You still have 15 days to book an appointment in the Lenox Square store for your free bike check up. Do not miss this opportunity! Would you like to book it right away ?"


It is necessary to send the conversionDelay in minutes with each message, along with the campaign name. After this delay, any visitor response to the first brand message will not be attached to the outbound campaign.
It is important that the campaign name entered in each message of the same campaign is strictly identical. Similarly, in order to link the responses of visitors in iAdvize to the same campaign, it is important to choose a campaign-name directly related to the filter created in the "Prepare the campaign in iAdvize" section.


8. Activate the feature

When you're ready to start production conversations, it's important to add your brand sid behind the "feature flag" that allows agents and administrators to see the brand's first message in the conversation history.

Send your request to your usual iAdvize contact.


9. Launch the project

Follow the steps below to start your project:

  • Make sure the campaign is active.
  • Make sure all rules are routed
  • Make sure that the API calls use the right templateId and the right campaign-names
  • Make sure that the messages reach the visitor (do a test)
  • Ensure that visitor responses reach the operators
  • Make sure conversations are attached to the right campaign
  • Launch the opt-in collection campaign
  • Launch API calls in production
  • Follow the statistics


Good to know: WhatsApp message volume limit

Reference documentation from Meta for Developers

"Messaging limits determine the maximum number of company-initiated conversations each phone number can initiate in a 24-hour period. These limits do not apply to visitor-initiated conversations. A company-initiated conversation begins when the first message is delivered to the visitor and ends 24 hours later."
If your company has completed business verification and you are using a phone number with an approved display name, you can initiate conversations with the following number of unique visitors over a continuous 24-hour period:
- 1K unique visitors
- 10,000 unique visitors
- 100,000 unique visitors
- Unlimited number of unique visitors
These amounts automatically increase based on the status of your phone number, the quality of your phone number, and how often you engage in conversations with unique customers."