You have been running Google Ads for a while. Money goes out every month. The phone rings sometimes. But you cannot tell which calls came from the ads, whether the people calling are actually in your service area, or whether the campaign is set up the way it should be. You suspect a portion of what you are spending is going somewhere it should not.

An audit is the structured way to find out. This post explains what a real Google Ads audit covers for a roofing contractor, what problems it almost always turns up, and how to recognize the difference between a genuine review and someone clicking around for half an hour and declaring everything fine.


What a Real Audit Is

A Google Ads audit for a roofing company is a systematic check of every layer that determines whether the account is bringing you qualified inspection requests or burning money on the wrong people.

This is not the same as Google’s built-in “recommendations” tab. Those recommendations are designed to move accounts toward more automation and higher spend. They are not a diagnosis. A real audit asks whether the account matches your actual business: your service area, the types of jobs you want, your availability, and the way customers contact you.

For a roofing contractor running Search campaigns and possibly Local Services Ads, a thorough audit takes two to four hours. What comes out is a specific list of problems ranked by cost and impact, not a list of vague suggestions.


The First Check: Are You Measuring the Right Thing

Before looking at a single keyword or bid, the most important question is whether the account knows what a successful outcome looks like.

For a roofing company, a conversion is a phone call or a form submission from a homeowner in your service area who has a roofing need and might hire you. It is not a click. It is not a visit to your homepage. It is a real person reaching out.

The most common measurement failure I find in roofing accounts is that there is no call tracking in place at all. The account spends money on clicks. A homeowner clicks the ad, visits the website, and calls the phone number on the page. Google Ads has no record that the call happened. The account shows zero conversions while the owner is receiving calls and wondering why the ads are not working.

In this state, everything downstream breaks. The bidding system cannot identify what is working, so it cannot optimize toward it. The owner cannot tell which keywords or campaigns drive calls. Budget decisions get made on guesswork.

The second failure is measuring the wrong thing: counting a visit to the contact page as a conversion, or using the same phone number across your website and your ads without tracking which source generated which call. This looks like working data. It is not. Decisions made on wrong data produce wrong results.

What correct measurement looks like for a roofing company: one conversion fires when someone taps the call button in the ad itself (Google provides a forwarding number for this), a second fires when someone calls a tracked number on the website after clicking through an ad, and a third fires when someone submits an estimate or contact form. Every real lead is counted once and tied back to the campaign and keyword that drove it.


Geographic Targeting: Where Your Ads Are Actually Showing

The second thing I check is whether ads are reaching homeowners in the service area and only those homeowners.

Geographic waste is the most straightforward budget loss in local roofing accounts. A contractor serving a 30-mile radius around their city discovers, when they pull the geographic report, that clicks have been coming from towns an hour away, from counties they never touch, and sometimes from neighboring states.

This happens because Google Ads offers two options for geographic targeting. The first shows ads to people physically located in your selected area. The second shows ads to people who are in the area or who have shown interest in it. The second option sounds reasonable until you think through what “shown interest” actually means. It can include someone who searched for something in that city months ago, someone planning a visit, or someone reading news coverage about a storm that hit your region. None of them are prospective customers for you.

Many accounts are set up on the broader option during the initial automated setup process and never changed. The result is a meaningful portion of the budget going to people who will never call.

For roofing specifically, this problem is worse after major weather events. A hailstorm in your market draws search activity from across the country, including from people with no connection to your area. Without tight geographic targeting, your ads reach them.

What I look for: the geographic performance report broken down by city and region, showing exactly where clicks and any recorded conversions are actually coming from. A well-configured roofing account shows concentration in the service footprint. A poorly configured one shows spend scattered across a much broader area.


Search Terms: What Queries Actually Triggered Your Ads

For roofers running Search campaigns, the search terms report shows every real query a person typed before clicking the ad. This is one of the most revealing parts of any audit.

What I typically find when I pull this report for roofing accounts:

People shopping for roofing materials, not hiring a contractor. “Metal roofing panels price,” “architectural shingles home depot,” and “roof underlayment per square cost” are searches from people planning or pricing a material purchase, likely for a DIY project. They are not calling for an inspection.

People researching the insurance process. “How long does a homeowners claim take,” “what does insurance cover for hail damage roof,” and “how to file a roof insurance claim” are early-stage searches from homeowners who may eventually hire a roofer but are nowhere near ready to book an inspection now. These clicks cost real money and produce almost no immediate leads.

People looking for roofing jobs. “Roofing crew hiring near me” and “experienced roofer job openings” are job seekers. Not customers.

Queries from outside the service area. “Roofers in Kansas City” when you are based in St. Louis.

All of these appear because keyword match types, the settings that control how closely a search query must resemble your keyword before your ad triggers, are often set too broadly. A keyword like “roofing company” on broad match triggers for an enormous range of related queries, most of which have nothing to do with hiring a roofer.

The fix involves tightening match types and building a negative keyword list: a list of terms that should never trigger your ads. A well-managed roofing account has hundreds of negatives accumulated over time. An account that has never been reviewed typically has fewer than twenty.


Campaign Structure: Are Services Separated or Lumped Together

After measurement and traffic quality, I look at how the campaigns are organized.

The most common structural problem I find: one campaign, all services bundled together, one set of generic ads trying to speak to every job type. A contractor who handles storm damage repairs, full replacements, flat commercial roofing, and gutters has all of it in one campaign with ads that say something like “Top Rated Roofer, Free Estimates.”

The issue is that the intent behind searches varies dramatically by job type. Someone searching “emergency roof leak repair today” is in crisis mode and needs to reach someone now. Someone searching “average cost of roof replacement” is early in a months-long consideration process. A single generic ad addresses neither search with any specificity.

Proper structure means separate ad groups or campaigns for distinct service types, so that storm-damage ads speak to urgency and availability, replacement ads address the concerns a homeowner weighing a major investment actually has, and commercial roofing ads speak to the different decision-making process for business owners or property managers. This alignment between search intent and ad copy improves click quality and, more importantly, the rate at which callers turn into booked inspections.


Ad Copy: Does It Say Enough to Filter the Right Caller

The last element I review is whether the ads themselves do any work to attract serious callers and filter out the wrong ones.

An ad that says only “Licensed Roofer, Free Estimate, Call Now” gives a homeowner no reason to choose you over the nine other options showing in the same search. It also gives no information about service area, specialty, or what calling actually gets the person. It attracts anyone who sees it.

Specific ads do the opposite. Mentioning your service area, the type of work you do best, what the inspection involves, and what the caller can expect communicates something real. It draws in homeowners who are ready to act and discourages people who are browsing for prices with no intention of booking. Click volume may go down. The rate at which clicks become inspections goes up.


What Audits Typically Find

Across the roofing accounts I have reviewed, the same problems appear in different combinations: no call tracking or tracking that fires on the wrong event, geographic waste from a targeting setting that nobody knew was on, a search terms report full of material shoppers and job seekers and insurance researchers, campaigns mixing every service type into generic ads, and copy that does not say enough to attract the right caller.

Most accounts have two or three of these. The accounts that have been actively managed have fewer. The accounts that were set up by a marketing company and left running without regular attention typically have all of them.


Getting This Fixed

Auditing a roofing company’s Google Ads account is exactly the kind of work I do for local service businesses. The problems described here are fixable, and finding them in a structured review takes a fraction of the time it takes an owner to piece together what is wrong while also running a roofing company.

If your ad spend does not feel like it is producing the qualified leads your business needs, an audit is the right place to start. Reach out at adnanagic.com/#contact.

Part of the Google Ads for Roofers series, written for roofing contractors who want their ad budget to bring qualified jobs that close, not expensive dead-end leads.

Related Posts

A Google Ads Audit for Auto Repair Shops: What Is Quietly Wasting Your Budget

11 min read

Google Ads for Auto Repair ShopsGoogle AdsLocal ServicesLead Generation

A Google Ads Audit for Electricians: What Is Quietly Wasting Your Budget

11 min read

Google Ads for ElectriciansGoogle AdsLocal ServicesLead Generation

Storm Season: How to Scale Your Roofing Ads Up and Down Without Wasting Money

9 min read

Google Ads for RoofersGoogle AdsLocal ServicesLead Generation
Adnan Agic

Adnan Agic

Google Ads Strategist & Technical Marketing Expert with 5+ years experience managing $10M+ in ad spend across 100+ accounts.

Need Help With Your Google Ads?

I help e-commerce brands scale profitably with data-driven PPC strategies.

Get In Touch
Back to Blog