Log in / Create free account🌐 ES☀️

Intermediate training · Module 1 — Advanced Search — search terms, negatives and traffic control

Search term mining: from thousands of rows to ten decisions

⏱️ 11 min read · 🔎 Search 🥷 Scripts · updated on 2026-09-02

🎧 Listen to the lesson · ≈ 5 min🔒 Subscribers only

In short: with 20,000 terms a month, deciding row by row is impossible. Mining works on roots (n-grams), not on terms: export 90 days, group, classify by intent and cost, apply a threshold (3 × your CPA with no conversions) and rescue what does convert. Quarterly mining, a weekly routine, and two weeks' wait before judging what you applied.

At Basic level you learned to read the search terms report row by row. That works until the account grows: with 20,000 terms a month, reading rows is impossible and deciding term by term is useless. Term mining is the method for working at scale: group, classify and decide on patterns, not on rows.

Why doesn't deciding term by term work?

An isolated term almost never has enough data (Module 3 of the Basic level). But a hundred terms sharing one word do: «plumbing course», «plumber course online», «plumbing courses london»... each with 2 clicks; together, 200 clicks and 0 conversions. The right decision is not to negativise 100 terms: it is to negativise «course». Mining is about finding those shared words — the roots — and deciding on them.

How do you mine search terms?

1. Export

Search terms report, last 90 days (for volume), all Search campaigns, with these columns: search term, keyword, match type, campaign, impressions, clicks, cost, conversions, value. Download to Sheets.

2. Split into n-grams

Each term is broken down into its words (1-grams) and word pairs (2-grams). «plumber course online» → plumber, course, online, plumber course, course online. With a text-splitting formula or a pivot table, each n-gram accumulates the cost, clicks and conversions of all the terms that contain it.

3. Sort by cost and read the intent

The 1-gram table sorted by cost is the snapshot of your account: the 50 highest-spending words explain 80% of the money. For each one, the question from the Basic level: is the intent right? The ones that are not (jobs, free, course, second hand, cities where you do not sell, products you do not stock) go onto the negative roots list.

4. Cross-reference with performance

For roots with doubtful intent, the data decides: accumulated cost against conversions. Threshold rule: cost ≥ 3 × target CPA with 0 conversions → negative; with conversions but a CPA twice the target → review the landing page and the ad before cutting.

5. Rescue what converts

The table filtered by conversions > 0 and sorted by conversions shows the winning 2-grams that are not in the account as keywords. Those are added (exact/phrase) to the right ad group — or they justify a new ad group if the intent does not exist yet.

What record should you keep of your decisions?

Column Content
Root (n-gram) course
Terms containing it 143
Cost · Clicks · Conv. €412 · 388 · 0
Intent Training (we do not sell it)
Decision Broad negative, shared list
Level Account
Date · Owner 22/08 · EV

Twenty rows like that are a month of work well done. And the sheet is the record: in six months you will know why every negative is there.

Which patterns show up in every account?

How often should you mine search terms?

Full mining, quarterly (90 days of data). The weekly routine from the Basic level still handles the urgent stuff. And after each mining round, wait two weeks before judging: new negatives change the auctions you enter.

💡 Ninja trick: this method — n-grams, cost-against-CPA thresholds, rescuing what converts — is exactly what runs every night in the Search Query Optimizer (SQONS). You define the scenarios (the next lesson); the script does the mining on the real terms, negativises whatever meets the rules, proposes as keywords whatever converts, and leaves the worksheet filled in. The quarterly manual analysis is still useful for one reason: learning what your market is saying. The rest, let the machine do it.

What you should remember

📎 Sources and further reading

⚠️ Free training with no support. Ninja Scripts support channels (email and Telegram) are only for the use of the scripts, not for Google Ads questions or questions about this training.

Pick up here

← BeforeMatch types in 2026: what really triggers your adsAdvanced Search — search terms, negatives and traffic controlAfter →Negativisation scenarios: rules that decide for you (and how to calibrate them)Advanced Search — search terms, negatives and traffic controlRelacionadaAI Max Analyzer in practice: install it, read the verdict and actAI Max — the black box of automatic Search expansionRelacionadaManagement and access mistakes — and the Basic level exit checklistBeginner mistakes — real anonymised casesRelacionadaChange history, alerts and the 30-minute weekly routineInside Google Ads — reports, columns and segmentsRelacionadaThe search terms report: the weekly routine that pays for the accountSearch I — keywords and match types

Ver el temario completo

🎓
You're reading the Ninja Academy in the open

Create your free account (no card) to save your progress, take the graded quizzes, earn the Basic level certificate and unlock part of the Intermediate and Advanced training.

Create my free account →
🥷

Subscriber feature

This option is part of the Ninja Scripts Suite subscription.

See the subscription →