Free · No signup

Google Ads placement exclusion list generator

Drop in your GDN or PMAX placement report. Get a spend breakdown, a list of placements worth a second look, and a deduplicated exclusion list you can paste straight into Google Ads. Your file never leaves your browser.

Drop your placement report here

or browse — .xlsx or .csv, English or German exports

Nothing is uploaded — the file is read in your browser

How to export your placement report

  1. 1In Google Ads, open Reports → Predefined reports → Other → Campaign URL performance.
  2. 2Set the date range to at least the last 90 days. A short window hides the long tail, which is exactly where the junk lives.
  3. 3Download as .csv or .xlsx. Both work, in any account language.
  4. 4Drop the file above. Nothing uploads — parsing happens in your browser.

What it checks

Every signal below is computed from your spreadsheet and the shape of the domain name. None of them require visiting a website, which is why this can run for free in your browser — and also why none of them is proof of anything on its own.

Spend concentration
How much of your budget sits in the top 10, 50, 100 and 500 placements — and how much hides in the long tail below them.
Spend without conversions
Placements that cost real money and returned nothing. Usually the largest single bucket in an unaudited account.
Risky TLDs
.top, .xyz, .icu, .buzz and friends are heavily over-represented on made-for-advertising inventory.
Auto-generated name patterns
Digit runs, heavy hyphenation and unusually long names are weak signals of churn-and-burn domains.
News-shaped names with no conversions
Generic news-style domains that take budget and never convert are a recurring MFA pattern.
Impossible engagement
Thousands of impressions and zero clicks, or a display CTR high enough that invalid traffic is the likeliest explanation.

Your cost data stays on your machine

There is no upload. The parser is JavaScript that runs in your browser tab, and the file is read with the standard FileReaderAPI — it never touches our servers, is never stored, and is gone when you close the tab. Open your browser's Network tab while you use it and you will see no request carrying your data. We record only an anonymous count of how many placements were analysed, so we know the tool is being used. Placement names, domains and spend figures are not part of that.

Questions

Is my placement report uploaded anywhere?

No. The file is parsed by JavaScript running in your own browser tab. It is never sent to our servers, never stored, and never seen by us. You can confirm this by opening your browser devtools Network tab while using the tool — there is no upload request. This matters because placement reports contain your cost data.

Where do I get a placement report in Google Ads?

In Google Ads go to Reports → Predefined reports → Other → Campaign URL performance. Set the date range to at least the last 90 days, then download as CSV or Excel. That export contains one row per placement with impressions, clicks, cost and conversions.

Does it work with non-English Google Ads accounts?

Yes. Google Ads localises both column names and number formats. The tool recognises English, German, Spanish, French and Italian column headings, and detects whether your account exports 1.234,56 or 1,234.56 so totals are not misread by a factor of a thousand.

What do the red flags actually mean?

They are pattern matches on the domain name and your own performance numbers — risky TLDs, digit runs, heavy hyphenation, news-style names with no conversions, high impressions with no clicks, and implausible click-through rates. They are prompts to look, not verdicts. Plenty of legitimate sites trip one of these, so review before excluding.

Can this tell me if a site is made-for-advertising?

No, and it does not claim to. The tool never visits any site — it only reads your spreadsheet. Detecting MFA sites, ad density, AI-generated content or brand-safety problems requires actually fetching and analysing each page. That is what the DisplayGG scorer does; this tool is the free first pass that tells you where your money went.

How do I apply the exclusion list?

Copy the output, then in Google Ads go to Tools → Shared library → Placement exclusion lists → + New list. Paste one domain per line and save. Apply it at the account level so it covers every Display and PMAX campaign automatically, including ones you create later.

Then what?

This tool tells you where your money went. It cannot tell you which of those sites are actually junk — that needs each page fetched and scored for MFA patterns, ad density, and brand safety. Start with the guide to account-level exclusions, or run the list through the scorer.