Skip to content

How keyword matching works

Google does not pass the search term to your website, so there is no field Keyword Hero could read. It reconstructs the term instead, by combining sources that each know part of the answer.

Google Analytics knows the session: when it started, on which landing page, from which device and country, and what the visitor did afterwards. It does not know the search term.

Search Console knows the search: which queries showed which of your pages, on which position, on which day, on which device, in which country, and how many clicks followed. It does not know what any of those visitors did next.

Both describe the same clicks from different sides. Keyword Hero finds, for each organic session, the query that fits it.

Search Console data is aggregated, and it leaves out rare queries. Keyword Hero adds data it collects itself, such as crawls of your website and of Google’s search result pages, and other sources of search behaviour. The more sources agree, the more certain a match is.

Keyword Hero combines several such sources, and applies statistical models trained on your own history. That is why the match rate improves over the first weeks: the models learn your website.

If no keyword reaches the required certainty, the session keeps a label instead of a guess, such as (not provided). A wrong keyword is worse than no keyword, because it would attribute conversions to a search that did not produce them. Keyword labels lists the labels.

The matching depends on complete inputs:

  • A Search Console property for every hostname of the website. See Add Search Console.
  • Google Analytics data as Google collected it, without rules that rewrite organic sessions.
  • Volume. Larger websites match more precisely, because there is more data to match on.