You know that calls are coming in. You know that some of those calls turn into inspections and some into jobs. What you probably do not know is which ads, which keywords, or which campaigns drove the calls that actually became jobs. Most roofing contractors are making budget decisions based on how busy the phone feels, not on what the data says about what is actually working.

This is not a minor detail. In a market where a single click can cost thirty or forty dollars and a booked inspection might cost several hundred, making budget decisions based on guesswork means either cutting what is working or keeping what is not. Either one is expensive.


The Most Common Tracking Failure

The most common situation I find in roofing accounts: there is no call tracking at all.

The campaign runs. Clicks happen. Homeowners visit the website and call the phone number listed there. Google Ads has no record that any of those calls occurred. The account shows zero or near-zero conversions while the owner receives calls and concludes the ads are not doing anything, or concludes the ads are working because calls are coming in without knowing which ones came from the ads.

Both conclusions can be wrong. Without tracking, there is no way to know.

This failure is significant because the campaign’s bidding system, the part of Google Ads that decides how much to spend to reach different types of searchers, depends on conversion data to make decisions. When there is no conversion data, the system is bidding blind. It has no signal about which searches produce results, so it distributes budget based on factors that have nothing to do with whether a call actually happens.


Tracking That Fires on the Wrong Event

The second common failure is subtler: tracking is set up, but it counts the wrong things.

Counting a visit to the contact page as a conversion is common. The logic is that someone who viewed the contact page was interested. The problem is that people land on contact pages for all kinds of reasons: they are looking for an address, they wanted to see if you serve their area, they clicked the wrong link. A contact page view is not a lead.

Counting any click on a phone number on the website is also common and also inaccurate. The number shown on the website is a fixed number. If someone calls it from a direct search, from a Google Business Profile listing, from a referral link, or from an ad, they all call the same number. There is no way to know which source drove which call.

Both of these setups make the account look like it is producing conversions when it is actually producing data noise.


What Proper Tracking Actually Involves

For a roofing company running Google Ads, three conversion actions cover the critical paths:

The first is a call from the ad itself. When someone searches and sees your ad, a phone number appears directly in the ad. Google provides a forwarding number for this. When someone calls it, that call is recorded as a conversion and credited to the campaign and keyword that triggered the ad. This is the most direct measurement of an ad driving a call.

The second is a call from the website. When someone clicks the ad and visits your site, they often call the number shown on the page rather than calling from the ad directly. To track these calls back to the ad that drove them, the website number needs to dynamically swap to a tracked version for visitors who arrived from a Google Ad. A visitor who came from an ad sees one number; a visitor who came from a Google search without clicking an ad sees a different number; a visitor from a referral link sees another. Each source gets its own trackable number.

The third is a form submission. When someone fills out the estimate request or contact form on your site, that submission should fire a conversion. Tied to the ad that drove the visit, it shows how many inspection requests are coming from which campaigns.

With all three in place, every real lead, whether they called from the ad, called from the website, or submitted a form, is recorded and attributed back to the source.


The Bidding Connection: Why Tracking Data Changes Everything

When conversion data exists, the bidding system has something to work with. It can observe that searches on certain keywords at certain times of day from certain locations tend to produce calls, and it can weight bids accordingly.

Without conversion data, the system bids on the signals it can see: predicted click rates, ad quality scores, and historical patterns from other advertisers. These signals are real but indirect. They are a proxy for performance, not a measurement of it.

In practical terms, a roofing account with proper call tracking and several months of conversion data makes better bidding decisions automatically. The system learns which searches produce calls and allocates more budget toward them. An account without tracking stays at the starting point indefinitely, spending budget based on the indirect signals and never learning what actually works for your specific business.


The Attribution Gap: From Call to Closed Job

Even with call tracking in place, there is a gap between measuring that a call happened and knowing whether that call turned into a booked inspection and a closed job.

Call tracking tells you that a call came from a specific keyword. It does not tell you that the caller was qualified, scheduled an inspection, and signed a contract. That information lives in your head, or in your CRM, or in a spreadsheet. It does not automatically flow back into Google Ads.

This gap is something most roofing accounts live with permanently. The campaign optimizes toward calls, some of which turn into jobs and some of which do not, with no mechanism to teach the system which calls were worth having.

There is a partial solution. If you track which calls become booked inspections, you can periodically share that data with the campaign, telling it which conversion events actually resulted in a job. This is called offline conversion import, and it closes the loop between what the campaign measures and what the business actually cares about.

It is not easy to set up and requires consistent process on the CRM or scheduling side. But for roofing contractors spending meaningful amounts on ads, it is the difference between optimizing toward calls and optimizing toward jobs.


The Minimum You Need

If none of the above is currently in place, the minimum that makes the account functional:

Call extensions with Google’s forwarding number, so calls from the ad itself are recorded. Dynamic number swapping on the website, so calls from ad visitors are tracked back to the source. A form submission conversion action on the estimate request form.

This is not complicated to set up. It requires someone to go into the account and create the conversion actions, install the tracking number swap on the website, and verify that the events are firing correctly. It takes a few hours. It unlocks the ability to know whether the campaign is working.

Everything else, offline conversion import, bid strategy adjustments, campaign optimization, depends on having this foundation. Without it, every other optimization is guesswork applied to guesswork.


What Tracking Reveals

When tracking is set up correctly and data accumulates over a few months, the picture it reveals is almost always surprising.

Some keywords that felt productive are driving few calls. Some keywords that never showed up in the reporting are driving a disproportionate share of booked inspections. Geographic patterns emerge: certain zip codes produce more qualified callers than others. Time-of-day patterns appear: calls from certain hours turn into inspections at different rates than calls from other hours.

None of this is knowable through feel. The owner who has been running the business for ten years has intuitions about what works. Those intuitions are usually partially right and always incomplete. The data fills in the parts that intuition cannot see.


Getting This Fixed

Setting up proper call and conversion tracking for a roofing company’s Google Ads account, and making sure it measures what actually matters, is exactly the kind of foundational work I do for local service businesses.

If you have been spending on roofing ads without knowing which campaigns drive the calls that turn into jobs, this is the first thing worth fixing. 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

Is Your Marketing Company Booking You Roofing Jobs, or Just Sending Reports

9 min read

Google Ads for RoofersGoogle AdsLocal ServicesLead Generation

Insurance-Claim Roofing Jobs: How to Attract Homeowners Who Are Actually Covered

9 min read

Google Ads for RoofersGoogle 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