Review off-topic Google Ads searches
Prepare a negative-keyword review list, with the risk of excluding a useful search.
Tools for the documented steps
Practice relevance
Cross-practice idea · A general operational method. Review the stated tool and jurisdiction limits before use.
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 & evidence
Proposed / not tested. The public source describes the problem. Documentation supports only the stated method components; no result from this recipe has been verified.
What’s been verified
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.
What to measure: In a synthetic pilot, count correctly found exceptions, false alarms, and unresolved inputs. No time or cost saving is assumed.
- Pain evidence: Public discussion ↗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: Google Ads search terms report ↗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. We wrote these prompts. The adapted workflow hasn’t been tested.
Suggested approach
Start when: Weekly search-term export
- compare actual queries to the firm's approved services and geography, cluster clear mismatches, inspect current exclusions
- Keep source references and report unknowns instead of filling gaps.
- The responsible reviewer checks the report before any separately approved action.
Limits and review
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.
Who reviews it: No autonomous spend/bid/targeting changes; attorney/marketer checks sensitive or ambiguous language; never exclude solely using personal characteristics.
What you need
Excel Copilot · prepared inputs
- 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.
Check 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.
Download actual search terms
Google Ads · 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.
Capture exclusions and map the working tables
Google Ads and Excel · 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.
Ask Excel to prepare exclusions for review
Excel Copilot · 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.
- 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.
Review and apply only selected changes
Final human reviewAuthorized marketer in Google Ads · 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.
What you’ll get
negative-review.csv: query_id, campaign_id, spend, proposed_negative, match_type, reason, false_exclusion_risk, evidence_rows, reviewer_status
Inputs and a sample test Synthetic example · not a measured result
Input files
- 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
Q1: search clearly outside approved services Q2: wording may fit an approved service Q3: term already excluded by supplied list
Expected output
Q1: proposed exclusion with match type and risk Q2: manual review, no exclusion Q3: already covered, check scope
Test a failure
No autonomous spend/bid/targeting changes; attorney/marketer checks sensitive or ambiguous language; never exclude solely using personal characteristics.
Try with the sample files
Follow the tool steps above and use the inputs named in each step. Where provided, native-* files are blank scaffolds and NATIVE-INPUT-MAPPING explains their fields. Original examples and the optional full review prompt use a separate prepared-input schema. Keep them separate unless the mapping explicitly connects them. Downloading a kit does not connect accounts or prove the workflow works.
Download inputs and checklist 15 files
Instructions, blank templates and separate synthetic examples; these files do not install an automation. Blank templates still need verified source data.
- Download starter kit All inputs, synthetic examples and review notes in one ZIP. No automation is installed.
- Start here: get the sources and prepare the review Documentation-checked acquisition, explicit manual mapping, exact prompts and human review limits
- Input template: search-terms.csv Header-only input template; preserve exact names and order
- Synthetic input: search-terms.csv Fabricated sample rows for an offline manual trial
- Input template: negatives.csv Header-only input template; preserve exact names and order
- Synthetic input: negatives.csv Fabricated sample rows for an offline manual trial
- Input template: services.csv Header-only input template; preserve exact names and order
- Synthetic input: services.csv Fabricated sample rows for an offline manual trial
- Output template: negative-review.csv Header-only output template; preserve exact names and order
- Expected output: negative-review.csv Hand-authored synthetic expected result; not an executed workflow result
- Synthetic fixture expectations Acceptance targets and failure checks; no claim of workflow execution
- Review prompt Copyable offline review prompt; no executable automation
- Setup and prerequisites Recipe-specific setup, evidence sources and usage boundaries
- Exclusion scope blank note Preserve account, campaign, ad-group and shared-list coverage beyond the four-column CSV
- Exclusion scope synthetic example Preserve account, campaign, ad-group and shared-list coverage beyond the four-column CSV
Optional full review prompt for prepared inputs
Prepared-input review prompt with Excel Copilot · prepared inputs
Proposed / not tested · editorial prompt. This prompt uses the original prepared-input schema shown in the sample test. Step prompts may use different tables. Follow NATIVE-INPUT-MAPPING where supplied; do not mix the original examples with native-step inputs without mapping and checking every field.