Configure Sitecore Device Detection

Current version: 9.3

From Sitecore 9.0 and later, Sitecore Device Detection is enabled to use Sitecore services and the database provided by 51Degrees by default. You can, however, further customize your installation with several device detection configuration options.

Note

To fully customize your Sitecore Device Detection service, you can also configure a content delivery server.

Enable Device Detection for your Standalone (all-in-one), Content Delivery, and Processing servers. If you are using a rules-based configuration, then this is done automatically.

The Device information provider

If you want to use your own database you can specify the device information provider in sitecore/deviceDetectionManager/providers, for example:

RequestResponse
<deviceDetectionManager defaultProvider="51degrees">
      <providers>
        <clear />
        <add name="51degrees" type="Sitecore.CES.DeviceDetection.Providers.FiftyOneDegrees.DeviceInformationProvider51Degree, Sitecore.CES.DeviceDetection" />
      </providers>
    </deviceDetectionManager>

The default value is: Sitecore.CES.DeviceDetection.Providers.FiftyOneDegrees.DeviceInformationProvider51Degree, Sitecore.CES.DeviceDetection

The Device Detection cache

The Device Detection cache stores resolved device information. If your visitors use a broad range of devices, you can increase the default cache size to avoid delays in accessing page content.

  • Specify the cache size (in bytes, KB, MB, or GB) in sitecore/Settings/DeviceDetection.DeviceDetectionCacheSize.

    For example:

    <setting name= "DeviceDetection.DeviceDetectionCacheSize" value="1024" />

    <setting name= "DeviceDetection.DeviceDetectionCacheSize" value="10MB" />

Important

Ensure that the cache size is large enough to store all of your resolved device information, the default value is 10MB. To disable the cache, set the cache value to 0. This is not recommended, as it will adversely affect the performance of your websites.

Device Detection service in the cloud

The Sitecore Customer Experience Service requires that you specify the name of your Device Detection service in the cloud. The default name is DeviceDetection. Do not change the name unless specifically asked to do so by the Sitecore Product Support Service. However, if you do need to change the name, you can change it here: sitecore/Settings/DeviceDetection.ServiceName

The Device Detection database

You can further customize your Device Detection database by specifying the path where device databases are stored, go to sitecore/settings/DeviceDetection.DatabasePath. The default location is /App_Data/DeviceDetection.

You can define how frequently Sitecore checks the database for performance updates in sitecore/settings/DeviceDetection.DatabaseUpdateCheckInterval. If there is a new version available, the Sitecore Device Detection client downloads the database to the instance by using the Sitecore Device Detection service. The default setting is 1 day.

<setting name="DeviceDetection.DatabaseUpdateCheckInterval" value="1.00:00:00" />

If your database fails to initialize, due to technical failure or a void license for example, you can specify how often it tries to reinitialize. This affects how quickly Device Detection returns to normal again in the case of a technical failure. Go to: sitecore/settings/DeviceDetection.FailDatabaseCheckInterval.

The default database initialization interval is 10 minutes.

Note

Old versions of databases are not automatically deleted. A database is only deleted after an unsuccessful attempt at initialization.

Configuring your firewall

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.

(Optional) Disabling Device Detection

The Device Detection module is enabled by default. However, if you want to prevent the Device Detection client from contacting the Device Detection service every day (which is the default setting), and you do not need the Device Detection functionality, then you can disable the module. To disable it:

  • Patch the configuration and set DeviceDetection.Enabled setting from the Sitecore.CES.DeviceDetection.config file to false:

    RequestResponse
    <setting name="DeviceDetection.Enabled" value="false" />
    

Do you have some feedback for us?

If you have suggestions for improving this article,