Last updated: Aug 29 2018
Tracking event model/data properties
This topic describes properties used by tracking events in Episerver Profile Store tracking.
Required tracking event model/data properties
- DeviceId [string]. The device identifier is generated by the website for the client, and must be provided in each tracking request to Tracking API. Use _madid as the name of the cookie when storing a device ID in a visitor browser.
- EventType [string]. The type of tracking event.
- Value [string]. The tracking data value, for example "epiPageView" or "basket".
Optional tracking event model/data properties
- PageTitle [string]. The page title.
- User [object]. A JSON object with user information that can have the following optional properties:
- Name [string]. The user's name.
- Email [string]. The user's email.
- Info [object]. Information related to the user as a list of strings.
- Payload [object]. A JSON object with any kind of data.
- PageUri [string]. The page URI where the event occurred.
- EventTime [string]. The date and time, in UTC, when the event occurred.
- Scope [string]. The scope this tracking event belongs to. default is used when not set. (Scope is a concept for separating tracking events, and profiles into different scopes.)
- RemoteAddress [string]. The client IP address. This property overrides the value in Epi-User-IP-Address header if set.
Tracking IP address
There are two methods to set the client IP address in Tracking API.
- Use the Epi-User-IP-Address header to pass the visitor IP address to the Tracking API.
- Set IP address in remoteAddress property in track event. It will override the IP address set in Epi-User-IP-Address header.
Tracking IP address in batch requests
You can set the IP address in remoteAddress property for each individual track event, which will override the value set in the header. The same behavior applies to batch requests. Therefore you can set the IP address for individual track events in the batch requests, instead of having one IP address for all the track events in the header.
TrackID provides a way to define TrackEvent uniqueness on a specific ClientID and Scope, regardless of other values. This means that if two TrackEvents have the same TrackID, ClientID and Scope, they will be treated as equal.
If TrackID is duplicated, the TrackEvent will be skipped from processing silently, meaning no error messages will inform to user.
If TrackID is not specified, then TrackEvent behaves normally and TrackID is left empty on that TrackEvent.