Hidden search terms in Google Ads: block before the click

Google charges you for clicks on search terms it never shows you. There is nothing to clean up afterwards, because you cannot see what to exclude. The only working answer is defence before the impression, and in Russia the same problem wears a Yandex face.

Google charges you for clicks on search terms it never shows you. The click happened, the money left the account, and the query that triggered it is missing from the report. Google calls this a privacy threshold: terms without enough search volume are simply not listed. Whatever the label, you are paying for traffic you cannot inspect, and you cannot exclude what you cannot see.

That single fact breaks the habit most advertisers run on. Cleaning up search terms after the fact stops being a complete defence, because part of the battlefield is dark. The only working strategy is defence before the impression: closing the vocabulary you do not want before the system gets a chance to match on it.

This part of Google Ads practice transfers directly to Russia. Google does not serve ads to users in Russia, so a company selling here runs Yandex Direct instead, and Direct has its own layer of matching that reaches beyond your keywords. The methods below were built for Google’s blind spot and then applied there.

Why cleaning up after the fact stops working

The familiar keyword hygiene loop is reactive. You open the search terms report, find the junk, add it to negatives, repeat next week. In Google the loop is cut, because part of the terms will never be shown to you. Traffic you cannot inspect cannot be cut on the evidence of a report.

The principle that follows turns the approach around. It is cheaper and faster to forbid the system in advance from showing your ads on unwanted words than to keep fine-tuning negatives on impressions that have already happened. Preventive negatives do not cancel monitoring of the visible part. They move the centre of gravity to the preparation before launch, closing broadly the vocabulary that the system might consider close to your keywords.

In Yandex Direct the reasoning holds for a different reason. The search query report there shows more of the long tail than Google’s, so reactive cleanup recovers more. What you cannot switch off is autotargeting. It is on in every search campaign, it matches on the meaning of your ad rather than on your keyword list, and it reaches queries no keyword of yours ever contained. Restricting that reach before launch is the same job as building negatives against a blind spot.

Where the expensive impressions hide: competitor and vendor names

The most expensive slice of invisible traffic is impressions on the names of competitors and vendors. Autotargeting readily attaches your ads to branded queries of your neighbours in the niche, and those names never enter a keyword set built around category terms. A separate process is needed.

It runs like this. In a keyword collection tool, export the search results of Google and Yandex for your target keywords, and export competitor ads from Yandex Direct. From those exports, assemble a single list of unique domains. From each domain, pull the meta tags: the page title, the first-level heading and the description. From the meta tags, extract the core industry words, the ones without which a text does not belong to your topic, and keep only the domains where those words appear. That confirms the domain belongs to your industry.

Then search the meta tag texts for company names written in Russian and in English. A regular expression pulls out capitalised words, Latin script and Cyrillic handled separately, with the letter ё accounted for. Sort both lists and strip out what is already known: your own brands, place names, high-intent modifiers such as “buy” or “price”, general industry vocabulary. What remains is, with high probability, the competitor and vendor names you were looking for. Add them to negatives. Names of two or more words go in phrase match, never in broad match, otherwise you exclude the individual words on their own and lose legitimate queries.

For a company selling into Russia from abroad this step has a twist. Your competitors in the Russian auction include your own distributors and resellers, whose sites carry your brand in the meta tags. They will pass the industry filter, and they should: the auction does not care that you share a product. Decide whether you compete with them on brand queries or leave that traffic to the channel, and put the answer into the negative lists.

Lock down autotargeting and say who you are

Alongside the names, a set of measures against branded impressions through autotargeting. Fix the word forms of brands and vendors in both languages. In autotargeting, leave only impressions on queries with an explicit mention of your brand. Lower the bid on autotargeting separately from the keywords. Exclude every competitor domain in both its Russian and its English spelling.

And name your own brand in the ad and on the landing page: in the headline, the description, the first-level heading and the meta tags. Autotargeting reads the ad to understand who you are, and a text that never says your name gives it nothing to anchor on.

In Yandex Direct this maps onto specific controls. Autotargeting there has a filter by brand mention: queries that name your brand, queries that name competitor brands, and queries with no brand at all. Switch off the competitor-brand category and, where the campaign is about your own name, leave only the own-brand category on. The transliterated Cyrillic spelling of a foreign brand belongs in the ad text for the same reason: a Russian-speaking user types the brand as they hear it, and the system should recognise that spelling as yours.

Negative lists by category, not one pile

Collecting competitors is half the job. They have to be laid out correctly. The naive move is to dump everyone into one shared negative list for the account or the group. It hits a wall: negative lists have a length limit, and each product category has its own set of non-repeating competitors and vendors. Squeezing everyone into a single list exhausts the limit before the necessary vocabulary is covered.

The right cut follows the same logic as the keyword set itself: by product category or semantic cluster. Each category gets its own negative list containing only the competitors relevant to it. By hand on a large account this is not worth doing. The process is automated, for example in Power Query, where for each cluster an exclusion list is assembled from the competitors that match it. Each list stays compact and fits within the limit.

Yandex Direct measures negative keywords by total length at the campaign level and again at the group level, so the wall is the same shape. Add the second alphabet and it arrives sooner: every name that exists in Cyrillic and Latin script counts twice. Category lists are how a bilingual negative set stays inside the limit without dropping names.

The other side: collect demand widely and measure it in stages

Defence narrows the corridor, but the less you depend on the black box, the calmer the account. A keyword set collected in advance and measured carefully helps: when you know the real demand, there are fewer random matches on invisible vocabulary.

Frequency is worth collecting in stages rather than all at once. If a phrase has zero base frequency, its exact frequency and its frequency refined by word form and word order will be zero too, so measuring them is pointless. First collect base frequency for the whole list and filter out the zeros. On the remainder, collect exact frequency and filter out the zeros again. Only on the narrow remainder collect the strictest measure. This saves time and reduces the number of captchas during parsing, because phrases known to be empty are dropped at every step. The larger the share of zero phrases, the larger the gain.

In Russia the tool for this is Yandex Wordstat, and its operators correspond to the three stages: a bare phrase for base frequency, quotation marks to fix the word count, an exclamation mark and square brackets to fix word form and order. Anyone who has parsed Wordstat at scale knows the captcha problem first-hand.

Harvest the visible part regularly

The mirror move to preventive defence. Since part of the queries is hidden, the visible part becomes more valuable, and it should be harvested while it is visible. The account’s search query history keeps accumulating wordings, some of which are not covered by the current keywords.

The technique: once every one or two weeks, review this statistic, pick out new target wordings and add them to the campaign as separate keywords. That way you gradually take over demand that would otherwise remain uncovered. In practice, with systematic application over months, the growth in leads came in jumps rather than smoothly: another batch of new keywords would suddenly open access to a noticeable additional volume. This is an observation across projects, not a guarantee for every cycle, but the direction is right.

For a foreign company this harvest is also where the language surprises live. Russian users misspell foreign brands, transliterate them in several ways, and mix Latin and Cyrillic inside one query. None of those wordings will be in a keyword set built by a translator. They show up only in the query history, and only if someone reads it in Russian.

What to do against hidden search terms

  • Accept that part of the queries will stay invisible, and move the centre of gravity to defence before the impression.
  • Collect competitor and vendor names by parsing search results and meta tags, in both alphabets, and add them to negatives, multi-word names in phrase match.
  • Restrict autotargeting to explicit mentions of your brand, switch off the competitor-brand category in Yandex Direct, and name your brand in the ad and on the landing page, transliteration included.
  • Lay competitors out by category in separate lists, automated in Power Query, so you do not hit the length limit.
  • Collect frequency in stages, and every one or two weeks harvest new keywords from the query history.

Hidden search terms are the price of the algorithm’s convenience. The system reserves the right to show you a little wider than you asked, and hides part of that width. Arguing with it is useless. But the corridor it operates in is one you narrow yourself, before the money has left, not after. That is how I set up Yandex Ads for companies entering Russia: the negative lists and the brand restrictions exist before the first impression.

If you suspect that budget is leaking through invisible queries, in Google at home or in Yandex in Russia, bring the account to a free review. I will show where to narrow the corridor first.

Frequently asked questions

Does Yandex Direct hide search terms the way Google Ads does?

Less so. The search query report in Yandex Direct shows more of the long tail than the Google report does, so a reactive cleanup recovers more there. The reason the preventive approach still matters is autotargeting: it is switched on in every search campaign and matches on the meaning of your ad, so it reaches queries that your keywords never contained. Blocking competitor names and restricting brand categories before launch keeps that reach inside the corridor you chose.

Why do competitor and vendor names need a separate collection process?

Because they never show up in a normal keyword set. You collect keywords around your category terms, and a competitor's brand name is not a category term. Autotargeting, on the other hand, happily attaches your ad to a query that names a neighbouring brand. So the names have to be mined from search results and competitor sites, checked against industry vocabulary, and added as negatives, with multi-word names in phrase match.

Why not put every competitor into one negative keyword list for the whole account?

Negative lists have a length limit, and each product category has its own set of competitors and vendors that do not repeat across categories. One shared list fills up before it covers the vocabulary that matters. The working pattern is a separate list per category or semantic cluster, containing only the competitors relevant to it. On a large account this is automated, for example in Power Query, so each list stays compact.

We sell into Russia from abroad. What is different for us?

Two alphabets and a mandatory autotargeting layer. Competitor names, your distributors' names and your own brand exist in Cyrillic transliteration as well as in Latin script, and both spellings need to be in the negative lists or in the ad, depending on whose name it is. Since Google does not serve ads to users in Russia, this work happens in Yandex Direct, where autotargeting cannot be removed from a search campaign and has to be restricted instead.

Sources

Andrey Belokrylov
Andrey Belokrylov

Independent marketing strategist and digital marketer. 10+ years, 100+ projects, from Marriott to small restaurants. I write about how Russian customers decide and how to run Yandex, VK and Avito without wasting the budget. More about me

From reading to doing

Let's look at your project

Send a link. In 30–40 minutes I'll show where the budget leaks, where Russian customers drop off, and what to fix first. Honest, even if we never work together.