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? – Vlad Iobagiu Apr 11 '18 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. – Pete Navarra Apr 11 '18 at 16:07

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! – Pete Navarra Apr 11 '18 at 18:29
  • 1
    Has anyone confirmed if this is included with Sitecore 9.0.2? – Marcel Gruber Nov 5 '18 at 17:43
  • Hi Pete, I am facing this problem in Sitecore 9.0.2 version – Ashish Bansal Jan 8 '19 at 7:18
  • @AshishBansal How did you solve it for 9.0.2? – CodeHacker Jan 14 '20 at 9:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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