Internal search with multiple sets of results

danielwaloe 13-06-2019

Hi everyone.

How do I measure and report this efficiently?

My client has developed a search engine that multiple sets of results, i.e. "Places" and "Websites". (I'll just call them result groups.)

So a search for "doctor" could return:

  • Websites: 32 results
  • Places: 4 results.

Each result, regardless of group, has a title and a topic. "Places" also have a region.

She wants to know:

  1. For any given search term, how many results do people get—both in total and in each group?
  2. Which results do people click on?

So far, it's no problem to just create group-specific eVars, e.g.:

  1. Search Term
  2. Number of Website Results
  3. Number of Place Results
  4. Website Name
  5. Website Topic
  6. Place Name
  7. Place Topic
  8. Place Location

In this case, event "Search" would be reported using eVar1–3. Event "Result Click" would be reported using either eVar4–5 or eVar6–8,

But my client may want to expand the search engine with more groups, such as "Videos" or "Products", so I'd like to avoid filling up Analytics with very similar eVars.

So another solution could be using eVars like:

  1. Search Term
  2. Result Group
  3. Number of Results
  4. Result Name
  5. Result Topic
  6. Result Region

In this case, "Search" would be reported using eVar1–3. Event "Result Click" would be reported using eVar2,4–6.

In this case I'm also nto sure if it's possible to record total number of search results in a single beacon...

What would you do?

Mark Solution

Are these answers useful?
Help other community members by marking useful answers as accepted.

Accepted Solutions (0)

Answers (1)

Answers (1)

ursboller
MVP
13-06-2019

I guess there is not "the one and only" solution what helps me a lot is thinking about the "tables"/"visualizations" I want to create and then look what data I need to get there. everything mainly depends how important the search is ...

searches

since the main goal is to report the search term and the according number of results (per category), I would use the following data

eVar1 - search term

listProp1 (traffic variable with list support, not listVar) - name and number per category ( eg. "websites:32,places:4")

event1 - total search results

event 2&3 - search results per category (if you really need them)

event4 - search counter (one per search)

using this setup allows a lot of reporting like what search terms (eVar) had what results (events) and averages (calc metrics on events). you can even break down by category.

results

focus on the result item and think of sending all information in a single eVar (or 2) and then use "classification" to get single items out. I would use those elements:

eVar2 - combined string of search result (eg. "website|nameXY|topicXY|" or "place|nameYZ|topicYZ|regionYZ"

if you want you can seperate eg. the first part in amother eVar...

event5 - counter for search clicks

event6 - click position within category (to calculate average position clicked, optional)

this setup is both flexible and allows to report on a lot of things. the difference to your proposal is mainly to concatinate the single eVars in one string and then use classification to get the single items...

hope that helps