Here is a question that reveals more about a roofing company's Google Ads setup than almost anything else: which keywords are generating your phone calls?
Most roofers running Google Ads cannot answer it. They know they are spending money. They get calls. They assume the ads are working because they get calls when the ads are running. But they cannot tell you whether "emergency roofer Leeds" generates three times as many calls as "roofing contractor Leeds," or whether one campaign is delivering £40 leads while another is producing nothing at £8 per click.
Without call tracking, you are running Google Ads on guesswork. You cannot optimise what you cannot measure. You cannot identify which keywords to spend more on or which to pause. You cannot use Smart Bidding effectively because Google's algorithm has no conversion signal to learn from — it is optimising for clicks, which is not the same thing as leads.
Call tracking solves this. It connects the phone call you received at 4pm on Wednesday to the specific keyword, ad, and campaign that generated it. This guide covers every layer of call tracking available to a UK roofer — from the free built-in options within Google Ads to third-party call recording platforms — with step-by-step setup instructions for each.
Why call tracking changes everything about how you run Google Ads
The roofing business is telephone-led. When a homeowner needs a roofer, they call. They do not submit a form and wait 24 hours for a response — especially not for an emergency or urgent repair. Industry data consistently shows that 75–85% of roofing enquiries arrive by phone, not by contact form. This creates a fundamental measurement problem for any roofer running Google Ads.
Google Ads natively tracks what happens on your website — page views, time on site, and form submissions. But when a homeowner clicks your ad, lands on your site, sees your phone number, and calls you directly without filling in any form, Google Ads has no visibility of that conversion. From the platform's perspective, that click looks like a bounce — someone who visited and left without doing anything. Your campaign data shows costs and clicks but no conversions, making every decision about budget, bidding, and keyword management a guess.
The three layers of call tracking available to a UK roofer
There is not one type of call tracking — there are three distinct layers, each with different capabilities and costs. Understanding what each layer does tells you which ones you need for your setup right now.
Google Ads Call Assets (formerly call extensions)
Adds your phone number directly to the ad. Calls made via the ad (click-to-call on mobile) are tracked as call conversions. Does not require website code. Works for calls directly from the ad before visiting your site.
Google Ads Website Call Conversions (Dynamic Number Insertion)
Swaps the phone number on your website with a tracking number for visitors who arrived via a Google Ad. Calls to this tracking number are attributed to the specific campaign, ad group, and keyword. Requires a JavaScript snippet on your website.
Third-party call tracking (CallRail, ResponseTap, JustCall)
Full call recording, multi-channel attribution (Google Ads + organic + direct), keyword-level call data, caller ID, missed call alerts, and CRM integration. Costs £30–£80/month but adds capabilities Google's built-in tracking cannot match.
No tracking at all / manual logging
Asking callers "how did you find us?" and manually noting it in a spreadsheet. Produces recall bias, is inconsistent, and provides none of the campaign-level data Google Ads needs to optimise bidding. Not a substitute for technical tracking.
For most roofing contractors, the right approach is Layers 1 and 2 (both free) as the foundation, with Layer 3 added when you want call recording, multi-channel attribution, or more detailed analytics than Google Ads provides natively.
Layer 1 setup: Google Ads call assets
Call assets (previously call extensions) add a phone number directly to your search ad. On mobile, this creates a clickable phone icon that lets users call you without visiting your website. Calls made through this feature are tracked automatically as call conversions in your Google Ads account.
-
1Access your Google Ads account and navigate to Assets
In Google Ads, click "Campaigns" in the left navigation, then select "Assets" from the left menu. Click the blue "+" button and select "Call" from the asset types listed.
-
2Enter your phone number
Select your country (United Kingdom) and enter your business phone number. Use your primary mobile number — this is what homeowners will call. Make sure it is the same number displayed on your website for consistency.
✅ Call reporting settingEnable "Call reporting" when prompted. This is what allows Google to track whether the call was made from the ad and for how long. Without call reporting enabled, the call asset will display your number but not count calls as conversions.
-
3Set conversion counting and minimum duration
In the call reporting settings, set "Count" to "One per click" (not "Every") and set the minimum call duration to 60 seconds. This ensures only genuine enquiry calls (not wrong numbers or 10-second hang-ups) are counted as conversions. For roofing, 60–90 seconds is a reasonable minimum — a genuine lead conversation will typically last at least that long.
-
4Apply the asset to the correct campaigns
Apply the call asset at the account level (so it appears on all campaigns) or at the campaign level if you want it on specific campaigns only. For most roofing accounts with one or two campaigns, account-level is fine. Save and allow up to 24 hours for the asset to begin appearing in your ads.
Layer 2 setup: website call conversions (the most important one)
Website call conversions use Google's dynamic number insertion (DNI) technology to swap the phone number on your website with a Google tracking number for visitors who arrived via a Google Ad. When that visitor calls the tracking number, the call — and its duration — is recorded and attributed back to the exact keyword, ad, and campaign that brought them to your site.
This is the most valuable tracking mechanism for roofing because it captures the majority scenario: homeowner clicks your ad, visits your site, decides you look credible, and calls the number they see on the page.
-
1Create the conversion action in Google Ads
In Google Ads, go to Tools & Settings (the spanner icon) → Measurement → Conversions. Click the blue "+" button. Select "Phone call" as the conversion source, then select "Calls to a phone number on your website." Name it clearly: "Website Phone Call — Roofing." Set the value to either a fixed amount (your estimated average lead value, e.g. £150) or "Don't assign a value" — the value setting helps with ROAS bidding but is optional to start.
-
2Set the minimum call duration
Set the minimum call duration to 60 seconds (or 90 seconds if you prefer a stricter filter). Calls shorter than this threshold will not be counted as conversions. This filters out wrong numbers, automated calls, and very brief interactions that are not genuine enquiries.
-
3Get the Google Ads tag and phone snippet code
Google will provide you with two pieces of code: the Global Site Tag (gtag.js) if not already installed, and a Phone Snippet specific to this conversion action. You need both on every page of your website. The Global Site Tag fires on every page load; the Phone Snippet detects when a visitor came from a Google Ad and swaps the phone number.
✅ If you already have Google Analytics 4 or the Google Ads tag installedIf Google Analytics 4 is connected to Google Ads, or if you already have the Google Ads Global Site Tag on your website (check using Google Tag Assistant in Chrome), you may only need to add the Phone Snippet — not the full Global Site Tag again. Adding the Global Site Tag twice can cause double-counting issues. Check before adding any code.
-
4Install the code on your website
The Global Site Tag goes in the <head> section of every page (or as high in <head> as possible). The Phone Snippet goes after the Global Site Tag, also in <head>. Your phone number in the HTML should be wrapped in a tel: link so the DNI script can find and replace it.
<!-- Your main phone number — DNI will swap this for tracked visitors -->
<a href="tel:+447700000000" class="phone-number">07700 000000</a>
<!-- The Phone Snippet detects this link and replaces the number
for visitors who arrived via a Google Ad -->
<script>
gtag('config', 'AW-CONVERSION_ID/PHONE_CONVERSION_LABEL', {
'phone_conversion_number': '07700 000000'
});
</script>
<!-- Replace CONVERSION_ID and PHONE_CONVERSION_LABEL with
the values from your Google Ads conversion action -->
-
5WordPress installation (no code editing required)
If your website runs WordPress, install the free "Site Kit by Google" plugin and connect your Google Ads account. Site Kit installs the Global Site Tag automatically. For the Phone Snippet, use the "Header Footer Code Manager" plugin (free) to add it to your site header without editing theme files. This approach requires no PHP or HTML knowledge.
-
6Verify the setup with Google Tag Assistant
Install the Chrome extension "Google Tag Assistant" and visit your website as a normal user. The extension will show which tags are firing and whether the conversion tracking tag is detected. For the DNI to work, simulate a visit from a Google Ad by appending
?gclid=testto your URL and checking whether the phone number changes — this mimics the presence of a Google Click ID that DNI uses to identify ad visitors.✅ Testing in Google AdsIn Google Ads, go to Tools → Conversions and find your "Website Phone Call" conversion action. The status column will show "Unverified" until a real conversion fires. After one real call of the minimum duration via your site, the status changes to "Verified" and data begins to appear in your campaign reports. This can take a few days after launch if your traffic is modest.
Layer 3: third-party call tracking platforms
Google's built-in call tracking tells you how many calls each campaign generated and their duration. What it does not tell you is: what the caller said, what job type they needed, whether you actually booked the job, which channel (Google Ads, organic search, GBP, direct) generated each call, or whether you missed any calls and when.
Third-party call tracking platforms fill these gaps. They are genuinely worth the cost once your Google Ads account is mature and you want richer attribution data or call recording capability.
CallRail
The most widely used call tracking platform among UK SMEs running Google Ads. Offers keyword-level call attribution, call recording, transcription, multi-channel tracking, and Google Ads integration. Plans start at approximately £35/month for basic call tracking. The Google Ads integration sends call conversion data directly into your Google Ads account automatically.
ResponseTap
A UK-headquartered call tracking platform with strong Google Ads integration. Often used by larger businesses and agencies. Pricing starts higher than CallRail but includes more enterprise features. If you are using a Google Ads agency, they may already have a ResponseTap relationship — worth checking before signing up independently.
Sonetel
A lower-cost option suitable for roofers who primarily want separate trackable phone numbers for different channels (Google Ads, van wrap, Checkatrade, organic site) rather than full call analytics. Provides UK virtual numbers with forwarding from around £2/month per number — the most affordable way to create distinct tracking numbers without a full call analytics platform.
JustCall
A cloud phone platform with built-in call tracking and CRM integration. Particularly useful for roofing businesses that also want to improve their call handling with features like call queuing, voicemail to email, and call recording stored in a searchable log. More than a tracking tool — a small business phone system with tracking capabilities.
The trigger points for upgrading beyond Google's built-in tracking
You do not need third-party call tracking immediately. Start with Google's built-in options (Layers 1 and 2). Add a third-party platform when one or more of these applies:
- You want to know exactly what each caller said and whether you booked the job — call recording is the feature to add
- You want to track calls from Google Ads, organic search, and GBP separately in a single dashboard — multi-channel attribution
- You are missing calls during busy periods and need to understand when and how often — missed call reporting and alerts
- You want different trackable numbers on your van, Checkatrade profile, and website — static tracking numbers (Sonetel is the cheapest route)
- You want to feed call outcome data (won job / lost quote / wrong number) into Google Ads for better Smart Bidding — CRM integration
Don't forget form submissions: tracking the other 15–25%
Call tracking covers the majority of roofing enquiries, but a meaningful minority — typically 15–25% — come through contact form submissions on your website. These are easier to track natively and should be set up alongside call tracking for a complete conversion picture.
-
1Create a thank-you page for form submissions
After a contact form is submitted, redirect the visitor to a dedicated thank-you page (e.g. yoursite.com/thank-you.html) that is not linked from anywhere else on the site. This page should confirm that the form was received and set expectations for response time. Having a distinct thank-you URL makes conversion tracking straightforward.
-
2Create a Google Ads conversion for the thank-you page visit
In Google Ads, go to Conversions → + → Website. Select "Page view" as the conversion type. Enter the URL of your thank-you page. Name it "Contact Form Submission." This conversion fires every time someone reaches the thank-you page — which only happens after a genuine form submission.
✅ Alternative: Google Analytics 4 goal importIf you have Google Analytics 4 connected to Google Ads, you can create a conversion event in GA4 for thank-you page visits and import it into Google Ads as a conversion action. This approach means your form conversion data flows through GA4, giving you one place to see all website conversions alongside your traffic data.
Reading your conversion data: what to look at and how to act on it
Once call tracking is set up and running, the data in your Google Ads account becomes far more actionable. Here is how to read the reports that matter most and what decisions they should drive.
| What to look at | Where to find it in Google Ads | Decision it informs |
|---|---|---|
| Conversions by keyword | Keywords report → Columns → Conversions | Which keywords generate calls vs which cost money without converting. Pause non-converting keywords with significant spend. |
| Cost per conversion by keyword | Keywords report → Cost / conv. column | Your cost per lead by keyword. Keywords with high cost/conv. (e.g. £200+) relative to average job value should be paused or have bids reduced. |
| Conversions by ad | Ads & assets → Conversions column | Which ad copy variants drive more calls. Pause or restructure lower-converting ads. The winning variant tells you what language resonates with callers. |
| Conversions by hour of day | Reports → Time → Hour of day | When your calls arrive. If calls cluster between 7–9am and 5–8pm, consider dayparting bids — increasing bids during high-call periods and reducing during low-call ones. |
| Conversions by device | Campaigns → Segment → Device | Mobile vs desktop call rates. For roofing, mobile typically generates significantly more calls. Adjust device bid modifiers accordingly — usually +20–40% for mobile. |
| Call duration distribution (Google built-in) | Tools → Call history (if call reporting enabled on call asset) | Shows distribution of call lengths. If you have many calls just over your minimum threshold (e.g. 65 seconds when minimum is 60), consider increasing the minimum duration. |
Using call conversion data to improve your bidding strategy
The primary commercial value of call tracking is what it enables you to do with bidding. Once Google Ads has enough call conversion data — typically 30+ conversions per month — Smart Bidding strategies can genuinely outperform manual CPC bidding because they have a complete conversion signal to optimise toward.
- Use Target CPA bidding once you have 30+ conversions/month — set the target at your current average cost per call lead
- Set positive bid adjustments for mobile (+20–40%) if mobile generates disproportionate call volume
- Use dayparting to increase bids during peak call hours (evening and morning) and reduce during low-response periods (late night)
- Use RLSA bid adjustments for past website visitors who search again — raise bids for this warm audience
- Pause keywords with 0 conversions after 50+ clicks — with call tracking, 50 clicks and no call is a clear signal
- Using Target CPA before call tracking is set up — Google optimises for form submissions only, missing most of your leads
- Keeping keywords running indefinitely with no conversion data — impossible to know which are profitable
- Same bids across mobile and desktop when 80% of your calls come from mobile
- Running all hours equally when calls only arrive in a 6-hour window
- Measuring success by clicks or click-through rate rather than calls generated
The complete conversion measurement checklist
- ☎️Call asset with call reporting enabled — set up on all campaigns with minimum call duration of 60 seconds. This tracks calls made directly from your ads on mobile without requiring a website visit.
- 💻Website call conversion (DNI) installed and verified — the phone snippet code is on every page of your website, your phone number is in a tel: link format, and the conversion action shows "Verified" status in Google Ads after at least one qualifying call has been received.
- 📋Form submission thank-you page conversion tracking — a dedicated thank-you URL that fires a conversion every time a contact form is submitted and the visitor is redirected to the confirmation page.
- 🔗Google Ads linked to Google Analytics 4 — linking the two accounts means your call and form conversion data is visible in GA4 alongside your traffic data, giving you a single dashboard for website performance. Set up in Google Ads via Tools → Linked accounts → Google Analytics.
- 📊Conversion columns added to all campaign views — in your Google Ads campaigns, ad groups, and keywords reports, add the "Conversions" and "Cost / conv." columns to every view. Make these your primary metrics, not clicks or CTR.
- 🔔Missed call alert system (optional, recommended) — either through a third-party platform or by checking your Google Ads call history report weekly for missed calls (duration 0). Missed calls from paid clicks are paid opportunities you did not convert. Address them: either improve your availability or add a callback form to capture callers who reach voicemail.
- 📅Monthly conversion audit — once per month, review: total conversions by campaign, cost per conversion by campaign and keyword, conversion rate by device and time of day, and any keywords with high spend and zero conversions. This monthly review is when most optimisation decisions are made.
Common call tracking mistakes roofing contractors make
Seven call tracking errors that undermine your data
Minimum duration set too low: A 5-second minimum counts wrong numbers. A 30-second minimum counts people who called and were immediately sent to voicemail. Set 60–90 seconds and accept that you will miss a small number of very brief genuine enquiries — the data quality improvement is worth it.
Only tracking calls from the ad, not the website: Many roofers set up call assets (Layer 1) and think they are done. Without website call conversions (Layer 2), the majority of calls — those made after visiting your site — are invisible. Layer 2 is more work to install but captures far more data.
Double-counting conversions: If you set up both a call asset conversion and a website call conversion on the same campaign without adjusting counting settings, you may count the same call twice. Ensure your conversion actions are set to "Primary" (counted toward campaign metrics) vs "Secondary" (for information only) appropriately.
Counting call conversions but not importing them as the primary bidding signal: For Smart Bidding to work on call data, your call conversion actions must be set to "Include in Conversions" (the primary conversion column). If they are marked as "Secondary actions," Smart Bidding ignores them.
Not segmenting by conversion type: If you have both call conversions and form conversions in the same column, you cannot tell which your ads are generating. Use "Segment → Conversion action" in your campaigns report to see them separately.
Installing the phone snippet on only the homepage: The DNI works only on pages where the snippet is installed. If a visitor clicks an ad, lands on your homepage (where the snippet is installed), then navigates to your contact page (where it is not installed) and calls, the call is not tracked. Install the snippet on every page of your website.
Never checking call duration data: If your average call duration is 45 seconds and your minimum conversion duration is 60 seconds, you may be tracking very few conversions even when you are getting plenty of calls. Review the call duration report in your call asset settings at least monthly and adjust the threshold if the data suggests it is too high.
Want a Google Ads setup that actually shows you what's working?
Most roofing Google Ads accounts we audit are spending money without proper conversion tracking in place. Setting up call tracking correctly — and using the data to optimise campaigns — is the single biggest lever for improving cost per lead. A free visibility audit is the starting point: we look at your current setup, your rankings, and what a well-tracked campaign would look like in your area.
✅ Thank you. We'll be in touch within 1 business day.
Frequently Asked Questions
What is call tracking for Google Ads?
Call tracking for Google Ads is a system that records when a phone call was made to your business as a result of a Google Ads click, and feeds that call data back into your account as a conversion. This allows you to see which campaigns, ad groups, and keywords are generating actual phone calls — not just website visits. Without call tracking, Google Ads shows you clicks and spend but not whether those clicks resulted in enquiries, making it impossible to optimise based on what actually works for your roofing business.
Does Google Ads have built-in call tracking?
Yes — Google Ads offers two free built-in call tracking methods. Call assets (formerly call extensions) add your phone number directly to your ad so calls made via the ad are tracked as conversions without the visitor needing to visit your website. Website call conversions use dynamic number insertion technology to swap the phone number on your website with a Google tracking number for visitors who arrived via a Google Ad — when they call that tracking number, it is attributed back to the specific campaign, ad group, and keyword. Both are free to set up within Google Ads and are the recommended starting point.
What is dynamic number insertion (DNI) for call tracking?
Dynamic number insertion is a technology where a JavaScript snippet on your website detects how a visitor arrived — including which Google Ad they clicked — and automatically replaces the phone number displayed on the page with a unique tracking number for that visit. When the visitor calls that tracking number, the call is recorded and attributed to the specific campaign, ad group, and keyword that brought them to your site. DNI is the foundation of website call conversion tracking and works automatically once the code snippet is installed on your website pages.
Should I use Google's built-in call tracking or a third-party tool like CallRail?
For most roofing contractors starting with call tracking, Google's built-in website call conversions and call assets are the right starting point — free, and they feed conversion data directly into Google Ads for campaign optimisation. Third-party tools like CallRail add call recording, multi-channel attribution across all traffic sources, detailed call analytics, and CRM integration. Add a third-party tool when you want to know what callers said, track calls from all channels in one place, or understand your missed call rate — not as a replacement for Google's built-in tracking but as an additional layer on top of it.
What counts as a phone call conversion in Google Ads?
You set the minimum call duration that qualifies as a conversion when setting up call tracking in Google Ads. For roofing, 60–90 seconds is a reasonable minimum to filter out wrong numbers and brief interactions unlikely to represent genuine enquiries. Google Ads then only counts calls that meet or exceed this duration as conversions. Review your call duration data regularly in Google Ads call reporting — if most of your calls are shorter than your threshold, you may be severely under-counting real leads, which means the threshold is set too high for your typical call pattern.
Do I need a developer to set up call tracking for my roofing website?
Google's built-in website call conversion tracking requires adding a JavaScript snippet to your website's header section. On a WordPress website, this can be done using free plugins (Site Kit by Google or Header Footer Code Manager) without editing code directly. On a plain HTML website, you paste the code into the page header. If you are comfortable with basic website administration, you can do this yourself — it takes around an hour following Google's instructions. If not, any web developer can complete the installation in under an hour.
Stop guessing which keywords are generating your calls
Call tracking is not optional if you want to run Google Ads profitably. It is the measurement layer that makes every other optimisation decision possible. Set it up once, verify it works, and let the data guide every budget, bid, and keyword decision from that point forward.
Get Your Free Visibility Audit →