Cardinal Path’s response to COVID-19 Cardinal Path is sharing all we know to help marketers during COVID-19.  Learn more.

Urchin Analytics is a great product if you need a web analytics product, but can’t use a free product like Google Analytics for one reason or another. It provides most of the functionality found in Google Analytics, and is not as expensive as other paid solutions. However, one of the features I find lacking in Urchin is a built-in internal site search report. A site search report would be invaluable in helping you

  • identify what people are searching for on your site
  • the top search terms
  • which search terms lead more to conversion and
  • help you to identify potential keywords you should be bidding on or optimizing for in your SEO efforts

If your search results page contains the search terms in the query string, then you could use the “Page Query Terms” report found in the “Content Optimization” Section under “Content Performance”. But, this will only give you a count of how many times that search term was used. It’s missing very important information like

  • if visitors ended up buying anything
  • if visitors completed other goals on your website

What if I told you there is a way to build a better site search report? Well, that’s the beauty of Urchin. More often than not, you can build the report you are looking for!

Using an existing datamap table, some filters, and a custom report, I was able to create a custom site search report. The result? A report on

  • all search terms used and how many times it was used
  • how many transactions were completed by visitors who used a specific search term
  • the total revenue generated by visitors who used a specific search term
  • the number of times goals 1-4 were completed by visitors who used a specific search term

Some things to note about this custom report:

  1. Unlike Google Analytics site search report, it doesn’t have any attribution model. So if a visitor uses 3 search terms in one visit then completes a purchase for $10, all 3 search terms would be credited with 1 transaction, and $10 in revenue. Thus, the “totals” numbers have no significant meaning. In GA, only the last search term before conversion gets credited.
  2. It would be great if you could see exactly what products a visitor bought, but unfortunately, there’s no way to do that. Perhaps with Urchin 7, this might be possible.

If you want to build this report yourself, here’s what you need to do. Note that the paths in these steps are relative to your Urchin installation directory.

    1. Copy the file “lib/reporting/languages/en-US.txt to “lib/custom/languages/”
    2. Add the following lines to the en-US.txt file you copied over. Be sure to use a tab between the ID and text. Otherwise, your language file won’t work! Also, if the following numbers already exist, you’ll need to use other numbers.946 Site Search
      947 Site Search
      948 Keywords
    3. Copy the folder “lib/reporting/profiletypes/Default” to “lib/custom/profiletypes/site-search”
    4. In the “site-search” directory, add the following line to the default.rs2 file under the report “S1304” (the “Top Content” report)S1332 2 0 946 #FFBC46 #FFD895 947 – 948,3,8,7,7 10,20,20,40,20 14 $A,5,15,19,28 – 4 3,4 – – 6 – – – 2 $A /search

      Note, you’ll have to update the fields S1314 to be a unique report ID and the numbers 946, 947, 948 to reference the entries in your custom dictionary

You’ll have to adjust the Extract A value to match your search results page URL, and replace the “w” in Extract B with the query term that contains the search keywords. For example, if your search results page were “/results?terms=keywords”, you would adjust the values to

Extract A – ^/results
Extract B – (^|&)terms=([^&]*)

  • Either create a new profile with the “site-search” profile type, or update an existing profile to use the profile type. If you are using an existing profile, you’ll need to re-process the historical data to get the search terms.


Now, there are couple drawbacks to my solution. The main one being that the report will not consolidate entries in some cases. If you look at the two screenshots for the search terms report versus the page query terms, you will see that there are a total of 449 unique terms reported by the search terms report, but only 443 unique terms reported by the page query terms report. The differences are caused by

  • upper case versus lower case and
  • URL encoding differences. Sometimes spaces appear as “+”, other times as “%20”. The “Page Query Terms” report consolidates this, but mine will not.

You will also want to keep a profile that uses the “default” profile type. The reason is the custom report modifies the “Click Thru” table which is used to populate the “All Navigation” report. With the updated datamap, the “All Navigation” report doesn’t function correctly anymore.