Segmentation by User Events

An event is any event on a website/in a mobile app that has a date, type, and a set of mandatory and optional parameters.

Examples of such events are:

  • orders;
  • abandoned browses;
  • abandoned carts;
  • new promotions;
  • price drop.



Segmentation by events is available depending on your pricing plan. To activate it, contact to [email protected].

Event Parameters for Contact Mapping

When using the Generate event v2 method, a new contact is created, provided segmentation is enabled for the event.

If a contact identifier is found in the event parameters, the system associates it with this contact; if not, it creates a new one. The source for creating such a contact will be recorded as Event in the contact card.


To save the event assigned to the contact, the event parameter must contain the contact identifier, by which the contact can be found in the eSputnik. Also, you need to know which contact field is used as an identifier.

By default, the system connects events with contacts when passing the following parameters:

Event parameterContact field
Contact ID
externalCustomerId External ID
Phone number
PushToken Web push or mobile push token
Additional contact field with the name {ContactKey}



  • Standard parameter names are compared with the passed event parameter names, case insensitive.
  • Parameter values, except the email address, are compared with the passed event parameter values, case sensitive.

Suppose an event has one of the parameters listed in the left column. In that case, eSputnik will automatically associate it with the corresponding contact field in the system (right column) when it finds such an identifier.

Here is the event example automatically assigned to the contact:

The event key is "contact_id" : "123abc456ef". eSputnik will assign the event to this contact if such contact exists.

Mapping Events with Contacts by External IDs >

Checking the event parameters

Select the event type which you will use for segmentation, and check its parameters. Let's look at the OrderDeliveredRefferal example.

  1. Go to Automation → Event history.
  1. In the Event type drop-down menu, select the OrderDeliveredRefferal or search it.
  1. Click the event name to see the event's parameters and check them with the parameters from the table above.

In the example, email_client parameter doesn't fit any value from the table. In this case, additional configuration for the email_client parameter is required.

Event parameterContact field

Setting event parameters

Set a matching rule to bind event parameters to a contact ID if you want to use a different event parameter name or a different contact field.

  1. Go to Settings → Events.
  1. Activate Use custom parameter for event assignment switcher, select the contact field, and enter the event parameter name.

In the example, the search for a match will go by Email additional field and email_client event parameter.

  1. Click Save.

Using Events for Segmentation

  1. Go to Automation → Event types and activate the switcher for the required event type.
  1. In a pop-up window, click the Use event for segmentation button.



  • Only the events that occur after the feature has been enabled are used for segmentation.
  • You can use up to 50 events for segmentation.

Adding a Dynamic Segment for Segmentation by Events

  1. Go to Contacts → Segments. Click the Add segment button.
  1. Choose the Dynamic segment type and click Create.
  1. Fill in the general properties:
    • Segment name: it will be displayed in the general segments’ list.
    • Segment purpose: for example, for regular promo campaigns.
    • Tags: to find and filter the segments in the general list.

Click the Next button.

  1. Click the Add condition button. A new set of fields will appear in the list of conditions after the system receives event. Select the Custom event → Other fields.
  • With basic segmentation, you can segment events only by the number and type;
  • With advanced segmentation, you can segment events by the event parameters.

For example, we need to find everyone who ordered the Super Device brand in London today for more than $ 1,500.

To do this, first, create a card with all the events corresponding to making an order (you can specify other parameters of the number of events: for this, in the Event count condition, specify equals, greater than, less than or the range between).

We can select the event parameters required for additional filtering by clicking on the three dots in the card.

Let's choose the following options:

  • brand → Super Brand.
  • totalCost → more than $ 1500
  • town → London

The segment card will look like this:

Please note: events are selected for today by default. To change the period, click on this word and select a value from the drop-down list:

  1. Click Done.