The Problem

You set up WhatConverts for call tracking. You copy the assigned tracking number into a Google Ads call asset. The asset goes under review. A few hours later — sometimes a day later — it comes back disapproved.

The disapproval reason reads something like “Phone number not verified” or “Unable to verify business information.”

You check the number. It looks correct. You resubmit. It gets disapproved again. You try a different WhatConverts number from the pool. Same result. You contact Google Ads support and they tell you to make sure the number matches what is on your website - which it does not, because WhatConverts is dynamically swapping it, which is the entire point.

This is a domain verification problem, not a number problem. And the fix is not inside WhatConverts or your Google Ads call asset settings. It is in Google Search Console.


Why the Disapproval Happens

To understand the fix, you need to understand exactly what Google is checking when it reviews a call asset.

When you submit a call asset, Google runs an automated verification process. It crawls your website and looks for the phone number you entered in the asset. If it finds that number on the page, it treats the number as verified - confirmed as belonging to the business at that domain. If it cannot find a match, the asset gets flagged for disapproval.

This works fine with a static phone number. If your number is +1 800-555-0100 and that exact number appears in your site’s HTML, Google’s crawler finds it, the check passes, and the asset is approved.

WhatConverts breaks this process.

WhatConverts uses Dynamic Number Insertion (DNI). A JavaScript snippet on your site replaces your real business number with a tracking number pulled from a pool. Each source - Google Ads, organic, direct - gets a different number. The swap happens in the browser after the page loads.

When Google’s crawler visits your site to verify your call asset:

  1. It loads the page
  2. It either does not execute JavaScript, or executes it in a way that does not trigger WhatConverts’ source detection logic
  3. It reads the phone number visible in the DOM - which is your original business number, not the WhatConverts tracking number
  4. It compares that number to the call asset number — WhatConverts tracking number
  5. They do not match
  6. The asset is disapproved

No configuration change inside WhatConverts prevents this. The mismatch is inherent to how crawlers interact with dynamic JavaScript phone swaps.


Why “Phone Number Not Verified” Is the Wrong Label

The disapproval message implies the issue is with the phone number itself - that it is fake, invalid, or unowned. That framing leads most people to troubleshoot the wrong thing.

The actual issue is domain ownership. Google cannot confirm that the tracking number you are advertising belongs to a legitimate business at your domain - because it cannot see the number on the page.

Google provides a mechanism specifically for proving domain ownership: Google Search Console. When you verify a property in Search Console, you are proving to Google that you control that domain. When you link that verified Search Console property to Google Ads, that ownership signal carries into the Google Ads review process.

With domain ownership established through Search Console, Google has sufficient confidence to approve call assets for your domain - even when the automated phone number crawl cannot find an exact match on the page.


Step 1 — Verify Your Domain in Search Console

If you already have Search Console set up and verified, skip to Step 2.

Go to search.google.com/search-console and click Add property.

You will be given two property types:

Use the Domain property type if possible. It is more comprehensive and a single verification covers your entire domain footprint. If you do not have access to your DNS settings, use URL prefix with the GTM or GA4 verification method instead.

For Domain property (DNS TXT record):

  1. Select Domain and enter your root domain (e.g. example.com — no www, no https://)
  2. Google generates a TXT record: something like google-site-verification=abc123xyz
  3. Log in to your domain registrar (GoDaddy, Namecheap, Cloudflare, etc.)
  4. Add the TXT record to your DNS settings - at the root level (@), not a subdomain
  5. Return to Search Console and click Verify

DNS propagation typically takes a few minutes but can take up to a few hours. Search Console will keep checking and confirm verification once the record is live.

For URL prefix property (GTM verification - if you already use GTM):

  1. Select URL prefix and enter your full site URL including protocol (https://example.com)
  2. Choose Google Tag Manager as the verification method
  3. Search Console checks for the GTM container snippet on your page
  4. If GTM is installed correctly, verification completes immediately

This works because Search Console can detect your GTM container ID and confirm you control the container that is running on the domain.


Once your Search Console property is verified, you link it to Google Ads.

In Google Ads:

  1. Click the Tools icon (wrench) in the top navigation bar
  2. Under Setup, click Linked accounts
  3. Find Google Search Console in the list
  4. Click Details
  5. Click the blue Link button
  6. Enter the URL of the Search Console property you just verified
  7. Click Send request

In Google Search Console:

The link request appears as a pending notification.

  1. Go to Settings (gear icon in the left sidebar)
  2. Click Associations
  3. Find the pending Google Ads link request
  4. Click Approve

The link is not active until it is approved from the Search Console side. If you manage both accounts, you can approve it immediately. If the Search Console property belongs to a client or a different team, they need to approve it before the verification signal is active in Google Ads.


Step 3 — Resubmit the Disapproved Call Asset

Once the Search Console link is active in Google Ads, resubmit the disapproved call asset for review.

In Google Ads:

  1. Go to Assets in the left navigation (in older accounts this is labelled Extensions)
  2. Find the disapproved call asset - it will have a red disapproval indicator
  3. Click into it to open the asset details
  4. Click Resubmit for review

Google re-evaluates the asset. With the Search Console domain ownership signal now present, the review typically approves the asset within a few hours. In some cases it takes up to 24 hours for the review queue to process.

If the asset is still disapproved after 24 hours, check that:


What If You Have Multiple WhatConverts Numbers Across Campaigns

WhatConverts typically provisions a pool of numbers - one per traffic source, or one per session depending on your plan configuration. If you are running multiple call assets across different campaigns, each using a different WhatConverts tracking number, the same fix covers all of them.

You link Search Console once per domain. That single verified link applies to all call assets associated with that domain, regardless of how many individual tracking numbers you are running through WhatConverts.

Resubmit each disapproved call asset individually after the Search Console link is active. You cannot batch-resubmit - each asset needs its own resubmission.


Multi-Domain Setups: Separate Verifications Required

If you are running WhatConverts across multiple domains - for example, a main site at example.com and a campaign landing page at example-deals.com - you need to verify and link each domain separately.

Each domain requires:

  1. Its own Search Console property verification
  2. Its own link to Google Ads

Both can be linked to the same Google Ads account. In Google Ads → Linked accounts → Google Search Console, you will see all linked Search Console properties listed. Add each domain’s property here.

If the landing page is a subdomain (deals.example.com) rather than a separate root domain, and you verified the root domain using the Domain property type in Search Console, the subdomain is already covered - no separate verification needed.


Preventing This in Future Account Setups

This disapproval cycle is predictable. Any Google Ads account using dynamic call tracking will likely run into it.

The fix is to link Search Console before submitting call assets - not after they get disapproved.

Add this to your standard account setup checklist:

When Search Console is linked before the call assets are submitted, Google’s review process has the domain ownership signal available from the start. The assets pass review on the first submission.


Why WhatConverts DNI Works Despite This

It is worth clarifying: none of this means WhatConverts is misconfigured or that DNI is unreliable. The tracking itself works correctly.

What DNI was never designed to do is present numbers in a way that passes Google’s static-crawl verification. The crawler does not behave like a real user. It does not get session-attributed to Google Ads traffic, so WhatConverts correctly does not swap the number for that crawl session.

The Search Console linking is the designed workaround. Google’s call asset review system has always had a domain ownership verification path for exactly this kind of situation - where the number on the ad is legitimately different from what the crawler sees on the page.


Diagnostic Checklist

If you are working through this on a live account, run through these checks in order:

  1. What is the exact disapproval reason? — Should read “Phone number not verified” or “Business information.” If it reads something else (e.g., “Misrepresentation”), the cause is different and this fix does not apply.
  2. Is Search Console already linked? — Google Ads → Tools → Linked accounts → Google Search Console. If it is already linked, the issue may be that the link was not confirmed from the Search Console side.
  3. Is the Search Console property verified for the correct domain? — The domain in the call asset must match the Search Console property URL. www.example.com and example.com are treated as different properties in URL prefix mode.
  4. Has the link been approved from both sides? — In Search Console → Settings → Associations, confirm the Google Ads link shows as active, not pending.
  5. Was the asset resubmitted after the link became active? — Links established after the initial disapproval do not retroactively trigger re-review. You must manually resubmit.

All five of these need to be true for the fix to work.


Final Thoughts

The disapproval is frustrating because the error message sends you in the wrong direction. “Phone number not verified” reads like a problem with the number, but it is a problem with how Google can confirm your domain ownership during an automated crawl.

WhatConverts is working correctly. The call asset number is legitimate. The verification system just cannot see it through a standard page crawl because of how DNI works. Search Console gives Google the domain ownership signal it needs through a different mechanism.

One Search Console link. One resubmission. The asset approves and stays approved going forward.

In the next article of this series, we will cover:

Cross-domain tracking breaking at iframes and third-party checkouts - and how to fix it.

Related Posts

How to Set Up Call Tracking with Google Ads and Google Tag Manager

12 min read

Google AdsCall TrackingGoogle Tag ManagerConversion TrackingPhone Calls

WooCommerce Google Ads Conversion Tracking via GTM Using GTM4WP

14 min read

GTMGoogle Tag ManagerGoogle AdsConversion TrackingGTM Advanced Series

How to Track Email Link Clicks in Google Tag Manager

8 min read

Google Tag ManagerEmail TrackingConversion TrackingLink ClicksGoogle AdsGTM Advanced Series
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