## Why use this integration?
WhatsApp is a great additional channel through which you can communicate with your customers and reach them on their mobile devices.
With its 1.5 billion users worldwide and high engagement rates, WhatsApp provides a significant opportunity for businesses to reach customers. Bloomreach’s WhatsApp integration enables sending and receiving messages at scale using the WhatsApp Business API. **Since H2 2021, WhatsApp allows both transactional and non-transactional marketing messages. **
You can engage your customers through WhatsApp using personalized and automated messaging. This integration allows the sending of Templated as well as Free Text Messages.
**For conversations initiated by you** can send a paid template message using our WhatsApp Template Message scenario action. This requires the message template text to be pre-approved by WhatsApp provider and customer giving consent.
**For customer-initiated conversations** you can reply to the customer for free (no fee) within a 24 hours window since their message was received. You can use our WhatsApp Text or Media Message scenario action for this type of message. The content of the message can be fully custom and does not have to be pre-approved.
WhatsApp availability in BETA
This feature is currently available in the **BETA version,** but we are working on its improvement.
Advantage
The customer replies are free of charge, so you are more likely to get their response than with an SMS.
WhatsApp messages are sent using **scenarios**. Messages, as any other channel, can be personalized and connected to a workflow or a customer journey.
The WhatsApp messages are sent via our provider **Sinch **. The integration allows for two-way WhatsApp messages.
## Use-case Examples
**Combine WhatsApp with other channels** - WhatsApp is effective, but you first need to collect phone numbers, consent, and let your customers know about the possibility of communicating using WhatsApp. All this is possible using other built-in Bloomreach Engagement channels like email, website overlays, text messaging, or in-app messaging.
Product Back-in-stock Reminders - inform customers when a product is back in stock or send an alert when the price of a product drops.
**Convert Abandoned Carts** - send cart abandonment messages with product images and a link to the cart. Combine with Predictions to target audiences with high purchase probability.
**Relevant Offers And Product Launches** - add images and rich media to create buzz around a product launch or seasonal promotion. Identify your best customers using our granular segmentation and send them exciting offers on mobile before announcing them via email to everyone else.
**Product recommendations** - recommend products to your customer they might be interested in based on their activities, such as headphones for a newly purchased cell phone.
**Track Delivery Updates** - keep your customers informed about their orders throughout the delivery process.
**Top-up and Plan Renewal Reminders (Telco)** - proactively reach out to customers for top-ups before minutes run out or send reminders to renew a plan before it expires.
**Price Alerts On Flights (Travel)** - send price drop alerts on flights that a customer is tracking instantly on their phone.
**Related Product/Service Upsell (Travel)** - once a trip is booked, send upsell offers like car rental or hotels.
## How to send a message
WhatsApp messages are sent via our provider Sinch using webhooks templates. There is a template for sending:
WhatsApp Consent
WhatsApp Template Message
WhatsApp Text or Media Message
_Each of these is described below in more detail_
The setup of WhatsApp integration via Sinch needs to be requested from your CSM/CS team, who will provide you with all the required details.
## Customer profile requirements:
Phone numbers must be in one of the two standard international MSISDN formats with the leading "+" sign, e.g., +44123456789, or without, e.g., 44123456789.
In case you use a different number format (e.g., with leading zeros 00), you will need to modify the webhook templates to change the format using Jinja.
If you want WhatsApp 2-Way Messaging, customers need to have a phone number as an additional Soft ID. The ID must be in one of the two standard international MSISDN formats with the leading "+" sign, e.g., +44123456789, or without, e.g., 44123456789.
## Using webhook templates
To set up the webhooks, you first need to obtain your Sinch credentials, target API (EU or US), and account name from your CSM.
## 1. Set up an authentication integration
Navigate to _Data & Assets -> Integrations_ and add new ‘HTTP Authentication Schemas’ integration. Change the name to, e.g., WhatsApp Sinch Authentication and:
Fill in the endpoint (exact endpoint should be provided based on Sinch integration), e.g., <https://us1.whatsapp.api.sinch.com>
Select the ‘Custom headers’ option
Set a header with the Key field to ‘Authorization’ and the Value to ‘Bearer \<your_api_token>’
Save

When using the WhatsApp webhook templates, select this integration under `Settings
` > `Authentication
` for every WhatsApp template used.

The endpoint and bearer token will be provided by your CSM.
## 2. Set up the webhooks
Navigate to Scenarios, select the ‘Other’ option under Actions and choose one of the WhatsApp templates.

## WhatsApp Consent
To be able to send the templates to your customers, you first need to upload consents for those numbers to WhatsApp. It's not sufficient to hold the consent just in the Engagement. To do that, use the WhatsApp Consent template. You need to set up the Authentification integration as instructed above and fill in the parameters:
Account Name (provided by CSM)
Optin/Optout - select whether it's an opt-in or opt-out.

The customer phone attribute will be used as the phone number for the consent.
**Obtaining consents**
WhatsApp consents (WhatsApp Business opt-in) need to be assigned to each customer that opted-in for WhatsApp messages before you can send template messages. Keeping the consent only in the Engagement platform is not sufficient, you must explicitly send a consent request per each customer to WhatsApp.
Make sure your use of the WhatsApp Business Products complies with their [business policies](🔗).
You may only contact people on WhatsApp if:
(a) they have given you their mobile phone number
(b) they have agreed to be contacted by you over WhatsApp
Do not confuse, deceive, defraud, mislead, spam, or surprise people with your communications.
In order to initiate a WhatsApp message to a person, you must first receive opt-in permission confirming that they wish to receive future messages from you on WhatsApp. The opt-in must clearly state that the person is opting in to receive messages from you over WhatsApp and clearly state your business’ name.
You are solely responsible for determining the method of opt-in, that you have obtained opt-in in a manner that complies with laws applicable to your communications, and that you have otherwise provided notices and obtained permissions that are required under applicable law.
To help ensure a strong user experience, review the [Ads Best Practices Guide](🔗) ](<https://www.whatsapp.com/legal/business-policy#opt-in-best-practices>)from WhatsApp.
## WhatsApp Template messages
This template can be used to send business-initiated messages to your customers. This type of message is paid and must use pre-approved message templates. The messages can be personalized but can't be fully custom; users must select one of the WhatsApp-defined message categories and follow their template guidelines. Template messages can now be used for both transactional and non-transactional marketing messages, such as an abandoned cart or relevant offers and product launches. Template messages can be sent any time but require explicit consent from the customer.
To create and approve your template messages contact your CSM.
To send a template message, select the WhatsApp Template Message webhook. You need to set up the Authentification integration as instructed above and fill in the parameters:
Account Name (provided by CSM).
Template Name - the name of the predefined template.
Template Language - language to send the template in. Language must match one of the defined language versions of the template.
Template Parameters - parameters to inject into the body of the predefined template in the format of comma-separated values
Media Type - specify the media type to be included with the message (image or video). Use text if no media should be included.
Media URL - public URL of the media file. Accepted formats for images are JPEG and PNG with a maximum size of 5MB. Accepted video formats are MP4 and 3GPP, with a maximum size of 16MB.
The customer phone attribute will be used as the phone number to send the message to.

To create a new template, get in touch with the CSM, as it is not currently done in the Bloomreach Engagement app.
The template has to be from one of the following categories:
**Transactional messages**: Personal Finance update, Account update, Alert update, Appointment Update, Issue Resolution, Payment Update, Reservation Update, Shipping Update, Ticket Update, Transportation Update.
**Non-transactional messages** (no predefined categories)
Examples:
"Dear {{1}}, You have items in your shopping cart and have not finished your purchase. If you want us to take you to your shopping cart, type CART in response to this message." "We’re down to the last three pieces of an item you have saved in your favorites! Get in there before it’s gone. Check it out at bloomreach.com/favorites".
## WhatsApp Text or Media Messages
This template can be used to send replies after a customer-initiated conversation and is free of charge. They can contain text as well as other types of media (image, video, buttons, etc.). Session Messaging is possible when the customer replies to your message (within 24 hours after the message was received) or initiates the conversation. No explicit consent is needed for this type of message as they are customer-initiated.
To send such a message, select the WhatsApp Text or Media Message. You need to set up the Authentification integration as instructed above and fill in the parameters:
Account Name (provided by CSM).
Message Type - specify the message type: text, image, or video message.
Message text or caption - based on the message type, fill in the text message content with up to 4096 characters required for the text message or the optional media caption that will be displayed underneath the image/video.
Media URL - public URL of the media file. Accepted formats for images are JPEG and PNG with a maximum size of 5MB. Accepted video formats are MP4 and 3GPP, with a maximum size of 16MB.
The customer _phone_ attribute will be used as the phone number to send the message to.

## 2-way messaging
To receive the messages from your customers, an integration for receiving messages (WhatsApp 2-Way Messaging) must be set up. WhatsApp will forward customer replies to Engagement, where they will be processed as campaign events **in real-time**. For this to work, the callback URL needs to be configured with the provider (Sinch) to receive replies.
To track the messages that your customers send to you, you need to set up the WhatsApp integration. Navigate to `Data & Assets
` -> `Integrations
` and add new WhatsApp integration.

If you want WhatsApp 2-Way Messaging, customers need to have a phone number as an additional ID. The ID must be in one of the two standard international MSISDN formats with the leading "+" sign, e.g. +44123456789, or without, e.g., 44123456789
Configure the customer ID that holds the customer phone number and select the format in which the numbers are saved so Bloomreach Engagement is able to match the incoming message to a profile.

After you save the integration, a callback URL will be generated. The URL needs to be set up in your Sinch account to receive the incoming messages; your CSM will help set this up on the Sinch side.

Once you have the integration set up, you will start receiving messages from your customers in the form of a campaign event with the following properties:
Attribute | Value | Example |
status | inbound | N/A |
action_type | N/A | |
message_id | Generated message id for the inbound message | 123456 |
message | Content of the message body | "SUBSCRIBE" |
type | text | N/A |
## Limitations
Currently, there are these limitations present in our solution:
We do not track the delivery report status of the message (delivered, opened, etc.).
The throughput is limited to 20 messages per second.
There can be a maximum of 300 template messages per client.