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


In version 3.0, the integration with the Personalization Service version 1.4 is updated with improved [GDPR](πŸ”—ο»Ώ) support. This update removes the user email and IP addresses from a tracking request.

This release introduces two configuration settings for controlling the tracking of user email and IP addresses.

  • `episerver:personalization.SkipUserHostTracking` – Lets you exclude an IP address from tracking data. See [Installing and configuring the native integration package](πŸ”—ο»Ώ).

  • `episerver:personalization.UsePseudonymousUserId` – Controls whether a pseudonymous user identifier is captured in tracking data instead of user email address. Set to **True **to omit email address from tracking and use Contact Id instead. The default value is **False**. See [Installing and configuring the native integration package](πŸ”—ο»Ώ).

Note

If your site has existing tracking data, you must coordinate the switch from email to pseudonymous user identifier (by configuration or customization) with the Personalization Service team. Otherwise, existing tracking data and profiles built from user email address are lost when the user identifier changes.

## Public interface changes

### EPiServer.Tracking.Commerce namespace

  • **RequestData** Version 3.0 introduces the `RequestData` class, which represents basic data to be included in the tracking request, including all user information.

    ο»Ώ
  • **IRequestTrackingDataService** Version 3.0 introduces the `IRequestTrackingDataService`, which gets basic data from the request, to include in the tracking data. To include/exclude IP address, register a custom implementation of the `IRequestTrackingDataService` interface. The default implementation of this interface uses the `episerver:personalization.SkipUserHostTracking` setting (mentioned above). A custom implementation could vary the setting based on user preference, cookies, and so on.

    ο»Ώ

## EPiServer.Tracking.Commerce.Data namespace

  • **CommerceUserData** To support GDPR, version 3.0 makes the `Email` property is obsolete, and introduces the `Id` property. The user `Id` should be pseudonymous, so it cannot be used to identify the person behind the user without combining the user ID with additional information.

    ο»Ώ

You should make the constructor of XXXTrackingData obsolete (`AttributeTrackingData`, `BrandTrackingData`, `CartTrackingData`…) with HttpContextBase, and introduce a new constructor with the `RequestData` parameter. For example:

ο»Ώ