Event Tracking

Everything your customers do can be recorded in the system in real time. Information such as the source of the visit, the URL address they have visited and the chain of actions that followed are saved in Synerise as an event.

The scope of information gathered about events is wide. Synerise collects predefined event parameters which can be extended according to the preferences and needs of the Synerise users.

The basic information about the tracked events includes:

  • Action name – an indicator of the activity type, such as screen.view
  • Label – human-readable information about the activity, such as the page title
  • Time – the time when the event occurred
  • Client identification – an identifier of the customer who performed the activity
  • Parameters – additional parameters, depending on the type of the event
Note: Some events are predefined, meaning they have a fixed set of fields that must be sent. For example, a product.view event must include the product ID.

You can enrich events with data from catalogs in Synerise, for example, a product or service event where only an ID has been provided can be enriched with other details such as the description, image URL, and more.

Declarative Tracking

Declarative tracking is a feature of our SDK that allows you to declare additional actions for tracking.

Product views, screen views, clicking a sign up button, contact with the call center, and more: you can implement anything and declarative tracking will help you to do that.


Basic event implementation

In the most basic scenario, you can pass a simple event as in the example below:

let event = new CustomEvent("My label that will be visible on Activity Stream", "my.action", parameters);
Synerise.Tracker.send(event);

Such events are passed to Synerise as the CustomEvent type, since the action can be anything that you want.


Parameterized event implementation

If you want to send more complex events, you can include additional parameters:

let parameters = {
  "name": "John",
  "surname": "Rise",
  "company": "Synerise",
  "age": 25,
  "lastOrder": 380.50
};

let event = new CustomEvent("My label that will be visible on Activity Stream", "my.action", parameters);
Synerise.Tracker.send(event);


Predefined events implementation

In Synerise, we have a set of predefined event types that require a minimum set of data for the backend.

This can be achieved by using Setters as in the example below:

let parameters = {
    "campaignHash": "1234",
    "campaignId": "1234"
};

let event = ProductViewEvent("Smartphone X", "Smartphone X", "SM-01-S", parameters);
event.setCategory("Smartphones");
event.setURL("myapp://products/SM-01-S");
Synerise.Tracker.send(event);

You can replace ProductViewEvent with another event type. Event types are described below.

For more details, see the Synerise.Tracker.Send() method reference.


Available Events

Session Events

Events related to a user’s session.

User registered event

This event may be used if you do not use Synerise registration/authentication features and rely fully on your own mechanisms, but still want to gather events about a user registration.

Event name: RegisteredEvent

User logged in event

This event may be used if you do not use Synerise login/authentication features and rely fully on your own mechanisms, but still want to gather events about a user logging in.

Event name: LoggedInEvent

User logged out event

This event may be used if you do not use Synerise login/authentication features and rely fully on your own mechanisms, but still want to gather events about a user logging out.

Event name: LoggedOutEvent

Product Events

Events related to products and the cart.

Product viewed

Use this event when a user views a product (or service) within your application.

Event name: ProductViewEvent

Product added to favorites

Use this event type when a product is added to favorites in your application.

Event type: AddedToFavoritesEvent

Product added to cart

Use this event type when a product is added to the cart in your application.

Event name: AddedToCartEvent

Product removed from cart

Use this event type when a product is removed from the cart in your application.

Event name: RemovedFromCartEvent


AI Recommendations

Recommendation clicked

Use this event type when a user clicks a recommendation.

If you use our Widget to present recommendations, this event is tracked automatically.

Event name: RecommendationClickEvent

Recommendation seen

Use this event type when a user sees a recommendation.

If you use our Widget to present recommendations, this event is tracked automatically.

Event name: RecommendationSeenEvent


Other Events

Uncategorized events related to user’s location and actions.

User appeared in location

Use this event to record a user’s presence at a location by passing geographic coordinates.

Event name: AppearedInLocationEvent

User activity timer event

This could be used for profiling or activity time monitoring - you can send “hit timer” when your client starts doing something and send it once again when the activity finishes, but this time with a different time signature. Then you can use our analytics engine to measure, for example, average activity time.

Event name: HitTimerEvent

User searched event

This event is used when a user searches for something and you want to track that activity in Synerise.

Event name: SearchedEvent

User shared event

This event is used when a user shares something from your application.

Event name: SharedEvent

User visited a screen

This event is used when a user visits a particular screen within your application.

Event name: VisitedScreenEvent

Custom Events

This is the only event which requires the action field, as the field accepts custom action names.

Important: Custom actions must follow the context.action convention. For example: screen.view, product.buy

Event name: CustomEvent

😕

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.