Site search in GA4: what the search events tell you
GA4 logs the term a shopper searched for, through view_search_results or a search event you send. It has no results count and no traffic source on the event, so zero-result searches and acquisition need extra work.
By Joris van Huët, Founder & CEOPublished 5 min read
GA4 records what shoppers type into your search box and, on its own, nothing about whether you had an answer. Its Site search event, view_search_results, fires each time a search results page loads with one of five query parameters in the URL (q, s, search, query or keyword), and it fills the Search term dimension (Google Analytics Help). The documented parameters don't include a results count, so zero-result searches need one parameter you add yourself, and nothing on the event says which channel sent the shopper.
What does GA4 record when someone searches?
Two events feed one dimension:
view_search_resultsis enhanced measurement. Google says it fires each time a user is presented with a search results page, as indicated by a URL query parameter. That makes it a count of results-page loads. It sendsunique_search_termonly when the term is new in that session.searchis the recommended event you send yourself. Google's reference says to log it when the user has performed a search, and its one documented parameter issearch_term, the term that was searched for.- Both fill the Search term dimension, which Google says is populated by sending
search_termwith either event.
Shopify's own Search & Discovery reports count differently. They show activity on the search results page and leave out predictive search (Shopify Help Center). Two tools, two definitions.
Three checks before you trust a term list:
- Search your own store once and read the address bar. If it carries q, s, search, query or keyword, GA4's default catches it. If not, add your parameter in the Site search advanced settings: Google says you can configure the event to look for other URL query parameters.
- Confirm the switch is on. In Admin, open your web data stream and check Enhanced measurement.
- Put the last 30 days of GA4's Search term next to Shopify's Searches by search query, which covers the last 30 days by default. The same terms should lead both lists. If GA4 shows far fewer, your search URL isn't being read, or shoppers are using predictive search.
How do you read zero-result searches?
GA4's events carry the term, not the result count, so GA4 alone won't list the searches that found nothing. Two ways in:
- Shopify. The Search & Discovery app reports searches with no results.
- GA4. Add a
results_countparameter to your search event. Shopify's Liquid search object exposes the number of results, up to a maximum of 1,000 (Shopify developer documentation). Register the parameter as an event-scoped custom dimension; Google says reporting on it starts 24 to 48 hours after you create it.
Then sort the zero-result terms by volume into three piles: things you sell under another name or spelling, things you don't sell, and things that aren't products, such as your return policy. Baymard Institute's 2026 benchmark of 170+ sites and apps finds issues with non-product searches on 66% of the sites it tested, abbreviation and symbol searches on 54%, use-case searches on 43% and exact searches on 12%. A list full of abbreviations, symbols and policy questions sits where more than half of the sites Baymard tested have issues. Baymard's earlier analysis of no-results pages found that nearly 50% of sites fail to give shoppers effective ways to recover from a search that yields no results.
What the list tells you:
- Pass: the top zero-result terms are products you don't sell, and your no-results page offers a category or an alternative search.
- Fail: the top terms are products you carry under another name, spelling, abbreviation or use. That is a findability problem. Add the synonym or a redirect, then compare the zero-result share in the next full week.
What do search terms not tell you about acquisition?
The event has no source or campaign field. Channel belongs to the session: Google defines the Session default channel group as the default channel group associated with the start of a session. Put Search term next to it in an exploration and you see who searched for what. You don't see what the channel caused, because searching happens after arrival and shoppers choose whether to search. A brand-name search on your own site shows a shopper who already knew the name, not which channel told them.
Use the list for demand: what to stock, rename and redirect. To learn what a channel caused, switch it off for a slice of your audience and compare orders, as in confirm a weak channel with a holdout test.
Sources, 30 September 2026: Enhanced measurement events (Google Analytics Help, 2026); Recommended events reference: search (Google for Developers, 2026); Dimensions and metrics (Google Analytics Help, 2026); About custom dimensions and metrics (Google Analytics Help, 2026); Shopify Search & Discovery reports and analytics (Shopify Help Center, 2026); Liquid search object (Shopify developer documentation, 2026); Ecommerce Search UX 2026: 8 Search Query Types (Baymard Institute, updated 2026); Search UX: improving No Results pages (Baymard Institute, updated 2025). Baymard's figures come from its own usability benchmark, not an independent audit.
Related answers
Frequently asked questions
How do I see site search terms in GA4?
Turn on Site search under Enhanced measurement for your web data stream, then use the Search term dimension in a report or exploration. GA4 fills it from the search_term parameter of the view_search_results event, or of a search event you send yourself.Why are my GA4 search terms empty?
One cause is a search URL whose query parameter GA4 isn't watching. By default it looks for q, s, search, query or keyword. Open your results page, read the address bar, and add your own parameter in the Site search advanced settings if it differs.Does GA4 report searches with no results?
Not by itself. The documented parameters are the term, optional extra query keys and a flag for terms that are new in the session, with no results count. Shopify's Search & Discovery reports list searches with no results, or you can send a results_count parameter yourself.
Go deeper: Causal attribution, explained.
Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.
Keep reading
Terms in this article
- AnalyticsAnalytics is the systematic computational analysis of data. It reveals customer behavior and measures campaign performance.
- AttributionAttribution identifies user actions that contribute to a desired outcome and assigns value to each. It reveals which marketing touchpoints drive conversions.
- Causal AttributionCausal Attribution uses causal inference to determine which marketing touchpoints genuinely cause conversions, not just correlate with them.
- Google AnalyticsGoogle Analytics is a web analytics service that tracks and reports website traffic.
- Holdout TestA holdout test is an experiment where a portion of the audience does not see a campaign. This measures the campaign's true incremental impact.
- MetricsMetrics are quantifiable measures that track and assess business process status. They evaluate campaign performance and inform attribution analysis.
- SessionA Session is a group of user interactions with your website within a given timeframe. It can include multiple page views, events, and transactions.
- UTM ParametersUTM Parameters are URL tags marketers use to track campaign effectiveness across traffic sources. They provide data for accurate campaign tracking and attribution in analytics platforms.