Found in AI answers?Hire Theory Road
Theory Road.

Google Ads Website Call Conversions at Zero: Causes and Fixes.

When the calls from website column reads zero but the phone keeps ringing, the tag is usually fine and something else on the page got to the phone number first. Here is the order we check it in.

By October 18, 202610 min read

When Google Ads website call conversions show zero while the business is getting calls, the cause is almost always one of six things: another script swaps the phone number before Google's snippet can find it, two call tracking systems are stacked on the same number, the number in the conversion action does not match the digits on the page, the website call snippet or Google tag is missing from the pages ad traffic lands on, calls are routed through CallRail source-level numbers that carry no click ID, or the calls are real but shorter than the call length threshold. You confirm which one by clicking your own ad and checking whether a Google forwarding number appears, by reading the tag status in Google Ads, and by reading the page with the browser's developer tools. The fix is to let one system own the phone number.

A website call conversion is a Google Ads conversion action with the source set to calls to a phone number on your website. It needs the Google tag on every page plus an event snippet that names the business number to look for. When a visitor arrives from an ad click, the snippet calls the _googWcmGet function and the tag replaces your business number with a Google forwarding number for that visitor. Google connects the call to your real line, measures its duration, and counts a conversion if it lasts at least the minimum length you set. This is separate from calls from ads, which come from call assets and call-only ads, and from imported calls, which you upload from your own call tracking or CRM.

The six causes we find most often.

We run these checks on our own sites and on accounts we take over. On one account we took over, the column read zero for months while the phones were busy, and the Google setup looked correct in the interface.

  • A number swap runs first: a custom script, a theme feature, or a plugin replaces the phone number when the page loads, so by the time Google's snippet looks for your business number it is no longer on the page and no forwarding number is shown
  • Two swap systems stacked: Google forwarding numbers, a call tracking platform's dynamic number insertion, and a custom script all try to own the same element, and whichever runs second either finds nothing to replace or overwrites the first
  • Number format mismatch: the business number entered in the snippet or the Google Tag Manager tag does not match the digits printed on the page, so the tag never recognizes it
  • Snippet missing where ads land: the Google tag is on the site but the website call snippet is not on the landing pages, or it was added to a page template the ads do not use
  • CallRail source-level numbers: calls go to a single number per traffic source, which tells you the call came from Google Ads but never captures the click ID, so nothing can be sent back as a click-attributed conversion
  • Calls shorter than the threshold: the calls are tracked and connected, but they end before the minimum call length in the conversion action, so they never become conversions

How to verify website call tracking.

Do not start in the code. Start with what an ad clicker actually sees. Three checks, in this order.

Click your own ad. Search for a term your ad shows on, click the ad, and look at the phone number on the landing page. A Google forwarding number means the swap works. Your normal number, or a different tracking number, means something on the page is stopping it. Google's own instructions say to delete the gwcc cookie from your browser before clicking an ad again on repeated tests, because the cookie holds the earlier result.

Check the conversion action status. In Google Ads, go to Goals, then Conversions, then Summary, and open the website call action. Google states that an Inactive tag status usually means the tag or snippet is not correctly implemented. Also confirm in the account settings that call reporting is turned on, because forwarding numbers depend on it.

Read the page in developer tools. Search the Elements panel for your business number, then list every script that touches it: the Google tag, Google Tag Manager, any call tracking script, and any custom code, and note when each runs. A script that rewrites the number at DOMContentLoaded beats a tag that loads later through a tag manager. Tag Assistant shows whether the Google tag and the call snippet fired.

Diagnose top to bottom.

This is the order we run. Each step tests one layer, so stop at the first one that fails. It sits inside the wider conversion tracking audit checklist we run before spending on any account.

Confirm the conversion action exists and is primary where you expect.
Open Goals, then Conversions, then Summary. Find an action whose source is calls to a phone number on your website. Check the call length setting and whether the action is included in the goal your campaigns bid on. If there is no such action, the column will be zero no matter what the site does.
Click a live ad and look for the forwarding number.
Clear the gwcc cookie, click your ad, and read the number. If a Google forwarding number appears, the site side works and the problem is in thresholds or reporting. If it does not appear, move to the next step. If your Google Tag Manager tag is not firing at all, fix that first.
View source for the original number.
View the raw page source, not the rendered page. Your business number should be there in the exact digits entered in the snippet. Then compare it with the rendered page in the Elements panel. If the source shows one number and the rendered page shows another before Google has done anything, a script is swapping it first.
Find every script that rewrites the number.
Search the site's code and the tag manager container for the phone number, tel: links, and call tracking scripts. On the account we took over, a home-built script assigned one number per traffic source and replaced the number at DOMContentLoaded. Google's snippet then found no business number and never showed a forwarding number. Keep one swap system, not two. If the business already uses a call tracking platform, let it own the number and send conversions through its integration.
Match the number format.
Enter the business number in the snippet exactly as it appears on the page. Google's Tag Manager guidance says its standard website call tag does not handle international formats well and recommends the national format without a plus sign. If the page shows the number in two formats, pick one and use it everywhere.
Check tel: links as well as the visible text.
A tag that replaces visible text can leave the tel: link in the button pointing at the original number, so mobile visitors who tap to call bypass the forwarding number. If you use the callback form of _googWcmGet, update both the text and the link in your callback.
Website call conversions at zero: symptom, likely cause and fix
SymptomLikely causeFix
Ad click shows your normal numberSnippet missing or number not found on the pageAdd the snippet to landing pages and match the digits exactly
Ad click shows a different tracking numberAnother swap script ran firstRemove one swap system so only one owns the number
Number shows with a stray plus signInternational format in the Tag Manager tagUse the national format without the plus sign
Tag status InactiveGoogle tag or call snippet not implemented correctlyCheck with Tag Assistant and fix the tag on every page
Forwarding number shows, calls happen, conversions zeroCalls shorter than the call length settingReview call durations and set the threshold that matches a real lead
Text swapped but taps dial the old numbertel: link not updatedUpdate the link in a _googWcmGet callback
CallRail shows Google Ads calls, Google Ads shows noneSource-level number, no click ID capturedSwitch to a CallRail visitor tracking pool with auto-tagging on
Calls appear only from call assetsWebsite action missing, only calls from ads set upCreate a calls to a phone number on your website action

Stacked number swaps and CallRail.

Every dynamic number system does the same thing: find a number on the page and replace it. Put two on one page and the first one wins the element, while the second finds nothing it recognizes or overwrites the first and breaks its attribution. Google also notes that when a site uses dynamic number insertion or third-party call tracking, its automated system cannot verify the phone number by scanning the page source.

CallRail adds a second trap. It offers source-level tracking, where one number represents a whole traffic source, and visitor-level tracking, where a pool of numbers is assigned to individual website sessions. CallRail states that its Google Ads integration cannot work with source-level tracking alone, because a source number cannot tell one caller from another. Only visitor tracking captures the gclid for each visitor, and only calls to the website pool with a source of Google Ads report as conversions. Auto-tagging must be on in Google Ads for the click ID to exist at all. We cover the full setup in our CallRail Google Ads integration guide.

If a session pool is not an option, the other route is to record the caller's phone number in your CRM and upload qualified calls to Google Ads as offline conversions with the hashed phone number, which Google's API accepts in E.164 format hashed with SHA-256, even without a click ID. That is the enhanced conversions for leads path, described in our pieces on enhanced conversions in Google Ads and offline conversions from your CRM. Note that CallRail's own integration posts conversions with click IDs and does not use enhanced conversions, so this upload comes from your CRM, not from CallRail.

What is normal and what is a red flag.

Some gaps between your phone records and Google Ads are expected. Google says the default length of a call counted as a conversion is 60 seconds, and you can change it, so a log full of short calls can sit next to a much lower conversion count. Only visitors who clicked an ad see a forwarding number, so organic and direct callers never appear here. Forwarding numbers exist only in the countries Google lists as supported, which include the United States, Canada, the United Kingdom and Australia.

  • Normal: website call conversions lower than total calls, because most callers did not click an ad
  • Normal: connected calls in call details that are not conversions, because they ended under the call length threshold
  • Red flag: zero website call conversions for weeks while ad clicks and phone volume are steady
  • Red flag: your own test ad click never shows a Google forwarding number
  • Red flag: CallRail attributes calls to Google Ads but none arrive as conversions in Google Ads

Why are my Google Ads website call conversions showing zero?

Usually because the Google forwarding number never appears on the page. Another script swapped the phone number first, a second call tracking tool owns the number, the number in the snippet does not match the page, or the snippet is missing from the landing pages. If the forwarding number does appear, check whether calls are shorter than the call length setting.

What is the difference between calls from ads and calls from a website?

Calls from ads come from call assets and call-only ads, where the person taps or dials the number shown in the ad itself. Calls from a website happen after an ad click, when the visitor sees a Google forwarding number on your site and dials it. Imported calls are a third type, uploaded from your own call tracking or CRM.

Can I use Google forwarding numbers and CallRail on the same website?

Not on the same phone number. Both replace the number on the page, so whichever runs second breaks. Pick one owner. If you use CallRail, use its visitor tracking pool and its Google Ads integration to send calls as conversions, and do not also run the Google website call swap on that number.

Why does CallRail not send my calls to Google Ads?

The most common reason is that calls go to source-level tracking numbers. CallRail says its Google Ads integration needs visitor tracking, because only a website pool captures each visitor's gclid. Auto-tagging must also be on in Google Ads, and the call must come from a visitor who clicked a Google ad.

How long does a call have to last to count as a conversion in Google Ads?

Google's default is 60 seconds, and you can change it in the conversion action settings. Set it to the length that separates real leads from hang-ups for your business, then keep it stable.

Work with us

Let’s talk about what’s next.

A short note on where the business is and where it needs to go. A senior partner replies within one business day.

t@theoryroad.com

Step 1 of 2

How can we help you get found?

What do you need help with?

Next: name, email and budget. That’s it.