A couple years ago the folks at Omega Digital Media and GA Experts collaborated on a filter to combine the actual search term (say, “size 12 men’s running shoes”) with the bidded term (say, “mens running shoes”). I was replying to a post on the Google Analytics Help Forum last year and wanted to reference the filter settings, but couldn’t find the original post, so I’ve decided to write my own. Original credit for the idea goes to Jim Newsome at Omega. Read on for the details!
Tracking Actual Search Terms with a Single Filter in Google Analytics
We’re going to use an advanced filter that looks for the actual search term string in the “referral” portion of the utm.gif hit and copy it into the user-defined field. Note: this will only work if you are not already setting user-defined using the setVar() method. If you are setting user-defined, simply push the actual term into another field, like “Java Enabled”, which is a waste of good database space in my opinion.
| Field A extract field:
| (this is the “utmr” value of a utm.gif hit – if there was a referral, then the first utm.gif hit of the session will populate this field)
|Field A extract pattern:||(?|&)(q|p|query|encquery|s|qt|terms|kw|qs|wd|w|text)=([^&]*)|
|Field B extract field:||medium|
|Field B extract pattern:||cpc|ppc|
| (this ensures we only run this filter if the medium is cpc or ppc – we don’t want organic or other mediums)
|Output to field:||User-Defined|
|Field A required:||yes|
|Field B required:||yes|
Uses for this actual keyword to the bidded term filter
- Identify new terms for phrase and exact match buys
- Identify terms that should be negatively matched
- Determine the length of the long-tail for a given purchased keyword
Why do I like this filter over the other filters that modify the actual keyword field? The reason is simple: don’t mess with the keyword field! If you do, in many situations you’re going to see data errors. It also makes easy drill-down much harder. If you want more powerful CPC and SEM analysis, consider using Urchin 6 in conjunction with your Google Analytics – all it takes is a couple extra lines in your ga.js tag and setting up an Urchin server (that part isn’t so easy).