How to Set Up a Price Drop Campaign

Introduction

"Price Drop" campaigns aim to reach out to your users who have abandoned carts or have viewed something but have not purchased any product, and inform them about items that have dropped in price. This has shown a proven result of increasing the sales of our clients.

Having such campaigns will help businesses have the following benefits:

  • Increase revenue and conversions
  • Provide users a personalized experience
  • Reactivate inactive users
  • Increase repetitive purchase behavior

In this article, we will create a Push Campaign to trigger recommendations when there is a price reduction in a product that the users have checked out but have not purchased the same.

Expected Result

Users receive a Push Notification on their phones, with recommendations of products whose price has reduced:

image-20231202-162532.png

image-20231202-162336.png

library_add_check

Prerequisites

  • Events to track the action of a user checking out products, searching for products, adding items to a cart, product purchases, and each action’s related information such as the platform, bought product’s ID, name, price. To understand how to track events, refer to the Developer Guide.
  • Mapping of the tracked events above to concerned MoEngage events. For information on mapping custom events to MoEngage events, refer to Map User Actions Settings.
  • A catalog and a respective feed that has a sale price or discounted price column. Set the feed to refresh everyday so that the latest discount price information can be added. For more information on product catalogs and feeds, refer to Catalogs.
  • Settings for one or more channels such as Push, Email, SMS, or WhatsApp.
  • Linked Condition feature enabled for your account.

Create a Recommendation

In this section, let us create a recommendation based on the user actions.

  1. Navigate to the MoEngage Dashboard and select Content > Recommendations from the left navigation. The Recommendations page is displayed. For more information, refer to Creating User Action Recommendations.
  2. At the top right corner, click + Create recommendation. It takes you to the first step "Select recommendation model".
    image-20231126-104436.png
  3. Select the User Actions model and click Next. It takes you to the second step "Create recommendation". Enter the following details:
    1. Recommendation name: Enter a name for the recommendation. For example, "ProductsViewed_By_Users". This will be the name through which you will refer the output of this recommendation model.
    2. Recommendation description: Enter a description for the recommendation. This description will help you understand what the model is aimed at.
    3. Catalog: Select the catalog on which the recommendation is going to be worked. In this example, select "Demo - ECommerce".
      image-20231126-112521.png
  4. Under Filter recommendations by user actions, from the Items where user performed drop-down list, select "Product Viewed in the last 7 Days OR added to Cart in the last 7 Days" and exclude items that were purchased in the last 7 days.
  5. Under Sort the filtered items, from the Order results by drop-down list, select "Most recent". image-20231126-110141.png
  6. Click Create to save the changes and run the model. The status of the same will be in the 'Active' state on the Recommendations home page. The Recommendation engine will share with us the set of products a user has viewed or added to a cart but not purchased in the last 7 days sorted by recency.

Now that we have created the recommendation, let us create a Push campaign to nudge people about the products that have a lower price from the time they have viewed it last.

Create a Push Campaign

In this section, let us create a Push campaign with recommendations of products whose price has reduced.

Step 1: Target Users

  1. Navigate to the sidebar on the left and click Engage > Campaigns and click + Create campaign or click + Create new > Campaign.
  2. Under Outbound, select Push > Event Triggered.
    UC-61 Event triggered.png
    You are taken to the first step "Target users" of defining your campaign.
  3. Enter the following details:
    • Team: Select a team if your organization has teams enabled for your account. For more information, refer to Teams in MoEngage. For example, "Journey".
    • Campaign name: Enter a name for the campaign. For example, "Price Drop Campaign".
    • Campaign tags: Select the required campaign tags.
      UC-61 campaign details.png
  4. Under Trigger Criteria, define the criteria. We must trigger the communication only if the user has not bought the same product that they added to the cart as the initial check before checking for a price drop. This means that we must define a dynamic check. For example, for a user who added Pants to the cart, we must look for a Purchase event with the attribute pointing to Pant. For a user who has added Shoes to the cart, we must look for the Purchase event with the attribute pointing to Shoes specifically.
    So to achieve this dynamic nature, we must use Linked Conditions while defining the trigger condition. To learn more about Linked Conditions, click here.
  5. To define the dynamic check mentioned above:
    1. In the IF user section, select Added to Cart from the drop-down.
    2. Click + Filter and in the AND then section, select Has not executed and Product Purchased options respectively from the two drop-downs.
    3. Click + Attributes and select prod_ID.
    4. Select the operator as "is" because we want an exact match and then change Constant value to Event attribute.
    5. From the list of attributes that the Added to Cart event has, select prod_ID because it can help us identify the product that was added to the cart.
    6. Under THEN trigger the message, select With Delay and define the delay based on the requirement. This will be the maximum time the user will be evaluated to fulfill the conditions from the time the first condition was fulfilled.
      The Select Condition section will look like below:
      image-20231128-162022.png
  6. In the Target Audience section, select All users.
    image-20231129-212852.png
  7. In the Target Platforms section, select Android. You can select other platforms that you would like to target the users in.
  8. Click Next to move to the second step "Content" where you can define the content that will go into your Push campaign.

Step 2: Content

  1. Select the template that you like to go with. For our example, select Basic notification. image-20231129-213115 (1).png
  2. Enter the required content for the campaign. We can enter the content manually or generate it using Merlin AI. For more information, refer to Generate Push Messages with Merlin AI.
  3. While defining the message, select the product set that is generated through the recommendation that you defined. Enter “@” and search for “ProductViewed_By_Users”, the name of the recommendation that you built, in the Push Personalization pop-up. image-20231126-112839.png
  4. Click Done. The following JINJA code is inserted in the Message field: image-20231129-214008.png
  5. Edit the code to run a loop through each product and list down only if the added to cart item has a lesser price than the one that they have seen in the past. The final JINJA code looks as follows:
    JINJA
    {% if ProductSet.ProductViewed_By_Users%}
    {% for product in ProductSet.ProductViewed_By_Users%}
    {% if product.product_id == EventAttribute['product_id'] AND EventAttribute['price']< product.price%}
    Price for {{product.title}} has reduced further!
    {% else %}
    MOE_NOT_SEND
    {% endif %}
    {% endfor %}
    {% else %}
    MOE_NOT_SEND
    {% endif %}

    In Line 3, “product.product_id” points to the current Product ID in our product set and “EventAttribute['product_id']” points to our trigger event’s product ID, that is, the ID of the product that they added and not purchased. Similarly, "EventAttribute['price']” points to our trigger event’s price attribute and “product.price” points to a product’s price. This line does a comparison to check if the current product is the same one as the product user added and if its price is less than the product price that they saw. If Yes, Line 4 gets printed. In other cases, the message is not sent.
    Also, {{product.title}} in Line 4 points to the title of our product in the product set generated from our recommendation. For more information, refer to MoEngage Templating Language (JINJA).
  6. Enter the following code to get the image of the selected product above:
    JINJA
    {% if ProductSet.ProductViewed_By_Users%}
    {% for product in ProductSet.ProductViewed_By_Users%}
    {% if product.product_id == EventAttribute['product_id'] AND EventAttribute['price']< product.price%}
    {{product.image_link}}
    {% else %}
    MOE_NOT_SEND
    {% endif %}
    {% endfor %}
    {% else %}
    MOE_NOT_SEND
    {% endif %}

    image-20231129-215529.png
  7. Personalize the content further by entering information such the URL, adding buttons in the Buttons section, and/or adding coupons in the Advanced section.
    info

    Information


    The campaigns might show “Personalization Errors” for the users who have viewed/added the product to the cart and there is no drop in the product price. This campaign will be targeted only when there is a price drop in the product and the user has done the campaign event.

  8. Click Next to move to the third step "Schedule and goals" where you can define the schedule and goal of your campaign.

Step 3: Schedule and Goals

  1. In the Send campaign section, define when you want to start and end your campaign.
    3.png
  2. In the Conversion goals section, add conversion goals that you like to track.
  3. Define Delivery controls and Advanced settings based on your requirements. For more information, refer to Create Push Campaigns.
    4.png
  4. Click Publish.

Conclusion

In this use case, we created a Push Campaign to trigger recommendations when there is a price reduction in a product that the users have checked out but have not purchased the same.

Previous

Next

Was this article helpful?
5 out of 5 found this helpful

How can we improve this article?