Recommend bestselling items in a WhatsApp message

Published April 24, 2023
Modules
Difficulty

You can use WhatsApp to send personalized messages to potential customers who have viewed a product page and have high propenisty to buy, motivating them even more to return and purchase popular or beststelling products. Increase customer engagement and drive sales with communication that ensures customers receive customized and relevant messages with enticing incentives and exclusive deals.

In this use case, you will create a workflow that sends a message on WhatsApp with the bestselling products. This workflow will be triggered by a visit to a page, however, the message will be sent only to customers with a high propensity to buy and who visited the product page and haven’t made a purchase just to encourage them to come back and make a purchase.

Whatsapp bestseller message

Prerequisites


Process


In this use case, you will go through the following steps:

  1. Create a message template in the Meta portal
  2. Create a workflow to send message to customers on WhatsApp

Create a message template in the Meta portal


Create a message template in the Meta portal that you will use in the next part of the process. In the body of the message, mark places where the dynamic elements will be added.

The example message used in this use case: *{{1}}* *{{2}} PLN* One of our best-sellers and an ABSOLUTE favorite among our customers! Hurry up because we only have a few units left.

Where {{1}} and {{2}} are markers that will be replaced with the dynamic values. This step will be done in Synerise.

The screen below shows an example of template message creation in the Meta portal:

An example of body section configuration in the Meta platform
An example of body section configuration in the Meta platform

In the following screen, you can see how a button can be defined in the Meta portal:

An example of button section configuration in the Meta platform
An example of button section configuration in the Meta platform

Create a workflow to send message to customers on WhatsApp


The workflow will be triggered by the Visited page event for customers with high propenisty to buy. The delay is defined up to 1 day. If a customer does not make a transaction within one day, we will send a WhatsApp message encouraging customers to come back and buy a bestselling product.

  1. Go to Automation icon Automation > Workflows > New workflow.
  2. Enter the name of the workflow.

Define the trigger node


  1. As the first node, add the Profile Event. In the settings of the node, select the Visited page event.
  2. Click Apply.

Configure the Delay node


  1. Add the Delay node. In the node settings:
    1. In the Delay field, type 1.
    2. From the dropdown list, choose Day.
  2. Click Apply.

Define the Profile Filter node


As the next node, choose Profile Filter to check if a customer with high propenisty to buy have made a transaction in the last 24 hours.

  1. Add the Profile Filter node. In the node settings:
    1. From the Choose filter dropdown, select the transaction.charge event.
    2. Change matching to not matching.
    3. Set the date range to the last 1440 minutes.
      Important: Use 1440 minutes instead of 1 day – use smaller granulation, as in this case 1 day would take the time from current hour till the midnight, so such an analysis will not take into consideration all necessary users.
    4. From the Choose filter dropdown, select the snr.propenisty.score event.
    5. Click + where.
    6. As the event parameter, select score_label.
    7. As the logical operator, select Equal.
    8. In the text field, enter high.
    9. As the date range, select Lifetime.
  2. Click Apply.
The view of Profile Filter node configuration
Configuration of the Profile Filter node

Define the Send a template mesage node


  1. To the Not matched path, add the WhatsApp Send a template message node.

  2. Click Select connection.

  3. From the dropdown list, select the connection.

    • If no connections are available or you want to create a new one, see Create a connection.
    • If you selected an existing connection, proceed to defining the integration settings.
  4. In the Sender ID field, enter the phone number ID from which the message will be sent. You can find more information about phone number ID here.

  5. In the Receiver field, enter the phone number of the customer who will receive this message. We recommend using the {% customer phone %} insert, which inserts the phone number of an individual customer who goes through this node.

  6. In the Message template field, enter the name of the message template you created earlier in the Meta portal.

  7. From the Language code dropdown list, select the language used in the message.

  8. In the Message components field, insert the object that contains the dynamic values in the order defined in the message template.   The example of object used in this use case:

    Note: The recommendation ID is used as examples for the purpose of this use case.
            [
                {
                        "type": "body",
                        "parameters": [ 
                            {
                                "type": "text",
                                "text": "{% set products = [] %}{% recommendations3 campaignId=VrEXZm00A7CK %}{% for p in recommended_products3 %}{% do products.append(p) %}{% endfor %}{% endrecommendations3 %}{{ products[0].title }}" 
                            }, 
                            { 
                                "type": "text", "text": "{{ products[0].price }}" 
                            } 
                        ] 
                    },
                    { 
                        "type": "button", "parameters": [ 
                            { 
                                "type": "url",
                                "text": "{{ products[0].title|replace('https://yourshop.com', '') }}" 
                            } 
                        ] 
                    }, 
                    { 
                        "type": "header", 
                        "parameters": [ 
                            { 
                                "type": "image", 
                                "image": { 
                                    "link": "{{ products[0].image_link }}" 
                                } 
                            } 
                        ] 
                    } 
                ] 
            

  9. Click Apply.

The following table explains all the inserts used in the body, button and header sections shown above.

Section Insert value Insert explanation
body {% set products = [] %}{% recommendations3 campaignId=VrEXZm00A7CK %}{% for p in recommended_products3 %}{% do products.append(p) %}{% endfor %}{% endrecommendations3 %}{{ products[0].title }} The value of this insert is used as the value of {{1}}, so the name of recommended product can be displayed in the message.
body {{ products[0].price }} The value of this insert is used as the value of {{2}} PLN, to show the price of the item.
button {{ products[0].title|replace('https://yourshop.com', '') }} The value of this insert is used to return product url. Here we specify the URL omitting the domain, because we define the domain in the Meta platform, as you can see in the screenshot with the button creation.
header {{ products[0].image_link }} The value of this insert is used to return the product image in the header.

Add the finishing node


  1. Add the End node to the Send a template message node.
  2. To the Matched path, add the End node.
  3. In the upper right corner, click Save & Run.
The view of Workflow configuration
Configuration of the Workflow

Check the use case set up on the Synerise Demo workspace


You can check the eecommendation and workflow configuration directly in Synerise Demo workspace.

If you don’t have access to the Synerise Demo workspace, please leave your contact details in this form, and our representative will contact you shortly.

Read more


😕

We are sorry to hear that

Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.

😉

Awesome!

Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.

Close modal icon Placeholder alt for modal to satisfy link checker