Back to all Usecases
How to Recommend Content to Watch Next

Introduction

Showing content recommendations is an effective way for marketers of OTT platforms to increase users' screen time. There are two key steps involved in achieving this:

  • For each user, come up with content they are likely to watch (recommendations) based on their watch history.
  • Show these recommendations at the right place and time to the user.

MoEngage can help marketers accomplish both these steps through Recommendations and Campaigns. Push notifications, emails, cards, and on-site pop-up messages (OSM) on exit intent can be good ways to show such recommendations to the user.

In this article, we will:

  • Create a recommendation on what to watch next.
  • Send that recommendation through push notifications to your users.

Expected Result

Users receive a push notification with recommendations of what to watch next on their phones:

1.png

14.png

library_add_check

Prerequisites

  • Events to track the action of a user searching for content, watching content, adding content to watch later, rating content, completing content, and each action’s related information such as the genre, title, type, progress, rating, and platform. To understand how to track events, refer to the Developer Guide.
  • Mapping of the tracked events above to the concerned MoEngage events. In this example, the custom event of starting content will be mapped to "Product Viewed," and the custom event of completing content will be mapped to "Product Purchased." For information on mapping custom events to MoEngage events, refer here.
  • A catalog and a respective feed with a list of available contents and all related information about the same, from the name or title to the director, cast, and description to any awards that the title won in any category. Set the feed to refresh at a suitable interval to maintain the latest information. For more information on product catalogs and feeds, refer to Catalogs.
  • Settings for one or more channels such as Push, Email, SMS, OSM, or WhatsApp.

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 appears. For more information, refer to Creating User Action Recommendations.
  2. At the upper-right corner, click + Create recommendation. You are taken to the first step, "Select recommendation model."
    2.png
  3. Under Predictive, click the Similar items card because it considers the user's action of watching content and related information in attributes such as the genre, director, and cast. This model uses SHERPA AI to predict what other content the same user would prefer.
  4. Click Next. You are taken to the second step, "Create recommendation." Enter the following details:
    1. Recommendation name: Enter a name for the recommendation. For example, "WhatNextToWatch." This will be the name through which you will refer to the output of this recommendation model.
    2. Recommendation description: Enter a description for the recommendation. This description will help you understand the model's aim.
    3. Catalog: Select the catalog that has the list of content provided in your platform with the related information, starting from the title to the director’s name, cast, genre, and any awards that this has won.
      3.png
  5. Under Generate recommendations by user actions, from the Items where user performed drop-down list, select “Product Purchased” because the recommendation model generates suggestions on this action. Here, the event of a user watching content is mapped to this MoEngage-defined event.
    4.png
  6. Click Create to save the changes and run the model.
    Note that this will take 24 hours. You can find the status of the model on the Recommendations home page:
    5.png
    The Recommendation engine shares the set of content a user might prefer based on the list of content they watched in the last 10 days.

Now that we have created the recommendation, let us create a Push campaign to nudge people about the content that they have viewed but not completed.

Create a Push Campaign

In this section, let us create a Push campaign to recommend what to watch next to your users.

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 > Periodic.
    15.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.
    • Campaign name: Enter a name for the campaign. For example, "WhatNextToWatch."
    • Campaign tags: Select the required campaign tags.
      6.png
  4. In the Target Audience section, select users who have not watched content in the last 1 day.
    7.png
  5. In the Target Platforms section, select Android.
    8.png
  6. Click Next to move to the second step, "Content," where you can define the content for your Push campaign.

Step 2: Content

  1. Select the template that you would like to use. For our example, select Basic notification.
    9.png
  2. Enter the required content for the campaign. We can manually enter a title, message, and summary 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 generated through the recommendation you defined.
    1. Enter “@.” The Push Personalization dialog box appears.
    2. Search for “WhatNextToWatch,” which is the name of the recommendation that you built.
      10.png
    3. Click Done. The following JINJA code is inserted in the Message field:
      11.png
    4. Edit the code to run a loop through each content and list down the first suggestion because the highly confident suggestions come first from the Recommendation engine. The higher the confidence, the topper the content will be in the list. The final JINJA code looks as follows:
      JINJA
          {% if ProductSet.WhatNextToWatch%}
      {% for product in ProductSet.WhatNextToWatch[0:1]%}
      {{product.title}}
      {% endfor %}
      {% else %}
      MOE_NOT_SEND
      {% endif %}
      In line 2, the loop does only one iteration using “[0:1]” in the query. If you want to suggest the top 3, you can change the same to “[0:3]” and so on. The {{product.product_name}} element in line 3 prints the name of the suggested content. For more information, refer to MoEngage Templating Language (JINJA).
    5. Enter the following code to get the image of the recommended watch:
      JINJA
          {% if ProductSet.WhatNextToWatch%}
      {% for product in ProductSet.WhatNextToWatch[0:1]%}
      {{product.image_url}}
      {% endfor %}
      {% else %}
      MOE_NOT_SEND
      {% endif %}
      In Line 3, {{product.image_url}} provides the link to the image of the concerned title of the suggested content.
  4. Add a deep link to the push notification by mentioning the URL that will directly take them to your app's mentioned title or suggestion list. This reduces the possibility of a user dropping off before finding the suggested content.
    12.png
  5. Click Next to move to the third step, "Schedule and goals," where you can define your campaign's schedule and goals.

Step 3: Schedule and Goals

  1. In the Send campaign section, select when the campaign should be delivered to your users and the periodicity of delivery. For example, Daily at 10 AM, starting from March 10, 2024.
    13.png
  2. Change the deliverability settings based on your requirements. For more information, refer to Create Push Campaigns.
  3. Click Publish.

Conclusion

In this use case, we created a recommendation on what to watch next and sent it to your users through push notifications.

Now that we have published the campaign for our use case using Recommendations, we can check out other possibilities of MoEngage’s Recommendations.

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

How can we improve this article?