Tap into the world's most popular messaging channel
Why use this integration?
WhatsApp integration allows you to build, test, and track WhatsApp messages at scale and reach customers on their mobile devices. WhatsApp messages are created via the Campaigns > Scenarios > WhatsApp node. As with any other channel, messages can be personalized and connected to a workflow or a customer journey.
WhatsApp is a leading mobile messaging platform used worldwide that allows conversation-based messaging for businesses. WhatsApp provides a significant opportunity for businesses to reach customers directly, allowing both transactional and non-transactional marketing messages.
WhatsApp integration access is only available in select Engagement packages. Contact your CSM or CS team to start using WhatsApp.
How the integration works
WhatsApp messages are sent via our Sinch WhatsApp and Infobip WhatsApp providers. These integrations also allow for Two-Way Messaging.
When using WhatsApp for business communications, the type of message you can send depends on who initiates the chat and the time frame of the conversation:
-
For conversations you initiate: Businesses can only send a paid Template message when initiate a conversation. WhatsApp requires Templates be pre-approved in advance and that customers have given consent.
-
For customer-initiated conversations: Customers can initiate a conversation at any point. Reply to the customer for free (no fee) within a 24-hour messaging window since their last message. You can send free-form messages (any non-template message) like Text message or Media message for these conversations. Free-form messages can be fully customized and do not require pre-approval.
Advantage
Customers' replies within WhatsApp are free of charge, so you are more likely to garner their response as compared to SMS.
Use cases
- Combine WhatsApp with other channels: WhatsApp is effective, but you first need to collect phone numbers, consent, and inform customers about the possibility of communicating using WhatsApp. All this is possible using other built-in Bloomreach Engagement channels like Email, website overlays, SMS, or in-app messaging.
- Product back-in-stock reminders: Inform customers when a product is back in stock or send a triggered 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 or other channels 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 order statuses throughout the fulfillment process.
- Top-up and plan renewal reminders (Telco): Contact 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 or service upsell (Travel): Once a trip is booked, send upsell offers like car rental or hotels.
WhatsApp onboarding
See the below timeline to understand our WhatsApp onboarding process.
WhatsApp setup
Prerequisites
Make sure you meet these prerequisites:
- Engagement project access: You have a Bloomreach Engagement project with role access to Scenarios and Integrations.
- WhatsApp Business account (WABA): You have a WABA. If you already have a Meta Business Portfolio (formerly Meta Business Manager account), we recommend nesting your WABA within your primary Meta Business Portfolio.
- Provider account: You have a Sinch or Infobip account. Contact your CSM to help create your account.
- WhatsApp phone number: Your WABA has a valid, dedicated phone number that meets WhatsApp's requirements. This number must not be connected to any other WhatsApp account. If you need a phone number, contact your CSM to get a phone number registered.
- Customer profile requirements: Ensure your customers' phone numbers meet these requirements:
- Phone numbers must be in one of the 2 standard MSISDN formats, including the
+
and country code. For example,+441234556789
or44123456789
. - If using a different phone number format (for example, with leading zeros 00), modify the format using Jinja. To use Two-Way Messaging, you must have
phone
as a customer attribute. - It is a best practice to track
phone
as a Soft ID.
- Phone numbers must be in one of the 2 standard MSISDN formats, including the
Setting up the phone
attribute as a soft_id
phone
attribute as a soft_id
Transforming your phone
attribute as a phone soft_id
is highly recommended. This will ensure that there is no duplicate profile creation for the same customer.
To set up the “phone” attribute as a soft_id
follow either of the below methods:
- Through an import: first, export your current phone numbers. Once done, clean all invalid phone numbers (for example, numbers containing special characters, text, “0000”). Ensure that you are following the “+44” or “0044”. formatting. You can then re-import the data with
phone_id
being asoft_id
. - Through a scenario: you can create a scenario which turns all historical phone customer attributes into a phone
soft_id
. If you need support, please reach out to a technical consultant. - Set the
soft_id
in addition to the the phone attribute whenever a phone number is collected
Add a provider integration
To use WhatsApp native integration, you must have either the Infobip WhatsApp or Sinch WhatsApp provider integration set up on the Engagement Project level.
Follow these steps to configure one of these two provider integrations:
The setup of a WhatsApp provider integration—either Infobip WhatApp or Sinch WhatsApp—needs to be requested from your CSM or CS team, who will provide you with all the required details.
Infobip integration setup
Follow these steps to set up your Infobip WhatsApp provider integration:
-
Open your Bloomreach Engagement project and go to Data & Assets > Integrations > + Add new integration and search for "Infobip WhatsApp". Next, click + Add integration.
-
On the next screen, you will need to populate the fields shown using the account details provided by your CSM or CS team. This will integrate your WhatsApp account with your Infobip account.
Brief explanation of these fields:
- API Key: Your authentication key, provided for each service plan. Found in the Infobip console.
- Entity ID (Optional): Used as your unique identifier for each service plan, and used to validate API call requests.
- Endpoint region: Choose your region based on your domain location and data protection requirements. Options are EU and US.
- Sender: Sender ID or name used for sending messages. You must use one of your predefined senders in the Infobip portal.
.
-
Click Save integration to complete your registration.
-
You can begin using WhatsApp native integration and configure any project-level settings.
Sinch integration setup
Follow these steps to set up your Sinch WhatsApp provider integration:
-
Open your Bloomreach Engagement project and go to Data & Assets > Integrations > + Add new integration and search for "Sinch WhatsApp". Next, click + Add integration.
-
On the next screen, you will need to populate the fields shown using the account details provided by our WhatsApp specialist. This will integrate your WhatsApp account with your Sinch account.
Brief explanation of these fields:
- Project ID: The unique ID associated with your Sinch project
- App ID: Represents the ID of the application that initiates the message
- Access key: Your unique Sinch Access Key ID, found in the Sinch Access Keys page
- Access secret: Your unique Sinch Access Key Secret, only displayed once when you create a key
- Endpoint region: Choose your region based on your domain location and data protection requirements. Options are EU and US.
-
Click the Save integration button to complete your integration.
-
You can begin using WhatsApp native integration and configure any project-level settings.
(Optional) Set default WhatsApp provider
If your project has multiple WhatsApp provider integrations configured, you can optionally set a default provider. Once set, your default provider will be preselected by default within new WhatsApp nodes you create.
If you would like to set your default WhatsApp provider, go to Project settings > Channels > Mobile messaging and select your integration of choice from the Default Mobile messaging integration drop-down field. Your user role must have admin rights to do so.
Send WhatsApp messages
WhatsApp native integration enables you to quickly create and send a variety of WhatsApp message types that allow for one-to-one communication with customers. These steps will walk you through how to create and send these types of WhatsApp messages.
To access WhatsApp messages using Scenarios:
- Go to Campaigns > Scenarios
- Create a new Scenario
- Under the Design tab, select the WhatsApp node.
The customer's phone attribute will be used as the phone number to send the message to.
WhatsApp message types
Supported WhatsApp message types include:
- Text message: Text-based message for clear, universal communication (up to 4,096 characters).
- Media message: Includes media types such as images, video, audio, and documents
- Choice message: Includes up to 3 clickable choice buttons
- List message: Includes an interactive list of up to 10 selectable options
- Template message: Template-based messages, which can be used to initiate marketing conversations outside of the 24-hour customer care window
Note
When sending a test WhatsApp message to a phone number, you can only test the Template message type. You cannot test the template itself or any other message types.
You can include Jinja personalization and emojis in your messages. The editor also displays a dynamic character counter.
24-hour window
You can only send a non-template message (for example, text or media) within a 24-hour window after a customer initiates a conversation with your business. If a customer has not yet initiated a conversation or their last 24-hour customer care window has expired, you can send the customer a Template message.
Text message
When the customer replies to a message or initiates the conversation themselves, you can send a free-form message in the form of text.
The character limit is 4,096 per message.
To create a WhatsApp Text message:
-
Add a new WhatsApp node to your Scenario.
-
Double-click the WhatsApp node you added and select Text message as your WhatsApp message type from the prompt.
-
In the visual editor, choose your WhatsApp provider integration under Sender.
-
Customize your message content using the Message field. You may include Jinja personalization. The editor also displays a dynamic character counter.
Media message
When the customer replies to a message or initiates the conversation themselves, you can send a free-form message in the form of Media messages.
To create a WhatsApp Media message:
-
Add a new WhatsApp node to your Scenario.
-
Double-click the WhatsAppnode you added and select Media message as your WhatsApp message type from the prompt.
-
In the visual editor, choose your WhatsApp provider integration under Sender.
-
Customize your message content using the Message field. You may include Jinja personalization. The editor also displays a dynamic character counter.
- Your media: Public URL of your media file. Supported media include images, videos, audio, and documents:
- Accepted formats for images are JPEG and PNG with a maximum size of 5MB.
- Accepted formats for videos are MP4 and 3GPP with a maximum size of 16MB.
- Accepted formats for documents are any valid document MIME type with a maximum size of 100MB.
Choice message
To create a WhatsApp Choice message:
-
Add a new WhatsApp node to your Scenario.
-
Double-click the WhatsApp node you added and select Choice message as your WhatsApp message type from the prompt.
-
In the visual editor, choose your WhatsApp provider integration under Sender.
-
Customize your message content using the Message field. You may include Jinja personalization. The editor also displays a dynamic character counter.
List message
To create a WhatsApp List message:
-
Add a new WhatsApp node to your Scenario.
-
Double-click the WhatsApp node you added and select List message as your WhatsApp message type from the prompt.
-
In the visual editor, choose your WhatsApp provider integration under Sender.
-
Customize your message content using the Title and Description fields. Customize your list contents using the List items fields.
Template message
Template messages ensure that conversations you (the business) initiate with customers follows WhatsApp guidelines. Message templates contain predefined text and are pre-formatted. Templates can be reused when there is a need to send the same message multiple times.
To create a WhatsApp Template message:
-
Add a new WhatsApp node to your Scenario.
-
Double-click the WhatsApp node you added and select Template message as your WhatsApp message type from the prompt.
-
In the visual editor, choose your WhatsApp provider integration under Sender.
-
Choose your desired template using the Selected template field, which lists all the predefined, pre-approved templates associated with your provider account (Infobip or Sinch).
-
Customize your message content. You may include Jinja personalization. The editor also displays a dynamic character counter.
Creating templates
To create a new WhatsApp template, contact your CSM, as it is not done in the Bloomreach Engagement app.
The template must 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 as a response to this message."
"We’re down to the last 3 pieces of an item you have saved in your favorites! Get in there before it’s gone. Check it out at bloomreach.com/favorites"
Text formatting
WhatsApp allows you to format text inside your messages. Use the symbols below to format your text.
Note that Bloomreach Engagement does not preview the formatting of the text. You can see the formatting on the text inside your message only after you sent the campaign.
Message Formatting | Example |
---|---|
• Bulleted list | - Text |
1. Numbered list | 1. Text |
| Block quote | > Text |
Inline code | ` symbol at the start and end of the text |
Bold | - or ** asterisk(s) on both sides of the text |
Italic | _ on both sides of the text |
~ or ~~ on both sides of the text | |
Monospace | Three backticks (`) on both sides of the text |
Consent management
Your use of the WhatsApp communication channel must comply with all applicable WhatsApp policies.
You can define consent categories for your WhatsApp communications, from which customers can unsubscribe separately, by using our Consent Management.
To add a WhatsApp consent category, go to Settings > Project settings > Campaigns > Privacy management > Consents. Add a new consent category by clicking the + Add consent button.
Once your WhatsApp consent categories are created, you can select the desired consent category for each WhatsApp campaign under the Settings tab in the visual editor.
Obtaining consents
Contacting customers on WhatsApp is permissible under the following conditions:
- Permission granted: You can only reach out to individuals on WhatsApp if they have shared their mobile phone numbers with you and have explicitly provided consent to be contacted via the platform.
- Honest communication: Your communications should steer clear of: confusion, deception, fraud, misleading content, spam, or unexpected messages. Transparency is key!
Before sending a WhatsApp message to anyone, it's crucial to obtain opt-in permission. This confirmation should include:
- Clear opt-in statement: The opt-in communication should unmistakably convey that the person is opting in to receive messages from your business through WhatsApp.
- Business identification: Your business name must be clearly stated in the opt-in message, establishing your identity.
Your team is solely responsible for determining your method(s) of opt-in, that you have obtained opt-ins 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.
Opt-in best practices
For additional guidance on obtaining opt-in permissions, we recommend reviewing WhatsApp's Best Practices for Opt-in resources.
Two-Way Messaging
To receive inbound WhatsApp messages from your customers, you need to configure the Two-Way Messaging setting for the channel. This allows customer replies to be forwarded to Engagement, where they will be processed and tracked as campaign events in real-time. To enable this, the callback URL must be configured with the provider (Infobip or Sinch) to receive replies.
Navigate to Data & Assets > Integrations and add new WhatsApp integration.
To use Two-Way Messaging , you must have phone
as a customer attribute. It is considered a best practice to track phone
as a Soft ID, but it is not required. Phone numbers must be in one of the two standard international MSISDN formats, including the "+" and country code (for example, +441234556789
or 44123456789
).
After you save the integration, a callback URL will be generated. The URL needs to be set up in your provider account (Infobip or Sinch) to receive the incoming messages. Your CSM will help set this up on the provider side.
Once you have the integration set up, you will start receiving incoming messages from your customers in the form of a campaign
event with the following properties:
Event property | Value | Example |
---|---|---|
message_type | "campaign" | n/a |
action_type | "whatsapp" | n/a |
status | "incoming_message" | n/a |
campaign_id | Generated campaign_id for the inbound message | 123456 |
message | Content of the message body | "SUBSCRIBE" |
These properties allow you to track and process customer replies in real-time, enabling more interactive and responsive communication within your campaigns.
Event tracking
By default, event tracking for WhatsApp is mapped to the campaign
event with action_type
=whatsapp
.
You can optionally map events to a different event name in Project settings > Campaigns > Mapping > Campaign events.
WhatsApp event properties are as follows:
Event property | Value | Description |
---|---|---|
message_type | "campaign" | n/a |
action_type | "whatsapp" | n/a |
campaign_id | for example: "123546" | Generated campaign_id of WhatsApp message |
recipient | for example: "004211111111111" | Phone number of destination recipient |
sender | for example: "123456" | Sender ID or number used to send WhatsApp message |
sent_timestamp | for example: "1723484965.922874" | Timestamp of when WhatsApp message was sent |
status | for example: "delivered" | Message delivery statuses reported in real-time |
error | for example: "RECIPIENT_NOT_REACHABLE" | Error explanations in cases of messages with statuses of rejected or failed. |
Delivery and read reports
For each WhatsApp message you send, the integration provides real-time Delivery reports and Read/seen reports. These reports help you track when messages are sent, delivered, and seen, offering clarity on message delivery and customer reactions for campaign evaluation.
- Delivery reports: In case of a failure, you will receive a delivery failure status event immediately and an error explanation indicating the reason behind it.
- Read/seen reports: In case the message was delivered successfully, this report will additionally inform you whether the recipient has seen the message. To receive read reports, you must enable receiving read receipts in your WhatsApp > Settings > Privacy section. When disabled, both personal and business accounts have read indicators disabled.
In cases of messages returning rejected
or failed
statuses, the integration provides error explanations in the error
property of the campaign
event. For more information on error explanations see list of Sinch Error Codes and Infobip Error Codes.
Message statuses
WhatsApp message statuses are as follows:
Status value | Description |
---|---|
enqueued | Enqueued the message to WhatsApp |
enqueued_failed | Could not enqueue the message to WhatsApp |
delivered | Message was successfully delivered to the customer's device |
sent | Message was submitted to WhatsApp for delivery |
failed | Message not delivered, typically due to a failure or temporary problem |
rejected | Message delivery was rejected by WhatsApp |
incoming_message | Inbound WhatsApp message or reply from a campaign recipient (requires Two-Way Messaging) |
read | Message was read or seen by the customer |
Limitations
All parameters must be filled out with the same data structure as submitted. For example, if the parameter was submitted in a URL form, it must be a URL.
Compliance
- Opt-in and opt-out: All messages on the WhatsApp channel must start with an "Opt-in" by the customer. Opt-ins can be collected through any third-party channel, for example in an SMS message, web form, or email. You must also provide a method by which customers may opt-out of receiving future messages.
- WhatsApp policies:You must comply with all WhatsApp Business Messaging Policies and WhatsApp Terms of Use while using WhatsApp as a communication channel.
- SHAFT compliance:You must ensure CTIA's SHAFT compliance in the US and other relevant regions. Examples of restricted content include sex, hate, alcohol, firearms, or tobacco.
Updated about 1 month ago