HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityDoc feedbackLog In
GitHubNuGetDev CommunityDoc feedback


Tracking personalizes content and product recommendations, and collects profile data to be used for segmented marketing actions. You can track data to any source. 

## Required tracking event model/data properties

(Script tags will be stripped)


## Optional tracking event model/data properties

(Script tags will be stripped)


### Tracking IP address

The following methods set the client IP address in Tracking API.

NameDescription
Epi-User-IP-AddressPasses the visitor IP address to the Tracking API. 
remoteAddressSets IP address in track event. It overrides the IP address set in Epi-User-IP-Address header.

### Tracking IP address in batch requests

You can set the IP address in remoteAddress for each individual track event, which overrides 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

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 are treated as equal.

  • If TrackID is duplicated, the TrackEvent is skipped from processing silently; no error messages will inform the user.

  • If TrackID is not specified, then TrackEvent behaves normally and TrackID is left empty on that TrackEvent.

  • TrackID can validate duplicate track events within 72 hours. Track events that are tracked for more than 72 hours are still tracked if they have the same ClientID, Scopeand TrackID.

  • TrackID accepts 64 characters only. It is trimmed to 64 characters if the user sends more than that.

## SessionID

Applies to versions: **Tracking.Core 1.9 and higher**

From version 1.9. The _Tracking.Core_ package depends on the [_EPiServer.Sessions_](🔗) package. With this change, there is a new field named SessionID.

NameDescription
SessionID [string]The SessionID is generated by the website for a client each time they interact with website. By default, each session has a duration of 30 minutes; if a user does not interact with website for more than 30 minutes, a new SessionID is created.