I am trying to utilize the built-in Device Detection that is provided out-of-the-box with Sitecore 9.0.1. Reading all of the documentation on this, it appears that this is enabled automatically without any configuration needed.

However, I am running into issues on a basically vanilla implementation of Sitecore. Here is my setup:

I'm using Sitecore 9.0.1 on Azure PaaS in xP1 topology. I have a Web Service for each Sitecore role (CM, CD, Processing, and Reporting) as well as all of the xConnect stuff. I have a simple Sitecore site with zero customizations other than light configurations (SiteDefinition.config, SMTP config). Otherwise, completely vanilla.

No Device Detection or GeoIP is being logged into Sitecore analytics, even though I have a bunch of visits.

An examination of my logs highlight the following error message from the CM Server:

Application: 2018-04-11T15:41:22  PID[6932] Warning     ManagedPoolThread #6 15:41:22 WARN  Authentication on CES Discovery service failed.
Application: Exception: System.Net.WebException
Application: Message: The remote server returned an error: (403) Forbidden.
Application: Source: System
Application:    at System.Net.HttpWebRequest.GetResponse()
Application:    at Sitecore.CES.Client.WebClient.<>c__DisplayClass6_0.<ExecuteRequest>b__0()
Application:    at Sitecore.CES.Client.WebClient.Execute[T](Func`1 action, String requestUri)
Application:    at Sitecore.CES.Client.ResourceConnector`1.Request(String endpoint, Object[] parameters)
Application:    at Sitecore.CES.Discovery.EndpointSource.GetEndpoint(String serviceName)
Application: 2018-04-11T15:41:22  PID[6932] Error       ManagedPoolThread #6 15:41:22 ERROR Could not update device detection database
Application: Exception: System.ArgumentNullException
Application: Message: Null ids are not allowed.
Application: Parameter name: endpointUri
Application: Source: Sitecore.Kernel
Application:    at Sitecore.Diagnostics.Assert.ArgumentNotNullOrEmpty(String argument, String argumentName)
Application:    at Sitecore.CES.Client.WebClient.DownloadBinaryContent(String endpointUri, String resourcePath, DownladBinaryContentParameters parameters)
Application:    at Sitecore.CES.DeviceDetection.Providers.FiftyOneDegrees.FiftyOneDeviceDetectionClient.GetNewerVersion()
Application:    at Sitecore.CES.DeviceDetection.Providers.FiftyOneDegrees.FiftyOneDeviceDetectionClient.DoUpdate(String serviceName, String& newDatabasePath, String& newDatabaseVersion)
Application:    at Sitecore.CES.DeviceDetection.Providers.DeviceDetectionClient.Update()

Anyone have any pointers?

  • do you have a valid sitecore 9 license? Apr 11, 2018 at 16:01
  • I do have a valid license. But that's a valid question, but I totally could have an invalid license and that would be a valid question to ask. Apr 11, 2018 at 16:07

1 Answer 1


This is a known bug: https://kb.sitecore.net/articles/828414


Install a hotfix corresponding to your Sitecore Experience Platform version:

For Sitecore XP 9.0 rev. 171002 (Initial Release): https://dl.sitecore.net/hotfix/SC Hotfix 204620-1 Sitecore CES 2.1.0.zip

For Sitecore XP 9.0 rev. 171219 (Update-1): https://dl.sitecore.net/hotfix/SC Hotfix 205547-1 Sitecore CES 2.1.1.zip See the readme.txt file inside the archive for installation instructions.

  • I have confirmed that this has solved the issue. Thanks Vlad! Apr 11, 2018 at 18:29
  • 1
    Has anyone confirmed if this is included with Sitecore 9.0.2? Nov 5, 2018 at 17:43
  • Hi Pete, I am facing this problem in Sitecore 9.0.2 version Jan 8, 2019 at 7:18
  • @AshishBansal How did you solve it for 9.0.2?
    – CodeHacker
    Jan 14, 2020 at 9:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.