# Review off-topic Google Ads searches

Canonical page: https://agents.paretoid.com/workflows/review-off-topic-google-ads-searches/

Category: Google Ads

Practice relevance: cross-practice. A general operational method. Review the stated tool and jurisdiction limits before use.

Jurisdiction/provider scope: 

Prepare a negative-keyword review list, with the risk of excluding a useful search.

Status: Proposed / not tested. The public source describes the problem. Documentation supports only the stated method components; no result from this recipe has been verified.

Verification: Source methods and reported problems have been reviewed. We have not run the adapted workflow. The sample below describes expected behavior on synthetic data, not a customer result.

## The problem

Prepare a negative-keyword review list, with the risk of excluding a useful search.

Why it matters: Off-topic searches can use advertising budget without matching the firm's services. A reviewed exclusion list helps the marketer assess that spend while checking that a negative keyword would not block a relevant inquiry.

## Sources and evidence

- pain: [Pain evidence: Public discussion](https://www.reddit.com/r/LawFirm/comments/1ha828y/google_ads_firm_need_results_not_wasted/)
  original post 2024-12-09. A PI lawyer says self-created Google Ads produced zero results and asks for help avoiding wasted spend. A commenter identifies search-term exclusions as a diagnostic. First-person older pain; proposed solution is our inference, not the author's tested remedy.

- method: [Method: Google Ads search terms report](https://support.google.com/google-ads/answer/7102466?no_link=1)
  The report supports search-term review and negative-keyword changes. Visible terms are incomplete, and negative match behavior differs from positive keywords.

Source checked: October 15, 2026. Pain accounts are self-reported. Documentation supports components; this adapted recipe and prompt have not been tested.

## Suggested approach

Start when: Weekly search-term export

1. compare actual queries to the firm's approved services and geography, cluster clear mismatches, inspect current exclusions

2. Keep source references and report unknowns instead of filling gaps.

3. The responsible reviewer checks the report before any separately approved action.

## What you need

- Existing access to the correct Google Ads customer account. Read-only access supports viewing campaigns and running performance reports; a human needs Standard or Admin access to edit campaigns .

- Scope this recipe to Search campaigns. Have a firm-approved service/geography list, spending threshold, review period, account currency/timezone, and an inventory of current exclusions. Do not assume applicability to other campaign types.

- Firm-approved Excel Copilot or Acrobat AI access only for the named optional AI step; read-only native source acquisition is separate.

- Use synthetic inputs first. Keep real data in firm-approved accounts and processing, with appropriate access, confidentiality and retention controls. Aliases alone do not anonymize records. Never paste credentials, API keys or unnecessary client details.

## How to use

Official native navigation documented; editorial AI analysis and human-review chain not personally tested

- Some low-activity queries are omitted for privacy; a report is not every search. The search-term Match type describes the query-to-keyword relationship and can differ from the keyword's configured match type .

- Negative matching differs from positive matching. Synonyms and singular/plural forms need separate consideration; casing and misspellings are handled automatically. Over-broad exclusions can reduce relevant reach .

- Official negative-keyword pages use differing menu labels. The workflow is documentation-based, so confirm the live account labels before execution; no live UI verification is claimed.

- The exact kit headers are editorial. Preserve native exports and map them explicitly; campaign/ad-group identifiers must come from the account or a consistent local alias map, never be invented as native IDs.

- The four-column negatives.csv cannot fully encode account-level/shared-list coverage. Keep a separate scope/coverage note with list membership and account-wide exclusions; do not treat missing scope as no exclusions.

Access and setup:

- Account interface, access and live report contents were not personally tested.

- No native Google Ads/Business Profile AI chat is claimed by this recipe.

### 1. Download actual search terms

Tool: Google Ads

Location: Campaigns > Insights and reports > Search terms

Choose the correct customer account, Search campaigns and review dates. Use Columns to display actual search terms, campaign/ad group, clicks and cost; matched Keyword can be added under Attributes. Use the table Download control and choose Excel CSV or XLSX. Preserve the original file.

Expected output: Native report rows and headers for visible search terms, with the selected account/date/campaign scope.

Next step: Open a restricted original workbook and record capture time, filters, account currency and timezone.

Check before continuing: Inspect filters and subtotal rows. Visible query cost is not a complete measure of waste; low-activity queries may be withheld.

Execution status: Official documentation checked 2026-10-15; product account and workflow not personally tested

Step documentation: https://support.google.com/google-ads/answer/2472708?hl=en https://support.google.com/google-ads/answer/2404176?hl=en

### 2. Capture exclusions and map the working tables

Tool: Google Ads and Excel

Location: Keywords > Negative keywords > Download; account negatives: Settings > Account settings > Negative Keywords

Download the visible negative lists. Current campaign guidance may instead label the route Campaigns > Audiences, keywords, and content > Search keywords > Negative search keywords. Inspect shared lists under Tools > Shared library > Exclusion lists > Negative keyword lists and record which campaigns use them. Map Search term to query, Cost to spend, Clicks to clicks; staff assign query_id and map campaign/ad-group values consistently. Add currency/period from the report context.

Expected output: Kit search-terms.csv with query_id,query,campaign_id,ad_group_id,clicks,spend,currency,period; negatives.csv with campaign_id,ad_group_id,negative_text,match_type; services.csv from approved services/regions; separate scope/coverage note.

Next step: Build a minimized analysis workbook containing only approved report rows, mapped negatives, service rules and coverage note. Keep original account exports separately.

Check before continuing: No matching by similar campaign names. Verify all exclusions at account, campaign, ad-group and shared-list levels; mark any uninspected level incomplete. Document differing menu labels rather than guessing.

Execution status: Official documentation checked 2026-10-15; product account and workflow not personally tested

Step documentation: https://support.google.com/google-ads/answer/7102298?hl=en https://support.google.com/google-ads/answer/7102995?hl=en https://support.microsoft.com/en-us/excel/tutorial-import-data-into-excel-and-create-a-data-model

### 3. Ask Excel to prepare exclusions for review

Tool: Excel Copilot

Location: Analysis workbook > Copilot icon at lower right > Chat only

Name the approved source tables SearchTerms, Negatives and Services. Paste the complete exclusion-scope/coverage note into a visible Scope worksheet/table in this same minimized workbook, or directly into the prompt. Open Copilot Chat only and paste the prompt. If Copilot is unavailable, review the same worksheet manually.

Prompt:

```text
Use only SearchTerms, Negatives, Services and the complete exclusion-scope/coverage note in the Scope worksheet or pasted below. First check missing campaign/ad-group mappings, currency/period and uninspected exclusion scopes. Identify queries clearly outside approved services/geography; rank by observed spend. Return query_id,campaign_id,spend,proposed_negative,match_type,reason,false_exclusion_risk,evidence_rows,reviewer_status=pending. Include the exact proposed exclusion scope in reason and retain all coverage warnings. Put ambiguous queries in a separate queue. Do not invent unseen queries, infer case merits, exclude solely using personal characteristics, change the workbook or apply anything in Ads. If Scope is absent or incomplete, say so; do not assume unlisted exclusions are absent. [PASTE COMPLETE COVERAGE NOTE IF NOT IN SCOPE WORKSHEET]
```

Expected output: negative-review.csv: query_id,campaign_id,spend,proposed_negative,match_type,reason,false_exclusion_risk,evidence_rows,reviewer_status; separate ambiguous queue and coverage warnings.

Next step: Copy reviewed suggestions to the review worksheet; this is not an automatic-import file.

Check before continuing: Match type in the source search-terms report is not necessarily the positive keyword setting and does not choose the right negative match. Check relevant-search blocking risk.

Execution status: Official documentation checked 2026-10-15; product account and workflow not personally tested

Step documentation: https://support.microsoft.com/en-us/excel/copilot/get-started-with-copilot-in-excel https://support.google.com/google-ads/answer/2453972?hl=en

### 4. Review and apply only selected changes

Tool: Authorized marketer in Google Ads

Location: Original Search terms report > select approved terms > Add as negative keyword

Reviewer approves each query, negative text, match type and scope. In Ads, select approved terms and Add as negative keyword, choose the intended campaign/ad group or list, then save. Review the default negative exact match and any deliberate change before saving.

Expected output: Only explicitly approved negative keywords, with approval notes and saved scope.

Next step: Reopen the negatives view to confirm each saved entry; keep rejected/uncertain suggestions separate.

Check before continuing: Negative matches have their own behavior; never turn a broad AI cluster into a blanket exclusion without review. This recipe authorizes no autonomous spend/targeting change.

Execution status: Official documentation checked 2026-10-15; product account and workflow not personally tested

Step documentation: https://support.google.com/google-ads/answer/7102466?hl=en https://support.google.com/google-ads/answer/2453972?hl=en

## What you will get

negative-review.csv: query_id, campaign_id, spend, proposed_negative, match_type, reason, false_exclusion_risk, evidence_rows, reviewer_status

## Human review and limits

No autonomous spend/bid/targeting changes; attorney/marketer checks sensitive or ambiguous language; never exclude solely using personal characteristics.

The assistant drafts or reports only. Check source records and review the output before a human performs any separately approved send or change. No automatic legal decision, money movement, account connection or publication is included.

What to measure: In a synthetic pilot, count correctly found exceptions, false alarms, and unresolved inputs. No time or cost saving is assumed.

## Original prepared-input schema

search-terms.csv: query_id, query, campaign_id, ad_group_id, clicks, spend, currency, period

negatives.csv: campaign_id, ad_group_id, negative_text, match_type; services.csv: approved_service, approved_region

exclusion-scope.txt: inspected account, campaign, ad-group and shared-list exclusions; list membership, filters, currency, period and uninspected coverage

Synthetic example input:

```text
Q1: search clearly outside approved services
Q2: wording may fit an approved service
Q3: term already excluded by supplied list
```

Expected synthetic output:

```text
Q1: proposed exclusion with match type and risk
Q2: manual review, no exclusion
Q3: already covered, check scope
```

Failure check: No autonomous spend/bid/targeting changes; attorney/marketer checks sensitive or ambiguous language; never exclude solely using personal characteristics.

## Starter files

Native blank scaffolds and original synthetic examples may use different schemas. Follow NATIVE-INPUT-MAPPING where supplied. These files do not connect accounts or install automation.

- [Download starter kit](https://agents.paretoid.com/assets/starter-kits/g01-starter-kit.zip) — All inputs, synthetic examples and review notes in one ZIP. No automation is installed.

- [Start here: get the sources and prepare the review](https://agents.paretoid.com/assets/starter-kits/g01/START-HERE.txt) — Documentation-checked acquisition, explicit manual mapping, exact prompts and human review limits

- [Input template: search-terms.csv](https://agents.paretoid.com/assets/starter-kits/g01/search-terms.csv) — Header-only input template; preserve exact names and order

- [Synthetic input: search-terms.csv](https://agents.paretoid.com/assets/starter-kits/g01/search-terms-example.csv) — Fabricated sample rows for an offline manual trial

- [Input template: negatives.csv](https://agents.paretoid.com/assets/starter-kits/g01/negatives.csv) — Header-only input template; preserve exact names and order

- [Synthetic input: negatives.csv](https://agents.paretoid.com/assets/starter-kits/g01/negatives-example.csv) — Fabricated sample rows for an offline manual trial

- [Input template: services.csv](https://agents.paretoid.com/assets/starter-kits/g01/services.csv) — Header-only input template; preserve exact names and order

- [Synthetic input: services.csv](https://agents.paretoid.com/assets/starter-kits/g01/services-example.csv) — Fabricated sample rows for an offline manual trial

- [Output template: negative-review.csv](https://agents.paretoid.com/assets/starter-kits/g01/negative-review.csv) — Header-only output template; preserve exact names and order

- [Expected output: negative-review.csv](https://agents.paretoid.com/assets/starter-kits/g01/negative-review-example.csv) — Hand-authored synthetic expected result; not an executed workflow result

- [Synthetic fixture expectations](https://agents.paretoid.com/assets/starter-kits/g01/fixture-expectations.txt) — Acceptance targets and failure checks; no claim of workflow execution

- [Review prompt](https://agents.paretoid.com/assets/starter-kits/g01/starter-prompt.txt) — Copyable offline review prompt; no executable automation

- [Setup and prerequisites](https://agents.paretoid.com/assets/starter-kits/g01/README.txt) — Recipe-specific setup, evidence sources and usage boundaries

- [Exclusion scope blank note](https://agents.paretoid.com/assets/starter-kits/g01/exclusion-scope.txt) — Preserve account, campaign, ad-group and shared-list coverage beyond the four-column CSV

- [Exclusion scope synthetic example](https://agents.paretoid.com/assets/starter-kits/g01/exclusion-scope.example.txt) — Preserve account, campaign, ad-group and shared-list coverage beyond the four-column CSV

## Optional original prepared-input prompt

Destination: Excel Copilot · prepared inputs

This original prompt uses its own prepared-input schema. Do not mix it with native-step tables without the supplied mapping.

```text
Using these reviewed, minimized search-term and negative-keyword exports plus our approved service/region list, identify queries clearly outside our services. Return query, campaign, spend, proposed negative match type, reason, and risk of blocking a relevant search. Put ambiguous terms in a review queue. Do not infer a person's case merits, invent missing queries, or apply any exclusions.

Use the exclusion-scope note. Missing or uninspected exclusion scopes are unknown, not empty. Keep coverage warnings and the proposed scope with every suggestion.

INPUTS
search-terms.csv: query_id, query, campaign_id, ad_group_id, clicks, spend, currency, period
negatives.csv: campaign_id, ad_group_id, negative_text, match_type; services.csv: approved_service, approved_region
exclusion-scope.txt: inspected account, campaign, ad-group and shared-list exclusions; list membership, filters, currency, period and uninspected coverage

OUTPUT
negative-review.csv: query_id, campaign_id, spend, proposed_negative, match_type, reason, false_exclusion_risk, evidence_rows, reviewer_status

Use only these synthetic or firm-approved inputs and preserve source row/page IDs. Keep missing or conflicting evidence unresolved. Return a draft for the named reviewer. Do not send messages, connect accounts, change records or permissions, move money, or make legal decisions. Keep source files unchanged. List missing prerequisites before continuing.
```

Proposed / not tested · editorial prompt

Published by Law Firm Agents. Proposed adaptation; not tested. Not legal advice.
