Expand my Community achievements bar.

SOLVED

Request suggestions on internal search performance tracking

Avatar

Level 5

Hi,

Request suggestions on the scenarios (Adobe Analytics) that can be used to measure the internal search performance on the website, for example. 

  • How many times user searched before finding what he was looking for.
  • Find the relevancy of search i.e. at what place in the list of results (pagination/load more) user found what he was looking for.

Any other scenarios which are must for an efficient search implementation.

cc: @Jennifer_Dungan @yuhuisg @PratheepArunRaj 

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

For our tracking, I have a few approaches.

 

1. Track "Search Performed"

This is the actual action of searching (submitting the search)

This can actually be from multiple locations (site header, mobile hamburger menu, refine search from the search results page, etc) so I have:

  • a custom event for "search performed"
  • a generic "link name" on the action for the search''
  • and a prop or eVar (Hit expiry) for the "search form used" (I could also do this in the custom link, with a standard prefix to be able to pull out all searches easier)

 

2. Track "Search Result Pages"

Tracking page views is obviously standard, but I have some items that I add when the page is a search result.

First, I have a custom event for "Search Result Page" (this just allows me to better see isolated Search page views without a lot of segmentation), but on top of this, I have multiple dimensions (some of which I combine and parse out using classifications to reduce the number of dimensions I am using; I track things like:

  • the search term
  • the page number of the results
  • the number of results to be shown on the current page (assuming the user can change this from 10 to 25 or 50 items per page, etc)
  • the total results found by the query
  • the sort order of the search
  • any additional filters used in the search (type, category, etc)

All of the above are also tracked with a Hit expiry.

You might be wondering about some of the above, but I can use the Page Number, the Results per Page, and the Total Results to understand how far into the search results people are getting.

 

You may also be wondering why I track the search parameters here and not on the "Search Performed"... and while I could do that, since people can get to search results through more than just actually performing a search (query strings in the URL allow people to link here directly, bookmark, navigate back and forth from results, etc) this is a more "specific" tracking that ensures I don't miss anything.

 

 

Now, IF you need to correlate search terms / other parameters to something like Orders or Cart Additions, you can also set up "duplicate" tracking into Visit Expiry eVar set up as a "Conversion Syntax Merchandising eVar" (https://experienceleague.adobe.com/docs/analytics/implementation/vars/page-vars/evar-merchandising.h...)

 

What this will do is the values will send to Adobe, but they won't actually show up anywhere in the reports until the binding event is triggered, then these values will be stitched by the system into the Product Syntax. So let's say you are trying to correlate Search Terms to your products (what did users search before adding to their cart), then you would set the values of your search terms with a "Cart Add Event" as the binding event. So assuming you are using Products notation when adding Products to the Cart, the search terms will be applied the same way as other merchandising events. I think but am not sure, that if the eVars are set to Visit, they should also stitch to the Purchase for each individual product (I haven't done this exactly, I have a much simpler Conversion Syntax to purchase event setup, as I have a different use for the modeling on our site)

View solution in original post

4 Replies

Avatar

Community Advisor and Adobe Champion

 

  • Searches with zero results (and are they accurate? ie, there is actually no content related to that search vs. the search engine is not able to match content to query)
  • If the site search has filtering capabilities, what filters are visitors commonly using?

Avatar

Correct answer by
Community Advisor

For our tracking, I have a few approaches.

 

1. Track "Search Performed"

This is the actual action of searching (submitting the search)

This can actually be from multiple locations (site header, mobile hamburger menu, refine search from the search results page, etc) so I have:

  • a custom event for "search performed"
  • a generic "link name" on the action for the search''
  • and a prop or eVar (Hit expiry) for the "search form used" (I could also do this in the custom link, with a standard prefix to be able to pull out all searches easier)

 

2. Track "Search Result Pages"

Tracking page views is obviously standard, but I have some items that I add when the page is a search result.

First, I have a custom event for "Search Result Page" (this just allows me to better see isolated Search page views without a lot of segmentation), but on top of this, I have multiple dimensions (some of which I combine and parse out using classifications to reduce the number of dimensions I am using; I track things like:

  • the search term
  • the page number of the results
  • the number of results to be shown on the current page (assuming the user can change this from 10 to 25 or 50 items per page, etc)
  • the total results found by the query
  • the sort order of the search
  • any additional filters used in the search (type, category, etc)

All of the above are also tracked with a Hit expiry.

You might be wondering about some of the above, but I can use the Page Number, the Results per Page, and the Total Results to understand how far into the search results people are getting.

 

You may also be wondering why I track the search parameters here and not on the "Search Performed"... and while I could do that, since people can get to search results through more than just actually performing a search (query strings in the URL allow people to link here directly, bookmark, navigate back and forth from results, etc) this is a more "specific" tracking that ensures I don't miss anything.

 

 

Now, IF you need to correlate search terms / other parameters to something like Orders or Cart Additions, you can also set up "duplicate" tracking into Visit Expiry eVar set up as a "Conversion Syntax Merchandising eVar" (https://experienceleague.adobe.com/docs/analytics/implementation/vars/page-vars/evar-merchandising.h...)

 

What this will do is the values will send to Adobe, but they won't actually show up anywhere in the reports until the binding event is triggered, then these values will be stitched by the system into the Product Syntax. So let's say you are trying to correlate Search Terms to your products (what did users search before adding to their cart), then you would set the values of your search terms with a "Cart Add Event" as the binding event. So assuming you are using Products notation when adding Products to the Cart, the search terms will be applied the same way as other merchandising events. I think but am not sure, that if the eVars are set to Visit, they should also stitch to the Purchase for each individual product (I haven't done this exactly, I have a much simpler Conversion Syntax to purchase event setup, as I have a different use for the modeling on our site)

Avatar

Level 10

In addition to the previous suggestions, we also track the "referring search query" in a separate variable. This provides the internal search terms that drove to a given page or page set.

 

If there is a search results page: The user enters a search term and initiates a search. The user gets a list of search results and clicks on one of the search results links. This, in turn, takes the user to a destination page. We pass the original search term in a variable on that destination page. 

 

If there is no search results page involved: The user enters a search term and initiates a search. This, in turn, takes the user directly to a destination page. We pass the original search term in a variable on that destination page. 

Avatar

Level 5

Thanks everyone for the suggestions, will try to implement these.