Set up Device Detection

Abstract

Set up Sitecore Device Detection to optimize and personalize a visitor's experience of your website.

The Sitecore Device Detection Service uses the browser user agent string of visitors to identify their device and its properties. This information is automatically added to the Sitecore Experience Database (xDB) and used for reporting. Knowing details about a visitor's device also enables you to optimize and personalize customers’ experiences with a website. For example, you can provide a mobile-friendly layout that is targeted specifically for visitors using Apple iPhones. This bespoke browsing experience includes:

  • Adaptive or responsive design

  • Personalized content

  • Promotions for iPhone users

To use the Device Detection service, ensure you have the following in place:

Important

You must have Sitecore XP 9.0 or later installed. Device Detection is no longer available for purchase in the Sitecore App Center, this means you must upgrade to Sitecore XP 9.0 or later to use the Device Detection service. From Sitecore XP 9.0 and later, the Device Detection functionality is available by default without needing to purchase an additional subscription.

  • To optimize access to the Device database in a scaled environment, it is best practice to store the database in a location where all of your Sitecore instances can access it. You can do this by setting the common path for each Sitecore server as shown:

    <setting name="DeviceDetection.DatabasePath" value="/App_Data/DeviceDetection" />

  • If you are running Sitecore Experience Platform 8.0, you must upgrade to the latest version to use Device Detection. The device functionality is upgraded automatically.

Note

Device Detection uses the Device database. The database downloads automatically when you start your Sitecore instance for the first time and takes approximately seven minutes. Your Sitecore instance is fully functional during this time, with the exception of the Processing server. This is because the relevant device data lookups are not in place for any interactions being processed until the database is downloaded.

If you do not want to use the Device Detection functionality, you can disable it by going to the sitecore/Settings folder. Set DeviceDetection.Enabled to "false". <setting name="DeviceDetection.Enabled" value="false" /> The default setting is "true". If the Device Detection functionality is disabled then the database is not downloaded.

Sitecore Device Detection requires access to Sitecore services to download and update the device database. Therefore, you must open the HTTPS protocol on your firewall, either for the wildcard domain address *.cloud.sitecore.net (if your firewall allows it), or for the following URLs:

  • discovery-ces.cloud.sitecore.net

  • devicedetection-ces.cloud.sitecore.net

The services run on highly available pools of compute hosts. By design, the hosts are not set with static IPs because hosts are swapped in and out of the pool on a regular basis to ensure maximum availability. This means that switching IPs is expected behavior – Microsoft has a helpful list of IP ranges that are currently in use and updated regularly.