Google Tag Manager Search Tracking without Query Parameter

This article is in conjunction with the article Understanding site search tracking in Google Analytics where I introduced the concept of ‘site search tracking’ in Google Analytics and also introduced ‘GET based’ and POST based’ search engines.

Following is an example of a search page URL that contains the search term but not the query parameter:

search url

Today I am going to show you, how to set up site search tracking in Google Analytics via Google Tag Manager when the search term is present in the search page URL but without query parameter.

Follow the steps below to set up Google Tag Manager Search Tracking without Query Parameter

Step-1: Perform a search on your website and then note down the request URI.

For example, if the search URL is:

https://www.optimizesmart.com/search/enhanced+ecommerce+tracking

Then the request URI would be:

/search/enhanced+ecommerce+tracking

Step-2: Convert the request URI into a JavaScript based regular expression.

So in our case the regex equivalent of /search/enhanced+ecommerce+tracking would be: 

\/search\/(.*)

You can test this regex via regex101.com to confirm its validity:

To learn more about regular expressions (or regex), read this article: Google Analytics and Google Tag Manager Regex (Regular Expressions) Guide

Step-3: Create and test the JavaScript function which checks for the search URL and whenever it finds one, it appends the query parameter to it and then returns the modified URI:

function() {
  var regex = /^\/search\/(.*)/;
  var pagePath = '/search/enhanced ecommerce tracking/';
  if(regex.test(pagePath) 
  {
  var searchTerm = regex.exec(pagePath)[1];
  var NewUri = "/search/?s=" + searchTerm;
  return NewUri;
  }
  return false;
}

Here,

regex’ (as in var regex) is a regular expression object which is used to store a regular expression.

Both ‘test’ and ‘exec’ are the methods of the ‘regex’ object.

test’ method (as in regex.test) test for a match in a string.

It returns a boolean value: ‘true’ if it find a match, otherwise, it returns ‘false’

Syntax: RegExpObject.test(string to be searched)

pagePath is the variable that is used to store the request URI of the page which loads into a user’s web browser.

exec’ method (as in regex.exec) also test for a match in a string.

But unlike ‘test’, it returns the array which contains the matched text, if it finds the match.

Otherwise, it returns NULL.

Syntax: RegExpObject.exec(string to be searched)

‘exec’ method returns an array of all matched text.

So for the regex ^\/search\/(.*) and pagePath = ‘/search/enhanced ecommerce tracking/’

The regex.exec(pagePath) = [‘/search/enhanced ecommerce tracking/’, ‘enhanced ecommerce tracking/’];

The regex.exec(pagePath)[0] = [‘/search/enhanced ecommerce tracking/’];

The regex.exec(pagePath)[1] = [‘enhanced ecommerce tracking/’];

So when we use regex.exec(pagePath)[1] we can extract the search string from the request URI.

The ‘searchTerm’ variable is used to store the search term extracted from the request URI.

The expression ‘“/search/?s=” + searchTerm;’ is used to append ‘/search/?’ and the query parameter ‘’s’ to the search term.

Basically, we are concatenating two strings here using the ‘+’ operator.

If you are new to JavaScript then read this article ‘Beginners guide to JavaScript for Google Analytics

The ‘NewUri’ variable is used to store the modified URI (the one which contains the query parameter).

Step-4: Replace the ‘pagePath’ variable we created above with {{Page Path}}.

So now the function will look like the one below:

function() {
  var regex = /^\/search\/(.*)/;
  if(regex.test({{Page Path}})) 
  {
  var searchTerm = regex.exec({{Page Path}})[1];
  var NewUri = "/search/?s=" + searchTerm;
  return NewUri;
  }
  return false;
}

Here,

{{Page Path}} is a built-in variable in Google Tag Manager which returns the request URI of the page which loads into a user’s web browser.

Step-5: Create a new Custom JavaScript variable in GTM and copy-paste the function we created above there:

google tag manager search tracking
add field button

Step-6: Edit the tag which you use to deploy Google Analytics pageview, navigate to the section named ‘Fields to set’ and then click on the ‘Add field’ button:

Step-7: Set ‘page’ field to ‘{{Append query parameter to search pages}}’ and then save the tag:

page field

Step-8: Preview and publish your container.

Step-9: Open Google console, switch on GA debugger and then navigate to the ‘console’ tab.

Step-10: Now perform a search on your website and check the ‘page’ field in the GIF request:

gif request

This shows that the request URI for search pages are successfully being re-written.

Step-11: Configure the site search settings in your Google Analytics reporting view i.e. set the ‘Site Search Tracking’ toggle button to ON and enter your query parameter in the text box under ‘Query Parameter’:

site search tracking

Step-12: Perform a search on your website and then after 20 or so minutes, check your ‘site search’ reports in GA for the new data.

Related Article: Creating and using Site Search Funnel in Google Analytics

  1. How to see Organic Search Keywords in GA4 (Google Analytics 4)
  2. Google Analytics Ecommerce Tracking Tutorial
  3. Google Tag Manager Event Tracking Tutorial
  4. Google Analytics Event Tracking Tutorial
  5. Google Analytics Store Visits Tracking Tutorial
  6. Offline Conversion Tracking in Google Analytics – Tutorial
  7. Ecommerce Tracking Google Tag Manager (GTM) – Tutorial
  8. Tracking Virtual Pageviews in Google Tag Manager – Tutorial
  9. Google Tag Manager YouTube Video Tracking
  10. Google Analytics Virtual Pageviews Tutorial
  11. Google Analytics YouTube Integration & Analysis Tutorial
  12. Google Analytics for Facebook Tutorial
  13. Cross Domain Tracking in Google Analytics – Complete Guide
  14. How to use two Google Analytics codes on one page
  15. How to correctly use referral exclusion list in Google Analytics
  16. Google Analytics Calculated Metrics – Tutorial
  17. Creating your own Google Analytics Tag Auditing System
  18. Google Tag Manager Search Tracking without Query Parameter
  19. Tracking Google Analytics Paypal Referral and other payment gateways
  20. How to Track Phone Calls in Google Analytics 4 – Call Tracking Tutorial
  21. How to track leads in Google Analytics via CRM
  22. Postbacks in Google Analytics Explained
  23. Subscription & Recurring Revenue Analytics in Google Analytics
  24. Track the Impact of Google Analytics Cookie Consent on Website Traffic
  25. Tracking Offline Conversions in Google Ads
  26. Implementing Scroll Tracking via Google Tag Manager
  27. Scroll Depth Tracking in Google Tag Manager – Tutorial
  28. Site Search Tracking In Google Analytics Without Query Parameters
  29. Google Tag Manager Youtube Video Tracking via YouTube Video Trigger
  30. How to Correctly Measure Conversion Date & Time in Google Analytics
  31. Google Analytics Social Tracking – Twitter, Facebook, Google Plus and LinkedIn
  32. Cross Domain Tracking in Google Analytics – Complete Guide
  33. Google Analytics Linkedin & Twitter Tracking
  34. Creating Content Group in Google Analytics via tracking code using gtag.js
  35. Google Analytics Site Search Tracking via Query Parameters
  36. Google Analytics Site Search Tracking Tutorial
  37. Creating and Using Site Search Funnel in Google Analytics
  38. How to add Facebook Pixel to Google Tag Manager
  39. AMP Google Analytics Tracking – Learn to track AMP pages
  40. Setting up Sales Funnel across websites in Google Analytics
  41. Google Analytics 4 Regex (Regular Expressions) Tutorial

My best selling books on Digital Analytics and Conversion Optimization

Maths and Stats for Web Analytics and Conversion Optimization
This expert guide will teach you how to leverage the knowledge of maths and statistics in order to accurately interpret data and take actions, which can quickly improve the bottom-line of your online business.

Master the Essentials of Email Marketing Analytics
This book focuses solely on the ‘analytics’ that power your email marketing optimization program and will help you dramatically reduce your cost per acquisition and increase marketing ROI by tracking the performance of the various KPIs and metrics used for email marketing.

Attribution Modelling in Google Analytics and BeyondSECOND EDITION OUT NOW!
Attribution modelling is the process of determining the most effective marketing channels for investment. This book has been written to help you implement attribution modelling. It will teach you how to leverage the knowledge of attribution modelling in order to allocate marketing budget and understand buying behaviour.

Attribution Modelling in Google Ads and Facebook
This book has been written to help you implement attribution modelling in Google Ads (Google AdWords) and Facebook. It will teach you, how to leverage the knowledge of attribution modelling in order to understand the customer purchasing journey and determine the most effective marketing channels for investment.

About the Author

Himanshu Sharma

  • Founder, OptimizeSmart.com
  • Over 15 years of experience in digital analytics and marketing
  • Author of four best-selling books on digital analytics and conversion optimization
  • Nominated for Digital Analytics Association Awards for Excellence
  • Runs one of the most popular blogs in the world on digital analytics
  • Consultant to countless small and big businesses over the decade