Skip to the tool
Just Better Marketing PPC Tools

Free tool · Google Ads · 100% local parsing

Search Term Miner: find the spend you are throwing away

Export a search terms report, drop it in, and get a ranked list of where your money went and why. No spreadsheet, no CSV upload to a third-party parser, and no subscription. The file never leaves your browser.

✔ Handles quoted and multi-line fields ✔ Auto-detects Google Ads columns ✔ Exports a ready-to-paste negative list

1. Load your data

A search terms report from Google Ads, or any CSV with similar columns.

Why the file stays local. Search terms reports contain the exact queries your customers typed, including the embarrassing ones. Uploading that to a third-party parser hands over your customer intent and your competitors can see it if the tool is careless. This page reads the file with your browser and parses it in memory.
2. Your economics

What one conversion is worth to you.

A term is only flagged if it has spent at least this much without converting.

Headline

No data
Wasted spend — no conversions
Total spend — 0 terms
Wasted share — recoverable budget

Load a report to see these three figures. The full ranked waste table, heatmap and negative keyword list unlock below.

Unlock the ranked waste report

Free

Get every zero-conversion term ranked by recoverable spend, a concentration analysis showing how few terms hold most of the waste, negative keyword suggestions in both match types, a day-by-day waste heatmap, and two CSV exports.

Already unlocked? Reset the gate.

Method

How this search term miner decides what is waste

Short answer

A term is flagged as waste when it has spent at least your spend threshold and either produced no conversions, or produced conversions worth less than it cost. A term is only flagged once it has also cleared your click threshold, so a single unlucky click never condemns a keyword.

The pipeline is four steps, and each one exists to stop a specific way these reports usually get misread.

  1. Parse. A full RFC 4180 parser, not a naive split. Quoted fields containing commas, doubled quotes, line breaks inside a field, CRLF endings and a UTF-8 BOM are all handled. A naive split(',') silently shifts every column on rows like "boots, winter, size 9", which corrupts the whole analysis without any error.
  2. Map. Google Ads column names are matched automatically, with fallbacks for renamed columns. If nothing matches, the raw headers are shown so you can map them by hand.
  3. Score. Each row gets a waste score combining spend, click count and how far short of profitability it fell, so the top of the list is genuinely the biggest problem rather than the alphabetically first.
  4. Concentrate. Waste is usually extremely uneven. This shows how much of the total sits in your top five terms, which is the number that decides whether the exercise is worth an hour of your time.

waste score = spend × (1 − conversion value earned ÷ max(spend, value of one conversion))

Delimiters, and why it matters

Google Ads exports comma-delimited CSV, but a report that has been through Excel in a European locale is semicolon-delimited with comma decimal separators, and Sheets exports tabs. The parser sniffs the delimiter from the header row and handles a UTF-8 BOM, which otherwise turns your first column name into a field called Search term that matches nothing.

What it deliberately does not do

  • It does not guess which terms are brand searches. Only you know your brand terms, and auto-detecting them blocks the wrong traffic.
  • It does not claim a zero-conversion term is worthless. See the FAQ — that assumption costs more than it saves.
  • It does not send your file anywhere, at any point.

Execution

How to add negatives without damaging the account

Short answer

Start with exact match negatives for terms you are certain about, re-run the report after two to four weeks, then consider phrase negatives. Account-level negatives apply everywhere and are far more dangerous than campaign-level ones — put the first batch at campaign level so you can undo it.

The order of operations

  1. Export the report for a period long enough to be meaningful — 30 to 90 days. Seven days flags a lot of terms that were merely early.
  2. Add your brand terms to an exclusion list before you start, so the tool's own brand queries do not end up in your negative list.
  3. Add exact negatives at campaign level first. Hold off on account level.
  4. Wait two to four weeks, export again, and diff the two lists. A term that now converts is a term you nearly blocked wrongly.
  5. Only then move the reliable ones to account level and start on phrase negatives.

Where to put them in the interface

  • Google Ads → the campaign → Negative keywords for campaign level.
  • Google Ads → Accounts → Negative keywords for account level.
  • Bulk upload accepts a CSV of the same shape the tool exports, so you can import rather than paste 300 terms by hand.
The mistake that costs the most: applying a full negative list in one go across every campaign. A term that wasted money in one campaign may be your best performer in another, because the landing page behind it is different.

Cadence

A search term routine that scales with your budget

How often you should review search terms depends on how much the traffic costs you, not how big the account is. The rule below is a reasonable starting point.

Review cadence by monthly spend
Monthly spendCadenceLook at
Under $1,000MonthlyTop 20 terms by cost only
$1,000 – $5,000FortnightlyZero-conversion terms above your CPA threshold
$5,000 – $25,000WeeklyFull ranked list, plus campaign split
Over $25,000Twice weekly, automated alertsAll of the above plus brand cannibalisation
Automate the alert, not the decision. Most platforms can email you when a single search term passes a spend threshold without converting. That is the right automation: it catches the term that spent $400 overnight, and leaves the judgement calls to you.

Deeper analysis

What else the same export tells you

Match type

Broad match quality

Compare CPA by match type within the same campaign. If broad terms are cheaper per click but far more expensive per conversion, the account is relying on exact match to clean up after broad — which stops working as volume grows.

Cannibalisation

Brand and non-brand split

Brand terms in a non-brand campaign inflate its reported performance. Split the two and judge them separately; a non-brand campaign that only looks good because of brand queries is not actually a growth channel.

Intent

Informational vs transactional

"How to fix" and "free" rarely convert directly, but they often sit at the start of a considered purchase. A term with no conversions but strong assisted value belongs in a content decision, not a negative.

Seasonality

Terms that spike

Run the same export across months. A term that is efficient every quarter except one is a seasonal spike, not a waste pattern — a very different problem with a very different fix.

Landing pages

Same term, different page

Group terms by the ad group and page they land on. A term converting poorly in one ad group and well in another is an ad group problem, and blocking it throws away a working combination.

Device

Mobile waste

Mobile often converts worse on the same term. If waste is concentrated on mobile, the problem is usually page speed and form friction rather than the keyword itself.

Traps

Five ways a negative keyword list backfires

  • Blocking your own brand. Competitors bid on your brand name. Negativing it hands them the clicks and gives away the cheapest conversions you have.
  • Blocking a term that later converts. A $45 spend with no conversion is noise when your CPA is $200. Threshold from your economics, not from a round number.
  • Negativing at account level too early. One campaign may need that term for a different landing page or a different offer. Start at campaign level.
  • Removing the only converting path for a low-volume campaign. A campaign with 40 clicks a month can be wiped out by a single over-eager negative.
  • Never re-checking. Negatives accumulate. Review the list quarterly and remove ones that now block profitable terms.

What a healthy search terms report looks like

For most accounts, somewhere between five and fifteen per cent of spend goes to terms with no recorded conversion. That is normal, not a crisis. A sudden jump usually means something changed — a new campaign, a new match type setting, or tracking broke — and it is worth understanding before you block anything.

Privacy

Why this tool parses the file itself

Short answer

A search terms report is a list of the exact phrases your customers typed, including searches that reveal your margins, your competitors and your customers' problems. Uploading it to a third-party parser is a disclosure you do not need to make, so this page never makes it.

Concretely, this page makes no request containing your data. There is no upload endpoint, no third-party script, no analytics tag and no CDN. The file is read through the browser's own FileReader API, held in memory, and discarded when you close the tab.

The only data that leaves the page is the name, email, company and phone you type into the lead form, which is sent to Just Better Marketing so the report can be emailed to you. That is a deliberate, separate action with its own button.

If the browser has no file support — an unusually locked-down configuration — you can paste rows into the text box instead. That path is also entirely local.

What a hosted parser would cost you

  • Customer research queries in a third party's logs, potentially retained indefinitely.
  • A dependency on someone else's uptime and their security posture.
  • A data-processing agreement you would need to make, in a jurisdiction you may not choose.
  • Silent breakage when that dependency changes its parsing or goes behind a paywall.
Size limit: files up to 8 MB, which comfortably covers hundreds of thousands of search terms. Larger than that, split the export by date range.

FAQ

Search term questions, answered directly

What is wasted ad spend?

Wasted spend is ad spend on search terms that produced no conversions, or produced conversions worth less than they cost. It is not automatically all of it: a term with no conversions can be a brand term, a research term, or a term supporting a later assisted conversion. Wasted spend is the part of the budget you can recover by adding negatives or fixing bids.

What counts as a negative keyword?

A negative keyword prevents your ads from showing for that search term. A negative phrase blocks every query containing those words, and a negative exact blocks only that precise query. Use exact negatives for queries you are certain about, and phrase negatives for patterns you have confirmed across a longer period.

How many clicks before I should add a negative?

Set the threshold from your economics rather than a rule of thumb. If a conversion is worth $80 to you, any term that has spent $80 with no conversion has already cost more than one conversion is worth. For high-value conversions, use a higher click threshold so a term that merely needs more data is not blocked prematurely.

Should I add all zero-conversion terms as negatives?

No. This is the most common way to damage a good account, because some zero-conversion searches build awareness or assist later conversions. Exclude brand terms, terms that map to their own landing page, and research terms. Add negatives only where spend clearly exceeds the value of a conversion — and start at campaign level.

Does this tool upload my campaign data?

No. The file is read in your browser using the browser's own file reader, parsed locally, and never sent anywhere. There is no upload endpoint, no third-party script on the page and no analytics on your file. The only data that leaves the page is the contact details you type into the lead form.

What file format does the search term miner accept?

A CSV exported from Google Ads, or text pasted straight into the box. The parser handles comma, semicolon and tab delimiters, quoted fields containing commas, doubled quotes, embedded line breaks and a UTF-8 byte order mark. It recognises the standard Google Ads column names automatically, and you can map columns by hand if your export has been customised.

How long should my export be?

Long enough to be meaningful: 30 to 90 days for most accounts. A seven-day export flags many terms that were simply early in their journey. If your volume is low, go longer. If you are making large changes, use a shorter window so you can see the effect of the change while it is fresh.

Why do some terms convert in one campaign and not another?

Usually the landing page or the offer differs. A term in a brand campaign may land on a page built for it, while the same term in a non-brand campaign lands on a generic page. Before blocking a term, check whether it works anywhere in the account. Grouping your export by ad group makes this visible.

Sources and method notes

The waste score and thresholds in this tool are a stated method, not a published standard. There is no industry body that certifies a search term miner, so the honest thing is to show the formula and let you change the inputs. Your conversion value is the only number that should be driving the thresholds, and it is a field you control for exactly that reason.

The CSV handling follows RFC 4180, which is the specification Google Ads and every other compliant exporter target. The delimiter sniffing handles the common deviations — semicolons from European-locale Excel, tabs from Google Sheets, and the UTF-8 BOM that spreadsheet tools insert.

Where to verify the platform mechanics

  • Google Ads Help — negative keywords, match types, search terms reports
  • RFC 4180 — the CSV interchange format
  • Your own conversion history — the only defensible source for conversion value

Last reviewed 2026. If your own data contradicts a default here, change the default rather than the conclusion.