Recommendation system

The article describes the recommendation system algorithm, its advantages, and technical aspects.

What is a recommendation system?

A recommendation system is email marketing logic that helps decide whom to send emails to, what content would be most relevant to them, and when to send the email for the highest chance of user interaction.

A recommendation system aims to keep in touch with your users, encouraging them to engage with your product or service.

What problems does the recommendation system help to solve?

  1. Excess of events on the product.

Let's say that the user of your platform receives many new messages, their page is often viewed or added to the "Favorites" list. It's clear that we shouldn't send too many emails about each of these events.

The recommendation system helps to solve this problem by selecting the most relevant event that can trigger a new email.

  1. Lack of content ideas.

By building a system of sending emails to users regularly (e.g., 2 or 3 times a day), you will also save yourself from the eternal dilemma of "what to write about". After all, since the recommendation system relies solely on the user's actions or general updates according to their preferences, it will never run out of ideas.

  1. Irrelevance of emails.

Thanks to the recommendation system, emails are sent not at the moment a certain event has occurred but at a time customized for the particular user.

The main advantage of the recommendation system

Personalization is definitely the main advantage of the recommendation system. Unlike campaigns that target a specific segment of your audience or all users at once, emails sent using recommendation system logic are highly effective.

The reason is that these logics are based on events or occasions, which can be used as examples:

  • Actions performed by the user on the product;
  • Actions of other users concerning the particular user (e.g., viewing their page on your platform or adding their profile to the "Saved" list);
  • Events directly related to the user (e.g., the publication of a new book that belongs to their favorite category).

How does the recommendation system work?

  1. First, the system forms a list of users to send emails to at a specific moment.
  2. Then, it selects the type of email to send and makes an event-type request for the specific user to your API point.
    An event-type request is the most relevant type of email that is tied to an actual event on your product or service and directly relates to the specific user (e.g., a new like, message, friend request, etc.).
    Each type of email has its own settings (e.g., you can specify the frequency of sending it, set certain bounces or Rejects). The system always takes these settings into account and cuts off the types of emails that the user has unsubscribed from. This can be checked using the Get current unsubscribe type mails) API endpoint.
  3. As a response, you need to send a request to the API endpoint for sending triggered emails with the type our system requested (e.g., the "new message" type) and fill it with personalized information. Also, the request sourceid is additionally transmitted so that we can distinguish requests initiated by us from those initiated by you.
    If a specific event is not relevant to the recipient of the email (e.g., you want to send a notification of an unread message under the "new message" type, but the user does not have any at the moment), you can send another trigger email with the same source_id.
  4. Finally, the system sends the appropriate type of email to your user.
  5. The graph of event requests using the recommendation system can be seen in the Analytics section of the administrative panel by selecting the "Requests" metric in the settings. In addition, you can select the "Response rate" metric and set up filters for the needed project and the desired time period.

The logic of the recommendation system

What is required from you to use the recommendation system?

  1. Track, collect, and store events on your product related to the specific user OR generate events at our request. E.g., provide information about a new book in a category that the user likes but is not yet aware of;
  2. At the integration stage, coordinate the list of such events with your CSM so that our system can make requests to send emails;
  3. Ensure correlation between a specific type of event and the type of email we can send;
  4. Connect trigger email types;
  5. Create email templates for each event from the list of approved ones (optionally, this step can be performed by our team);
  6. Prepare an API endpoint that will accept our API requests.

What information should you provide us with?

List of IP addresses used by Sendios to send requests

For seamless integration and the security of data exchange, Sendios uses a dedicated set of IP addresses when interacting with clients.

On this resource you can view the list of IP addresses utilized by Sendios for sending requests to your API endpoints. It may help you guarantee the security and stability of data exchanges between your system and Sendios.


1. What API endpoint should I use to send an email?

Use the API endpoint for sending trigger emails as usual.

2. In what format should the data be transferred?

The data must be sent in JSON format.

3. How do I find out the type_id of the email?

You will find out the type_id of the email from our request, which we send to your API endpoint.

4. How is the user selected for sending an email?

  • First, the system selects from the database all those who currently are in the most popular interaction hour (time personalization);
  • Next, the system selects users based on a certain main criterion (for example, was online 10 minutes ago, did not receive emails in the last 6 hours, etc.);
  • After applying the main criterion, the system cuts off some users who are not currently interested in receiving emails (e.g., the user has unsubscribed from emails, is currently online, or has recently received a trigger email from us, etc.);
  • The rest is a sample of users who are currently relevant to send an email according to the system logic.
  • 5. Is sending an email initiated for each user individually?

    Our logic initiates sending to each user individually exactly when it is recommended to make a send.

    6. How do I sign requests that I make on the API endpoint of sending trigger emails?

    All requests sent to us are signed as standard with client_id and client_token.

    7. How are the requests that Sendios sends to your API endpoint signed?

    Signing requests to your API endpoint is not mandatory, so there will be no signature token in our request to you (it will contain only the basic parameters)..

    8. What request does Sendios send to my API endpoint?

    Your API endpoint will receive a POST request with the following parameters:

        "project_id": 123, // Sendios  
        "email": "[email protected]",  
        "type_id": 1,  
        "source_id": 1,  
        "client_user_id": 123234 // your user id on product - optional  

    9. How to check the API endpoint on my side?

    You can check your API endpoint with this URL request:

        curl -X POST \
        -d '{"project_id": 123, "email": "[email protected]", "type_id": 1, "source_id": 1, "client_user_id": 123234}'  

    If you have any questions, please contact your Customer Success Manager