← All skills
Marketing https://ai-skills-vault.pages.dev/skills/google-ads-waste-audit.md

Google Ads Waste Audit

Find the 25-45% of spend going to searches that cannot convert, in rupees.

Download .md All skills
Install URLhttps://ai-skills-vault.pages.dev/skills/google-ads-waste-audit.md
Install prompt tap to copy
Read the skill at https://ai-skills-vault.pages.dev/skills/google-ads-waste-audit.md and install it as a skill in your agent. Follow it exactly, including its checklists. Then ask me the questions it requires and do the work.

Most small accounts waste 25-45% of spend on searches that will never convert: job seekers, competitors' brand names, "free" queries, and locations the business cannot serve. The waste is invisible in the dashboard because it hides inside a keyword that looks correct.

This skill runs a fixed audit - search terms, match types, negatives, geography, device, and time of day - and produces a ranked list of waste in rupees per month with the exact change that stops each one. You end with a working negative keyword list and a before/after number, not a slide of opinions.

When to use this skill

Do NOT use for: account structure from scratch, creative strategy, or bidding algorithms. It also does not replace reading the business's actual lead quality - a cheap lead that never buys is not a saving.

Stage 1 - Pull the six reports before forming an opinion

1.1 Search terms report, last 30 days, with cost, clicks, conversions, and conversion value per term.

1.2 Campaign and keyword report with match type, quality score, and impression share lost to budget and to rank.

1.3 Geographic report by location, with cost and conversions.

1.4 Device and time-of-day segments for the same period.

1.5 The conversion actions list with their counting settings - a "conversion" that fires on page view makes every number below meaningless.

ReportWindowWhat it answers
search terms30 dayswhat people actually typed
keywords30 dayswhich of your keywords matched
geo30 dayswhere the money went
devices30 daysphone vs desktop behaviour
conversion actionssettingsis a conversion real
change history90 dayswhat broke it

Gate: all six pulled, and the conversion actions list reviewed before any number is quoted.

Stage 2 - Verify the conversion tracking first

2.1 Count the conversion actions that are "primary". Every extra primary action double-counts: a form submit plus a thank-you page view is two conversions for one lead.

2.2 Check the counting setting: "every" inflates a repeat visitor into 4 conversions, "one" is right for lead generation.

2.3 Check the conversion window against the real sales cycle. A 7-day window on a 45-day decision understates the true cost per lead by a wide margin.

2.4 Check for internal traffic: office IP exclusion, and whether the team's own test submissions are firing.

2.5 If tracking is broken, stop the audit and fix it. Every optimisation below is measured against a number that does not exist yet.

SettingCorrect for lead genSymptom when wrong
primary actions1conversions 2x leads
countonesame lead counted 4 times
window30-90 daysinflated cost per lead
internal IPsexcludedphantom conversions
valuesset per actionvalue-based bidding misled

Gate: one primary conversion action, "one" counting, a window matching the sales cycle, internal IPs excluded.

Stage 3 - Read the search terms report for the four waste patterns

3.1 Irrelevant intent: queries containing free, cheap, download, torrent, jobs, salary, course, pdf, meaning, wikipedia.

3.2 Wrong service: a dentist bidding on "orthodontist course", a B2B tool bidding on "free template".

3.3 Competitor and brand confusion: queries with a competitor name, unless you have a deliberate conquesting campaign with its own budget.

3.4 Location mismatch: queries naming a city you do not serve, common for businesses with a delivery radius.

3.5 Sort by cost, not by impressions. The waste is in the 20-40 terms that each cost more than ₹500 in the period.

PatternExample queryAction
irrelevant intent"free invoice template download"negative phrase, campaign level
wrong service"gst course online"negative exact on the noun
competitor"competitor name pricing"separate campaign or negative
location"service in another city"geo exclusion plus negative
job seeker"accountant jobs near me"negative phrase "jobs"

Gate: the top 40 terms by cost are each classified into one of the five patterns or marked as valid.

Stage 4 - Build the negative keyword list in three tiers

4.1 Account-level negatives: words that are never valid for the business - free, jobs, salary, course, pdf, wikipedia, torrent.

4.2 Campaign-level negatives: words invalid for that service - "repair" for a sales campaign, "buy" for a service campaign.

4.3 Ad-group-level negatives: close variants that should go to a different ad group, not be excluded outright.

4.4 Use phrase and exact negatives; broad negatives block too much. A broad negative "design" blocks "design consultation" as well as "design course".

4.5 Cap the list at 200-300 terms. Beyond that, the problem is keyword targeting, not negatives.

Account-level (phrase): "free" "jobs" "salary" "course" "pdf" "download"
                        "wikipedia" "meaning" "tutorial" "torrent"
Campaign "gst-filing" (exact): [gst course] [gst classes] [gst certification]
Campaign "gst-filing" (phrase): "how to file gst myself"
Ad group "delhi" (exact): [gst filing mumbai] [gst filing chennai]

Gate: the list is applied at the right level, and a 7-day watch shows no valid traffic lost.

Stage 5 - Check match types and the queries they let through

5.1 Broad match without a mature negative list is the largest single source of waste in small accounts. It matches intent, not words.

5.2 Compare cost per conversion by match type. If broad is 3x the cost of phrase with the same volume, the negatives are missing.

5.3 Check close-variant settings: "include close variants" on exact match can pull in plurals and misspellings that change intent.

5.4 Check whether the account uses broad match modifier syntax - it was retired, and accounts still using it are running plain broad.

Match typeControlTypical use
exacthighestmoney keywords
phrasemediumexpansion with guardrails
broadlowestdiscovery only, with negatives
smart bidding + broadnoneneeds 30+ conversions/month to learn

Gate: broad match appears only in campaigns with a maintained negative list, or is paused.

Stage 6 - Cut the geographic and device waste

6.1 Set location targeting to "presence" rather than "presence or interest". Interest targeting spends money on people searching about a city from elsewhere.

6.2 Exclude locations with cost and zero conversions over 60 days. Two or three cities usually carry most of the waste.

6.3 Check device splits for a service business: calls convert on mobile, form fills on desktop. Bidding the same for both wastes one of them.

6.4 Check ad schedule against the hours the business answers the phone. A lead at 23:00 that nobody calls back for 11 hours is a lost lead with a paid click.

SegmentCheckCommon finding
location settingpresence only15-30% of spend from interest
city-level geocost with 0 conversions2-3 cities dominate waste
mobile vs desktopconversion rate split3-5x difference is normal
ad schedulebusiness hours20-40% of spend out of hours

Gate: location targeting set to presence, and every excluded location has 60 days of data behind it.

Stage 7 - Quantify the waste in rupees per month

7.1 For each waste pattern, add the 30-day cost of the terms in it. That is the monthly leak for that pattern.

7.2 Add the recoverable share: not all of it becomes profit, because some of those clicks would have gone to a valid term. Use 60-80% of the cost as the realistic recovery.

7.3 Rank by recoverable rupees, not by number of terms. Ten ₹200 terms matter less than one ₹9,000 term.

7.4 Convert to a comparable unit: cost per lead before and after, using the verified conversion count.

rows = [("irrelevant", 18400, 0.70), ("competitor", 9100, 0.70),
        ("location", 22600, 0.70), ("out-of-hours", 6300, 0.70)]
recoverable = [(n, c, round(c * r)) for n, c, r in rows]
print(sorted(recoverable, key=lambda x: -x[2]))
print("total", sum(c for _, c, _ in recoverable),
      "recoverable", sum(r for _, _, r in recoverable))
Pattern30-day costRecoverable at 70%
irrelevant intent₹18,400₹12,880
competitor queries₹9,100₹6,370
location mismatch₹22,600₹15,820
out-of-hours calls₹6,300₹4,410
total₹56,400₹39,480

Gate: a ranked table in rupees with a total, and the total is 15-60% of the period spend or the audit is incomplete.

Stage 8 - Apply in one change window and measure for 14 days

8.1 Apply all negative keywords in one session and log the change in the account's change history with a note.

8.2 Do not change bids, budgets or creative in the same window. Two changes at once makes the result unreadable.

8.3 Watch for 14 days: impressions should fall, cost should fall, conversions should hold. A conversion drop over 20% means a negative was too broad.

8.4 Keep a 7-day and a 14-day snapshot of cost, clicks, conversions and cost per lead.

8.5 Roll back a single negative at a time if leads drop, starting with the phrase-level ones.

Gate: 14 days of data showing cost down and cost per lead down, with conversions within 20% of the baseline.

Stage 9 - Make the audit a monthly 20-minute routine

9.1 Every month, export search terms, sort by cost, and classify the top 30. That is the whole routine.

9.2 Add new negatives to the right tier and log the date.

9.3 Review the negative list quarterly and remove terms that block valid traffic.

9.4 Track one number month to month: wasted spend as a share of total spend. Below 10% is a maintained account.

9.5 Review the negative list against the business, not just the data. A term blocked last quarter may be a service you launched since.

9.6 Record who applied the changes and when. An account with three people editing it and no log cannot be diagnosed after a bad month.

Gate: the routine is scheduled, and the waste share is recorded for 3 consecutive months.

Worked example

A dental clinic in Pune, ₹1,80,000 a month, 3 campaigns, before and after a single audit.

ItemBeforeAfter 14 daysAfter 30 days
Spend₹1,80,000₹1,52,000₹1,49,000
Clicks4,1203,1803,090
Conversions9692104
Cost per lead₹1,875₹1,652₹1,433
Wasted share34%14%11%
Negatives added07896

The largest single find was ₹31,000 a month on queries naming a city 180 km away, caused by location targeting set to "presence or interest" rather than presence.

Quality checklist

Failure modes

SymptomReal causeFix
Cost per lead looks great, sales say leads are junkTwo primary conversion actions double-countingOne primary action, "one" counting
Negative list did not reduce spendNegatives added at ad-group level onlyApply account-level for universal words
Conversions collapsed after the auditBroad negatives blocking valid intentUse phrase and exact, roll back one at a time
Waste reappears every monthNo routine, one-off cleanupMonthly 20-minute search terms pass
Spend from cities you do not serveLocation targeting set to interestSwitch to presence, then exclude
Leads arrive at midnightNo ad scheduleSchedule to answering hours
Broad match spend explodedNo negatives and low conversion volumePause broad or maintain the list
Numbers do not reconcile with analyticsConversion window differs between toolsAlign windows before comparing
Report shows 40% waste every monthAudit run without applying changesApply in a change window, measure 14 days
Agency reports clicks onlySearch terms never sharedRequire the export as part of the report
A new service gets no trafficOld negatives still blocking itReview the list quarterly against the offer
Nobody can explain a bad monthThree editors, no change logLog who changed what, with a note

Copy-ready agent prompt

Read the skill at the URL above and audit my Google Ads account for waste. Ask me: monthly spend, the services I actually sell, the locations I serve, my sales cycle length, and how many primary conversion actions I have. Then walk me through the six reports, verify conversion tracking before using any number, classify my top 40 search terms by cost into the five waste patterns, build the three-tier negative keyword list using phrase and exact only, check match types, location targeting mode, device and hour splits, and quantify the waste in rupees per month with a realistic recoverable share. Finish with the single change window, the 14-day measurement plan and the monthly 20-minute routine. Tell me the total monthly leak and the top three changes by rupees recovered.
Copied