Most agencies run a script, export a spreadsheet, highlight the red numbers, and call it an audit. That's not an audit. That's a screenshot with opinions.

We run the same 12-point audit on every account we touch. New clients, existing clients, prospects who fill out the form on our site. Same process, same order, every time. It usually takes us a couple of days to run this analysis, although our AI tools have helped make key findings a bit faster.

This post walks through all twelve steps. If you manage your own Google Ads or you’re trying to figure out whether your agency is actually doing anything, this is how you check.

1. Conversion Tracking

If conversion tracking is wrong, every number in the account is wrong. Cost per lead, return on spend, which campaigns are "working." All of it is built on whatever the tracking says happened. If the tracking is miscounting, you’re making decisions on bad data.

Go to Goals > Conversions > Summary. Every conversion action in the account is listed here.

First, look at what’s actually being counted as a conversion. Page views, button clicks, and scroll depth events show up as "conversions" more often than you’d think. If any of those are set to Primary, the cost-per-lead number in every report is wrong because it’s counting stuff that isn’t a lead.

Then check the counting method on each action. This is the "One" vs "Every" setting, and it matters more than people realize. A contact form should be set to "One" because someone submitting the same form three times isn’t three leads. But a scheduling form where a parent books for themselves and two kids might legitimately be "Every." It depends on the business, and the default is not always right.

Look at the Primary vs Secondary designation too. "Primary" means the action feeds Smart Bidding, so Google’s algorithm will optimize toward it. "Secondary" means it’s tracked but doesn’t influence bidding. If your most important action is set to Secondary, the algorithm is chasing something else entirely.

One thing we see constantly is Google-hosted actions like "Get directions" and "Click to call" set as Primary conversions. These are low-quality interactions that inflate your conversion numbers and confuse the bidding algorithm. We audited an ecommerce account where Maps direction requests were being counted as conversions alongside actual purchases. Their "cost per lead" looked great on paper, but it wasn’t real.

We’ve also seen accounts with three or four separate purchase tracking actions all firing on the same transaction. A Google Ads tag, a GA4 import, and an old Universal Analytics goal that should have been removed two years ago. One sale gets counted as three conversions, your CPA looks a third of what it actually is, and the bidding algorithm is learning from garbage data.

If you’re importing conversions from GA4 into Google Ads, check whether you also have native Google Ads conversion tags firing on the same events. That’s double-counting, and it happens in a lot of accounts.

If the tracking is broken, stop here. Everything after this point depends on it.

Further Reading: Why Your Google Ads Conversion Tracking Is Probably Wrong

2. Campaign Performance

Campaign-level data shows where the money is going and what it’s producing. Blended averages across an account hide more than they reveal.

In the Campaigns view, add these columns if they’re not already there: Cost/conv., Conv. rate, Search impr. share, Search lost IS (budget), Search lost IS (rank). Sort by cost, highest first.

Calculate cost per lead for every campaign and compare them against each other. In a multi-campaign account, the spread is almost always extreme. We’ve seen accounts where one campaign was producing leads at $60 while another was running at $600, and the blended average made everything look fine at $150. We audited a portfolio of 21 accounts recently where the system-wide average cost per lead was $781. The benchmark for that industry is under $100. Nobody had caught it because the reports were showing blended numbers across all offices.

Impression share tells you what percentage of available searches your ads actually showed up for. If a campaign has 20% impression share, you’re missing 80% of the searches you could be showing for. The two "lost" columns tell you why. Lost to budget means your daily budget ran out. Lost to rank means your ad rank wasn’t high enough to enter the auction. These require different fixes. Losing to budget on a campaign that converts well might justify a higher budget, but losing to rank means the problem is Quality Score, bids, or missing extensions, and more money won’t help.

Also look at paused campaigns. Expand the filter to include them. We’ve found accounts where the best-performing campaign was paused months ago and nobody noticed. One multi-location account had their top-performing location paused with a $68 cost per lead and 157 conversions, just sitting there turned off.

If you’re running Performance Max, look at it separately. PMax tends to inflate conversion counts with local actions like direction requests and listing views. Click into the PMax campaign and go to Insights and reports > Channel performance. Check the conversion breakdown by channel. If most of the "conversions" are Maps actions, those aren’t leads. We tested PMax on two accounts in the same portfolio. On one it held up for about two weeks before search term quality collapsed and it started cannibalizing the Search campaigns. On the other it never produced anything but competitor terms and junk. We paused both.

Further Reading: Your Best Google Ads Campaign Is Probably Starving

3. Search Terms

Keywords are what you tell Google you want to show up for. Search terms are what people actually typed. The gap between the two is where most of the waste lives.

Go to Insights and reports > Search terms. Set the date range to at least 90 days. Sort by cost first and scroll through the top 200-300 entries. Then re-sort by impressions and do it again. Sorting by cost alone misses high-impression, low-click terms that drag down your click-through rate and Quality Score without spending enough to look like a problem.

You’re putting everything into buckets. Irrelevant searches, like bidding on "roof repair" and showing up for "roofing contractor jobs." Competitor name searches you’re paying for. Searches from cities outside your service area. Insurance company website lookups when someone is trying to log into their insurance portal, not find a provider. Each of these needs a negative keyword.

Be careful about what you call waste, though. We audited a multi-location account where the initial analysis flagged $9,800 in "wasted" spend on zero-conversion terms. Looked terrible. But when we dug in, about $1,600 of that was people searching for insurance plans the business actually accepts. Those aren’t bad searches. Those are the right people who didn’t convert. That’s a website problem or a phone answering problem, not a targeting problem. The actual defensible waste, once we separated out competitor names, cities outside the service area, and people looking for insurance company websites, was closer to $2,800.

Google’s match types have gotten aggressive over the years. Even exact match now triggers on what Google considers "same intent." Phrase match behaves like old broad match used to. This means match type expansion is constantly pulling in queries you didn’t bid on. Without regular search term reviews and a negative keyword list that’s actually maintained, the account drifts further from your actual targets every week.

For larger accounts, run an N-gram analysis. Break every search term into one, two, and three-word fragments and add up the spend and conversions for each fragment. If the word "free" is showing up across 40 different search terms with $800 in collective spend and zero conversions, one phrase match negative blocks all 40. We ran this on an ecommerce account and found that 58 search terms were cannibalizing across campaigns because nobody had set up campaign-level negatives to route traffic properly.

We also calculate geographic waste on every audit. If the business is in Newark and someone in Philadelphia is clicking on ads, that’s money gone. We take the actual coordinates of the business, measure the distance to every city that shows up in search terms, and flag anything outside the targeting radius that didn’t convert. On one multi-location account, this turned up $1,200 in spend on searches from cities 15-20 miles outside any office’s service area, with zero conversions.

The negative keyword list itself gets audited too. An empty account-level negative list is one of the most common problems we see. We audited an account with 684 campaign-level negatives spread across 17 campaigns, but the account-level list had zero terms in it. Every new campaign started with no protection.

Further Reading: Where Your Ad Budget Actually Goes: Reading a Search Terms Report

4. Keywords & Quality Score

Quality Score is Google’s 1-10 rating of how relevant your keyword, ad, and landing page are to the person searching. It directly controls what you pay per click, and most people have no idea it’s even there.

Go to Keywords, then add the Quality Score columns: Quality Score, Exp. CTR, Ad relevance, and Landing page exp. Sort by spend to focus on the keywords that are actually costing you money.

The overall QS number doesn’t tell you the fix. The three components do. Expected CTR below average means your ads aren’t compelling enough compared to competitors in the same auction. Ad Relevance below average usually means keywords and ad copy don’t match, often because a generic ad is running across ad groups with different intent. Landing Page Experience below average means the page itself is the problem. Each component requires a different fix, and rewriting ads won’t help if the landing page is what’s dragging you down.

The cost impact is real. Google uses QS as a CPC multiplier, and most accounts sit around QS 5, which makes it a useful baseline. Everything above 5 is a discount on what you’re currently paying, everything below is a penalty. At QS 7, you’re paying about 29% less per click. At QS 3, you’re paying 67% more. At QS 1, you’re paying 5x what someone at QS 5 pays for the same position in the same auction. We audited a multi-location account where 93% of spend was going to keywords at QS 4-5. The CPC overpay was about $5,000 a month, nearly $60,000 a year, and it was happening because the ad copy was too generic to compete locally.

On the keyword health side, look for bloat. Zero-impression keywords that haven’t triggered a single ad in 90+ days are dead weight. Duplicate keywords across campaigns that aren’t separated by geography are competing against each other in the same auctions, splitting the data and preventing either campaign from learning. Broad match keywords running without Smart Bidding will expand into irrelevant territory fast.

Brand keywords should be at QS 8-10. You own your name. If you’re not hitting that, something is structurally wrong with the brand campaign. Usually it’s the landing page or a missing ad group that matches the brand terms directly.

Further Reading: The Quality Score Tax You Don’t Know You’re Paying

5. Account Settings

There are settings in Google Ads that Google turns on by default, or turns on without asking, and most people don’t know they’re there. This is where we find the stuff that’s been quietly costing money in the background.

Start with auto-apply recommendations. Go to Recommendations, then look for the "Auto-apply" button near the top. Check what’s toggled on. Google will apply its own recommendations to your account without telling you. Adding keywords, changing bids, creating ads. Auto-applied recommendations optimize for Google’s auction revenue, not your cost per lead.

Then check for automatic asset creation and text customization. This is under each campaign’s settings, or at the account level under Tools > Setup > Account Settings. Even with auto-apply turned off, Google can still generate sitelinks, callouts, and ad headlines on its own. We’ve seen accounts with 200+ auto-generated sitelinks including "Career Opportunities," "Pay Bill," and "Join Our Network." None of that helps a customer find you.

Look at whether Search Partners is enabled. It’s on by default and shows your ads on partner sites that aren’t Google Search. Some accounts do fine with it and many don’t, but the only way to know is to check performance by network. Most people never look.

See whether Display Network is enabled on Search campaigns. This shows your ads on websites across the internet instead of just in search results. On Search campaigns, it’s almost always wasted spend and should be its own campaign with its own budget, or just turned off.

Location targeting is a big one. Under campaign settings, there’s a setting for "Presence" vs "Presence or Interest." If it’s set to "Presence or Interest," your ads will show to people who aren’t in your service area but who "show interest" in it, which can mean someone in another state who searched for your city name once. For any local business, this should be "Presence" only.

Check the change history too. Go to Insights and reports > Change history. This tells you who changed what and when. If the last 90 days of changes are all "Google Ads (auto-applied recommendation)" entries with no human edits, nobody is managing the account. We reviewed one account where 100% of changes in the last 14 days were automated IP exclusions from a bot-blocking tool. Zero human edits to keywords, bids, negatives, or ad copy. The account was on autopilot.

Further Reading: What "Managed by an Agency" Actually Looks Like in Your Google Ads Account

6. Landing Pages

The landing page is where the click either turns into a lead or doesn’t. It’s also a direct input to Quality Score. A bad landing page costs you twice, once through lost conversions and again through higher CPCs on every click.

Go to Insights and reports > Landing pages. This shows which URLs are receiving traffic and how they’re performing. Then open each one.

Message match is the first thing to check. If the keyword is "commercial HVAC repair" and the ad mentions HVAC repair, but the landing page is a general homepage listing every service the company offers, that’s a relevance gap. Google’s AdsBot crawls these pages roughly every two weeks and uses the content match as a Quality Score input.

Then look at conversion mechanics. Is there a phone number visible without scrolling? Is it clickable on mobile? Is there a form, and how many fields does it have? Every field past three or four costs completions. Multi-step forms convert significantly better than long single-page forms, but most businesses just use whatever their form plugin defaulted to. We’ve also found scheduling widgets that were completely broken on three out of five office locations for the same business. Visitors clicked "Schedule" and got an error. The ads were working. The website wasn’t.

Run every landing page URL through Google’s PageSpeed Insights. Look at the mobile score and the Core Web Vitals numbers. The thresholds are LCP (largest paint) under 2.5 seconds, CLS (layout shift) under 0.1, and INP (interaction delay) under 200 milliseconds. We audited a five-location business where every single landing page failed LCP. The fastest one loaded in 4.5 seconds. The slowest was 6.9 seconds. On an ecommerce account, every product page was loading in 15-20 seconds on mobile because of 891KB of unused JavaScript from the Shopify theme. Desktop tested fine, but mobile was unusable. That’s a broken experience for the vast majority of the people clicking on the ads.

A dedicated page for each high-spend service will outperform sending everyone to a homepage or general services page. We see this constantly. All ad traffic going to one page regardless of what the person searched for. The homepage conversion rate for paid traffic is typically a fraction of what a dedicated landing page would produce.

Further Reading: Your Landing Page Is Costing You Twice (And You Probably Don’t Know It)

7. Ad Copy & Assets

Your ads are what the searcher actually sees. They affect whether someone clicks, how much that click costs through Quality Score, and whether the right people are clicking in the first place.

Go to Ads & assets > Ads. Filter to Enabled only. Open each Responsive Search Ad and look at the headlines and descriptions.

The headlines need to match the keyword intent of their ad group. "High-Quality Professional Services" is generic filler that could be on any ad in any industry. Headlines should reflect what the person searched for and give them a reason to pick you over the other three ads on the page.

Each ad group should have its own distinct RSA. A lot of accounts reuse the same ad copy across every ad group. If the ad group for kitchen remodels and the ad group for bathroom remodels have identical headlines, Google can’t optimize for intent. The person searching "kitchen remodel" should see an ad about kitchens, not a generic ad about home improvement.

One thing that trips people up is the difference between Ad Strength and Ad Relevance. Ad Strength is the "Poor" to "Excellent" rating on your RSA. It’s Google’s assessment of whether you’ve provided enough headline and description variety. It does not affect your CPC or position. Ad Relevance is the Quality Score component that measures how well the ad matches the search query. That one affects your CPC. Don’t chase Ad Strength scores at the expense of writing tightly relevant copy.

Then go to Ads & assets > Assets and check whether sitelinks, callouts, and structured snippets are set up. Account-level assets apply to every campaign the same way, so a sitelink that says "Our Services" on every campaign is a missed opportunity. Each campaign should have sitelinks relevant to its own topic. They also need descriptions, and many accounts have them set up with just the link text, which limits how they appear in search results.

Look for auto-generated assets here too. Google will create its own sitelinks and callouts if you don’t have enough. We’ve seen accounts with hundreds of auto-generated sitelinks for pages like "Careers," "Pay Bill," and "Partner With Us." Stuff that has nothing to do with getting a customer.

Further Reading: Ad Strength vs. Ad Relevance: The Google Ads Metric Most People Get Wrong

8. Bidding Strategy

The bidding strategy tells Google how to spend your budget. Each strategy needs specific conditions to work, and the wrong one for the situation burns money quietly.

Click into each campaign’s Settings and look at the Bidding section.

Smart Bidding strategies like Maximize Conversions, Target CPA, and Target ROAS all need conversion volume to learn. Google says 15-30 conversions per month per campaign as a minimum. In practice, 30 is where you get stability and 50 is where setting a CPA or ROAS target starts to make sense. An account running Target CPA on 3-5 conversions a month is giving the algorithm almost nothing to work with. It’ll overbid on bad traffic, underbid on good traffic, and spend the budget regardless.

Max Clicks with a CPC cap is the right starting point for campaigns that don’t have enough conversion history yet. Once you hit 30+ conversions a month with clean tracking, switch to Maximize Conversions. Once you’re confident in the data at 50+, add a CPA or ROAS target.

Brand campaigns are different. The goal is to show up when someone searches your name, not to optimize for conversions. Brand should be on Target Impression Share, set to 90-95% top of page with a reasonable CPC cap. Never run brand on Maximize Conversions or Target CPA because there’s not enough volume for the algorithm to learn, and the conversions are mostly existing customers anyway. We took over an account where the brand campaign was on Max Conversions with a 29% impression share. 71% of people searching the business name weren’t seeing an ad. Competitors were. Switching to Target Impression Share at 90% was one setting change.

One more thing worth checking: Enhanced CPC was deprecated by Google in March 2025. If you still see it running on campaigns, nobody has touched those settings in over a year.

Further Reading: How to Pick the Right Google Ads Bidding Strategy (Without Guessing)

9. When & Where Your Ads Show

Ad scheduling controls when your ads run. Geographic targeting controls where. Both should be driven by data, not assumptions.

Go to Audiences, keywords, and content > Ad schedule. Toggle between the Day and Hour views. Set the date range to at least 90 days because 30 days usually isn’t enough conversion data to see real patterns.

Look at when conversions actually happen and what they cost by time slot. The assumption is always "run ads during business hours only." The data usually says something different. Evenings and weekends frequently convert at a lower cost because there’s less auction competition. Turning off ads outside of business hours because "nobody’s in the office" ignores that forms and scheduling links work 24/7.

Smart Bidding & Ad Schedule

If the campaign is on Smart Bidding, there's a detail that catches a lot of people off guard. Manual bid adjustments by time of day do nothing. The algorithm already handles time-based optimization on its own. The only scheduling action that works with Smart Bidding is turning a time slot completely off with -100%. Setting +20% on weekday mornings has zero effect.

On the geo side, check that your targeting radius makes sense for the business. A general dentist in a metro area should be targeting 3-5 miles, not 15. A specialty practice like an implant center can go wider because patients will travel for high-ticket procedures. And make sure the targeting is set to "Presence." If it’s on "Presence or Interest," you’re showing ads to people who aren’t actually in your area.

Further Reading: Should You Run Google Ads Outside Business Hours?

10. Account Structure

Campaign structure determines how data flows through the account. A good structure makes optimization possible. A bad one makes everything harder.

The first thing to check is whether brand and non-brand traffic are separated. Brand searches, people typing your business name, convert cheaply because they already know you. If brand traffic is mixed into the same campaigns as non-brand, the blended numbers make non-brand look better than it is. "Our CPA is $45" sounds great until you realize $40 of that is brand and non-brand is actually $180.

Look at ad group themes. Each ad group should contain keywords that share the same intent and could be served by the same ad. If one ad group has "emergency plumber," "plumber near me," and "install new water heater" in it, those are three different intents crammed into one container and Google can’t write an ad that’s relevant to all three.

A reasonable keyword count per ad group is 5-15. If you see ad groups with 30, 40, 50+ keywords, the theme is too broad. If you see hundreds of ad groups with one keyword each, that’s an old-school SKAG structure that doesn’t work anymore. Google’s close-variant matching and Smart Bidding have made single-keyword ad groups a relic.

Watch for orphaned ad groups too. Ad groups with no active keywords or no active ads that got created during campaign builds and forgotten about.

Shared budgets deserve a look. When campaigns share a budget, you can’t control which campaign gets funded. A high-performing campaign and a low-performer sharing a budget means the low-performer can eat into the good one’s spend.

Further Reading: Why Your Google Ads CPA Is Lying to You

11. Competitive Landscape

You’re not advertising in a vacuum. Other businesses are bidding on the same keywords in the same markets, and understanding who they are and how aggressively they’re competing changes how you approach the account.

Go to Campaigns, select a campaign, then go to Insights and reports > Auction insights. This shows every competitor who showed up in the same auctions as you.

Impression share tells you how often you showed up versus how often you could have. Overlap rate tells you how often a specific competitor appeared alongside you. Position above rate tells you how often they outranked you. If a competitor has a 70% position above rate, they’re consistently beating you, either with higher bids, better Quality Score, or both.

Brand impression share is the one that matters most for most businesses. If you search your own business name and your ad doesn’t show up, a competitor’s might. We’ve seen brand impression share as low as 10%, meaning competitors were capturing 90% of branded searches. The fix is usually straightforward. A dedicated brand campaign on Target Impression Share set to 90-95%.

One more thing that most people skip is conversion lag. This is the time between when someone clicks an ad and when they actually convert. Google Ads counts conversions on the day of the click, not the day of the conversion. If your conversion lag is 7 days and you’re making optimization decisions based on the last 3 days of data, you’re working with incomplete numbers. You can check this under Tools > Measurement > Attribution > Conversion paths.

Further Reading: Someone Else Is Showing Up When People Search Your Business Name

12. Audiences & Remarketing

Most Search accounts have either no audience strategy at all or audiences that were set up and forgotten about. Either way, it’s worth looking at.

Go to Audiences, keywords, and content > Audiences. Look at what’s applied to each campaign and whether it’s in "Observation" or "Targeting" mode.

Observation mode means the audience is being watched. Google tracks performance for that group but still shows ads to everyone. This is the safe default and a good starting point because it lets you see whether past website visitors convert better than new visitors (they almost always do) without restricting your reach.

Targeting mode means ads only show to people in that audience. This works well for remarketing but it’s restrictive for prospecting campaigns. If someone accidentally set a prospecting Search campaign to Targeting mode with a small audience, the campaign is starved for impressions and the person running it probably doesn’t know why.

Check remarketing list sizes. As of December 2024, the minimum is 100 users across all networks. It used to be 1,000 for Search. If your lists are below 100, they’re not being used. Customer Match lists have a 540-day cap since April 2025, so if nobody has refreshed the list, the audience may have expired or shrunk significantly.

For most businesses, the audience play on Search is simple. Add your remarketing list in Observation mode to your Search campaigns and see if past visitors convert at a higher rate. If they do, increase the bid adjustment for that audience. If you have enough volume, consider a separate remarketing Search campaign with broader keywords. You can afford to bid on broader terms when you know the person has already visited your site.

Further Reading: The Simplest Google Ads Optimization Most Accounts Don’t Have

That’s the Full Process

Twelve steps, same order every time. The order matters because each step builds on the one before it. Tracking has to be right before you can trust performance data, performance data informs the bidding evaluation, and bidding has to match the campaign’s data maturity before it can work.

We’ve used this process to surface thousands of dollars in monthly waste that nobody noticed because they were looking at blended averages instead of the details. It’s also found accounts that were in solid shape and just needed a few targeted fixes. We’ve rebuilt 8 inherited accounts in a single week after an audit showed the same problems across every one of them. We’ve also audited accounts and told the owner their campaigns were fine and just needed a few negatives and a bid strategy change.

Want Us to Run This on Your Account?

We’ll go through every step above on your account and walk you through what we find. No sales pitch, no jargon.

Want Us to Run This 12-Point Audit on Your Account?

We'll walk you through every step of what we find. No sales pitch, no jargon.

Get a Free PPC Audit
Dean Duncan Jones Avatar

Dean Duncan Jones

Founder @ Brick & Mortar Digital

Founder @ Brick & Mortar Digital | Dean is a seasoned digital marketer with 20+ years of experience in SEO, PPC, digital strategy, conversion rate optimization, online business consulting, and more. He excels at the technical and analytical aspects of paid digital and SEO.

Areas of Expertise: SEO, PPC, Digital Marketing, CRO, Project Management, Online Business Consulting