Tracking Site Search without Query Parameter in Google Tag Manager
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 which contains the search term but not the query parameter:

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:
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 check for the search URL and whenever it finds one, it append the query parameter to it and then return 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 its find a match, otherwise it returns ‘false’
Syntax: RegExpObject.test(string to be searched)
pagePath is the variable which 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 return 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:

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:

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:

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’:

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
Other articles on specialized tracking in Google Analytics
- Ecommerce Tracking in Google Analytics – Tutorial
- Event Tracking via Google Tag Manager – Tutorial
- Event Tracking in Google Analytics – Tutorial
- Guide to Google Analytics Store Visits Tracking
- Offline Conversion Tracking in Google Analytics – Tutorial
- Implementing E-Commerce Tracking via Google Tag Manager
- Tracking Virtual Pageviews in Google Tag Manager – Tutorial
- YouTube Video tracking via Google Tag Manager
- How to Use Keyword Hero to Reveal Not Provided Keywords in Google Analytics
- Virtual pageviews in Google Analytics – Tutorial
- Google Analytics and YouTube Integration Tutorial
- Google Analytics for Facebook Tutorial
- Google Analytics Cross Domain Tracking Explained Like Never Before
- Using multiple Google Analytics tracking codes on web pages
- The one thing that you don’t know about PayPal.com and the referral exclusion list
- Calculated Metrics in Google Analytics – Tutorial
- Creating your own Google Analytics Tag Auditing System
- Tracking Site Search without Query Parameter in Google Tag Manager
- Tracking true referrals in Google Analytics when using PayPal and other payment gateways
- Phone Call Tracking in Google Analytics and Beyond
- Learn to Track Qualified and Won Leads in Google Analytics
- Introduction to Postbacks in Google Analytics
- Google Analytics Recurring Revenue and Subscriptions Tracking Tutorial
- How to track the impact of cookie consent on website traffic in Google Analytics
- Tracking Offline Conversions in Google Ads
- Implementing Scroll Tracking via Google Tag Manager
- Scroll Tracking via Scroll Depth Trigger in Google Tag Manager
- Site Search Tracking In Google Analytics Without Query Parameters
- Video Tracking via YouTube Video Trigger In Google Tag Manager
- How to Correctly Measure Conversion Date & Time in Google Analytics
- Google Analytics Social Tracking – Twitter, Facebook, Google Plus and LinkedIn
- Google Analytics Cross Domain Tracking (ga.js)
- Tracking Twitter and Linkedin Social Interactions in Google Analytics
- Creating Content Group in Google Analytics via tracking code using gtag.js
- Tracking Site Search in Google Analytics with Query Parameters
- Understanding site search tracking in Google Analytics
- Creating and Using Site Search Funnel in Google Analytics
- Learn to Setup Facebook Pixel Tracking via Google Tag Manager
- Setting up & Tracking AMP Pages in Google Analytics
- Setting up Sales Funnel across websites in Google Analytics
- Regular Expressions (Regex) for Google Analytics & Google Tag Manager – Tutorial
Register for the FREE TRAINING...
"How to use Digital Analytics to generate floods of new Sales and Customers without spending years figuring everything out on your own."
Here’s what we’re going to cover in this training…
#1 Why digital analytics is the key to online business success.
#2 The number 1 reason why most marketers are not able to scale their advertising and maximize sales.
#3 Why Google and Facebook ads don’t work for most businesses & how to make them work.
#4 Why you won’t get any competitive advantage in the marketplace just by knowing Google Analytics.
#5 The number 1 reason why conversion optimization is not working for your business.
#6 How to advertise on any marketing platform for FREE with an unlimited budget.
#7 How to learn and master digital analytics and conversion optimization in record time.
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 Beyond
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.
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 which contains the search term but not the query parameter:
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:
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 check for the search URL and whenever it finds one, it append the query parameter to it and then return 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 its find a match, otherwise it returns ‘false’
Syntax: RegExpObject.test(string to be searched)
pagePath is the variable which 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 return 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:
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:
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:
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’:
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
Other articles on specialized tracking in Google Analytics
- Ecommerce Tracking in Google Analytics – Tutorial
- Event Tracking via Google Tag Manager – Tutorial
- Event Tracking in Google Analytics – Tutorial
- Guide to Google Analytics Store Visits Tracking
- Offline Conversion Tracking in Google Analytics – Tutorial
- Implementing E-Commerce Tracking via Google Tag Manager
- Tracking Virtual Pageviews in Google Tag Manager – Tutorial
- YouTube Video tracking via Google Tag Manager
- How to Use Keyword Hero to Reveal Not Provided Keywords in Google Analytics
- Virtual pageviews in Google Analytics – Tutorial
- Google Analytics and YouTube Integration Tutorial
- Google Analytics for Facebook Tutorial
- Google Analytics Cross Domain Tracking Explained Like Never Before
- Using multiple Google Analytics tracking codes on web pages
- The one thing that you don’t know about PayPal.com and the referral exclusion list
- Calculated Metrics in Google Analytics – Tutorial
- Creating your own Google Analytics Tag Auditing System
- Tracking Site Search without Query Parameter in Google Tag Manager
- Tracking true referrals in Google Analytics when using PayPal and other payment gateways
- Phone Call Tracking in Google Analytics and Beyond
- Learn to Track Qualified and Won Leads in Google Analytics
- Introduction to Postbacks in Google Analytics
- Google Analytics Recurring Revenue and Subscriptions Tracking Tutorial
- How to track the impact of cookie consent on website traffic in Google Analytics
- Tracking Offline Conversions in Google Ads
- Implementing Scroll Tracking via Google Tag Manager
- Scroll Tracking via Scroll Depth Trigger in Google Tag Manager
- Site Search Tracking In Google Analytics Without Query Parameters
- Video Tracking via YouTube Video Trigger In Google Tag Manager
- How to Correctly Measure Conversion Date & Time in Google Analytics
- Google Analytics Social Tracking – Twitter, Facebook, Google Plus and LinkedIn
- Google Analytics Cross Domain Tracking (ga.js)
- Tracking Twitter and Linkedin Social Interactions in Google Analytics
- Creating Content Group in Google Analytics via tracking code using gtag.js
- Tracking Site Search in Google Analytics with Query Parameters
- Understanding site search tracking in Google Analytics
- Creating and Using Site Search Funnel in Google Analytics
- Learn to Setup Facebook Pixel Tracking via Google Tag Manager
- Setting up & Tracking AMP Pages in Google Analytics
- Setting up Sales Funnel across websites in Google Analytics
- Regular Expressions (Regex) for Google Analytics & Google Tag Manager – Tutorial
Register for the FREE TRAINING...
"How to use Digital Analytics to generate floods of new Sales and Customers without spending years figuring everything out on your own."
Here’s what we’re going to cover in this training…
#1 Why digital analytics is the key to online business success.
#2 The number 1 reason why most marketers are not able to scale their advertising and maximize sales.
#3 Why Google and Facebook ads don’t work for most businesses & how to make them work.
#4 Why you won’t get any competitive advantage in the marketplace just by knowing Google Analytics.
#5 The number 1 reason why conversion optimization is not working for your business.
#6 How to advertise on any marketing platform for FREE with an unlimited budget.
#7 How to learn and master digital analytics and conversion optimization in record time.
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 Beyond
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.