Pages

25 September, 2025

My Sitecore XM Cloud Cheat Sheet Just Hit 400 Downloads again!

Recently, I received an email from Cheatography that my Sitecore XM Cloud Cheat Sheet has been downloaded by more than 400 times. 



There are two set of cheat sheets related to XM Cloud CLI Commands. 

1. XM Cloud CLI Plugin Installation and Plugin Commands

In this sheet, you can get the instructions on how to install the plugin and various commands which are available in the plugin. 

2. XM Cloud CLI Command Samples

In this sheet, you will find CLI commands for common scenarios to use in your daily activities.

Want to grab it?

If you haven't seen it yet, or if you're tired of digging through documentation, you can get it for free right here: 



I plan to keep it updated as the CLI evolves. If you have any feedback or think a command is missing, message me on LinkedIn! Let’s make it even better together.

22 September, 2025

Resolution - Coveo for Sitecore - {"message":"Parameter 'viewEvent.referrer' is not a valid URI.","type":"InvalidParameter"}

In the previous blog post (Coveo for Sitecore - {"message":"Parameter 'viewEvent.referrer' is not a valid URI.","type":"InvalidParameter"}), I explained about a bad request error when Coveo Analytics requests were sent from Sitecore. 

As per Mozilla developer document, the HTTP Referer request header contains the absolute or partial address from which a resource has been requested. The Referer header allows a server to identify referring pages that people are visiting from or where requested resources are being used. This data can be used for analytics, logging, optimized caching, and morehttps://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Referer

Even though, the android-app://com.google.android.googlequicksearchbox/ referrer is a valid URI, Coveo needs a URL. All URLs are URIs, but not all URIs are URLs; a URL is a subset of the broader URI category, which also includes URNs (Uniform Resource Names). Since Coveo support mentioned that they cannot change the logic at their side to accept the URI, we are left out with an option to override it in the source. 

As this is a Coveo Hive implementation, modifying the Coveo UA library script is not possible. When the View analytics is sent using UA library in Hive implementation, there is a section where we can override this value.


Before sending the view analytics data, we checked if the referrer is having problematic referrer, then we will just override it with custom value (like www.google.com as it is from Google app). Once this change is implemented, we were able to see success response instead of bad request from Coveo. 

Even Coveo support is left with only this option as the UA library cannot be updated. 

I hope it can be helpful for the folks in Coveo/Sitecore community. 

22 August, 2025

Coveo for Sitecore - {"message":"Parameter 'viewEvent.referrer' is not a valid URI.","type":"InvalidParameter"}

Recently, one of our client reported frequent error logs from Coveo. It was mostly for the Coveo view analytics request which returns bad request with the below error. 

View Request: /coveo/rest/ua/v15/analytics/view?visitor=

{"message":"Parameter 'viewEvent.referrer' is not a valid URI.","type":"InvalidParameter"}

We enabled the Coveo for Sitecore debug logs in \App_Config\Include\Coveo\Coveo.SearchProvider.Custom.config file. 


By enabling the debug log, it spit a huge amount of data to analyze. Upon checking one of the failure, we found the request header Referrer was having the URL with the correct format. 


We also found that user agent was always Android and that too version 9 or 10 which is pretty old. Either someone is using an old phone or someone is sending malicious requests using old user agents. 

When reaching out to Coveo support, they provided an assembly which can spit the payload also in the logs. After placing the assembly, we analyzed the payload and the referrer attribute was having Google App user agent. This referrer attribute which is in Coveo payload is different from the actual request. 

"referrer":"android-app://com.google.android.googlequicksearchbox/"

This is not having a right URL format so Coveo is responding with bad request. This Coveo payload referrer is injected by Coveo JavaScript framework. 

We do have Cloudflare as our edge layer but adding a rule to transform the referrer header may not work for Coveo payload. All the data is sent to Coveo support for further analysis. Waiting for their response. 

Regarding this referrer URL, Google provides the following information.

The android-app://com.google.android.googlequicksearchbox/ referrer indicates that a user has arrived on your site from the Google Search app on an Android device.
  • This happens when a user clicks a search result link from within the Google Search app, rather than from a standard web browser.

  • The android-app:// URI scheme identifies the referrer as an Android application.

  • com.google.android.googlequicksearchbox is the unique package name for the Google Search app on Android.

  • This traffic is essentially organic search traffic, and should be classified as such in your analytics.

blockquote { margin: 0; } blockquote p { padding: 15px; background: #eee; border-radius: 5px; } blockquote p::before { content: '\201C'; } blockquote p::after { content: '\201D'; }