Log in / Create free account🌐 ES☀️

User manuals · Module 5 — Exact Match Builder

Exact Match Builder manual · Config (four cards, none of them mandatory)

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

📗 This content is the Exact Match Builder user manual, the same one the script writes in the «Manual» tab of its spreadsheet. Here you can search it, listen to it, highlight it and save it to favourites.

Add the keywords paused. YES by default: the keyword is only NOTED in its campaign tab as «Pending» and nothing happens in Google Ads. You decide: ▶ Enable creates it in Google Ads (enabled) and 🗑 Remove discards it for good. With No, the script creates it enabled straight away.

What Claude costs. One call per campaign and day, and only if new terms remain to judge after the filters (60 per call at most, Sonnet model): about $0.01-0.03 per call. Every call is logged in the «Claude» tab with its tokens and cost, and the Dashboard sums up the last 30 days.

🧭 Niches (weekly). On the first run of each week, Claude (Opus model) reads your 90-day search terms, your ad-group structure and your business profile, and paints the «🧭 Niches» tab: search intents your account already receives and does not work well, with their real terms and metrics. Nothing changes in Google Ads: it is information to decide with. Indicative cost: $0.3-0.6 per exploration, logged in the Claude tab.

📊 Keyword Planner. Every niche flagged as NEW is checked against Google's Keyword Planner through the Ninja Scripts API: monthly searches, competition, top-of-page CPC and the 12-month trend, for the campaign's country and language. Only ideas with 10+ searches a month get in; nothing is made up. Niches OUTSIDE THE BUSINESS show up in «Negative suggestions» with their checkbox.

☑️ Niche actions. Every niche has a checkbox in column A of its header (all its terms) and every term has its own: ☐ Apply (that term only) and ☐ Ignore (it never shows up in any niche again). Applied on the next run. RELOCATE: proposes its terms as Pending in the right ad group (enable them with ▶ in the campaign tab). OUTSIDE: negates them in exact match in their campaigns. NEW: the script creates the ad group PAUSED in the proposed campaign (if the campaign does not exist it tells you and creates nothing), with the niche's exact-match keywords (the real terms plus the ones validated by the Planner, minus the ones you already have or negated, 30 at most) and an RSA ad written by Claude on the final URL of an existing ad in that campaign. You review it in Google Ads and enable it yourself. Logged in Actions as GRUPO.

🗺️ Semantic map. Before asking Claude, the brain turns ALL your 90-day search terms (up to 2,000 per campaign plus the converting ones) into vectors, groups them into topics and measures, for each topic, its demand, the ad group of your account it most resembles and how much of the topic some keyword already covers. Claude receives that summary with numbers, not the raw list: discovery works the same in a 300-term account and in a 30,000-term one. The «Semantic map» line in the tab says how many terms and topics there are and what share of the demand your account covers.

🧠 Neighbours of what converts. Evidence rules: your terms that already convert are the «parents». Around them, real candidates are looked for: terms in your account with clicks and no conversions, and what people type into Google (Suggest) from each parent. Only the ones close in meaning (embeddings) get in, and they are measured with the Planner when Google breaks down their volume. Every row carries its parent, the similarity, the source and the proposed ad group (the parent's). ☐ Add proposes it as an exact keyword in that ad group (awaiting your ▶); ☐ Ignore discards it for good. Nothing is made up.

🎯 Probability of converting. A model (logistic regression, interpretable weights) learns from YOUR account terms which traits set apart the ones that converted: CTR, CPC, clicks, impressions, word count, source match type, ad-group conversion rate and semantic closeness to converters. It trains on 75 % of the terms and is measured on the held-out 25 % (AUC reliability: 0.5 = chance, 0.7+ = useful). With fewer than 30 converters or reliability below 0.62 nothing is scored. It scores the terms with clicks that have not converted yet and the neighbours. ☐ Add proposes them in their ad group (awaiting your ▶). It never learns from other accounts.

↔ Measured relocation. Every ad group is represented by the vector of its keywords and its converting terms. For every term with clicks, its similarity to the group it lands in and to the best-fitting group of its campaign is measured (a term never counts itself). Only clear winners are listed, with both similarities and the difference in view. ☐ Apply proposes it as an exact keyword in the target group (awaiting your ▶): Google will send that search to the group holding the exact keyword and the current group is not touched. ☐ Ignore vetoes it. It is geometry on your data, not an opinion.

Use Claude as a filter. Yes/No. It only has an effect if there is a Claude key.

Niche exploration with Claude. Weekly (default), Monthly or Off: how often Claude (Opus) explores the whole account looking for niches (≈ $0.3-0.6 per exploration). Daily makes no sense: terms barely change from one day to the next and nobody looks every day. Whatever you do not resolve is kept in the next exploration marked ⏳ for one more cycle; after that, if Claude does not propose it again, it disappears. To force an exploration out of schedule, delete the 🧭 Niches tab and run.

Conversion actions to count. It fills itself in with the value conversions of your project profile (panel → My accounts). Empty = all conversions. The note on the box lists the real conversion actions of the account.

Emails. Recipient (filled in with your panel email) and frequency: Disable · Weekly only (Monday) · Monthly only (day 1) · Weekly + Monthly. There are never daily emails.

Excluded campaigns (optional). If you want to leave a campaign out, write its names or IDs separated by commas. By default every active Search campaign is processed.

📎 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

← BeforeKeywords Ninja Script manual · Local configuration sheet (ACD, B2B, etc.)Keywords Ninja ScriptAfter →Keywords Ninja Script manual · Scoring systemKeywords Ninja ScriptRelatedExact Match Builder manual · What this script doesExact Match BuilderRelatedKeywords Ninja Script manual · What does this script do?Keywords Ninja ScriptRelatedExact Match Builder manual · The campaign tabsExact Match BuilderRelatedExact Match Builder manual · Negative suggestionsExact Match Builder

See the full syllabus

🎓
You're reading, in the open, a lesson from the subscribers' training

This page is read-only. With the Suite subscription you get the full academy — all three levels with audio, quizzes, favorites, highlights and certificates — plus the scripts working in your Google Ads account.

See the full Suite → Create my free account →
🥷

Subscriber feature

This option is part of Ninja Scripts’ paid subscriptions.

See the subscription →