Google Ads Conversion Tracking: How To Track Phone Calls And Lead Forms

Surfside PPC blog banner: Google Ads Conversion Tracking

Conversion tracking is the part of Google Ads that decides whether everything else you do is worth anything. Without it you are guessing, and Google's bidding is guessing along with you. This walks through the full setup for a lead generation business: Google Tag Manager on the site, the Google Ads tag, a lead form conversion, and the three separate phone call conversions you need to track calls properly. I am using my fake lawn care business in Charleston as the example, but the process is identical for any business where the goal is calls and forms. A warning up front: Google recently made the phone call setup noticeably more annoying than it used to be, and I will show you the workaround.


1What you are actually setting up

Before you touch anything, it helps to know how many pieces there are, because the phone call side surprises people.

For a typical lead generation business you are building four conversion actions, not two:

  1. Lead form submissions. One conversion action, triggered by a thank you page view.
  2. Calls from ads. Somebody taps the call button directly in your ad. This is the easiest one to set up and requires no work on your website.
  3. Calls from website visits. Somebody clicks your ad, lands on your site, and calls the number displayed there. Google swaps in a forwarding number to track it.
  4. Click to call. Somebody on a mobile device taps a phone number button on your site.

Running all three call conversions does not double count. Each one catches a different path to the phone, and together they give you accurate call tracking. I have set this up many times and the data holds up.

There is a fifth source worth knowing about. If you link your Google Business Profile to your Google Ads account through location assets, calls from your Business Profile populate automatically. You do not set that one up manually. You just make the connection and the data appears in its own category.

You will also need two supporting tags that are not conversions themselves: the Google Ads tag and the conversion linker. Skip either one and the rest of this stops working properly.

Question to Answer:

Open your conversions page right now. How many of those four do you actually have?

2Listen to the full episode

This is episode 31 of the Surfside PPC podcast. I go through the entire setup on screen, including every tag, trigger, and the debug process at the end.

Google Ads Conversion Tracking: Phone Calls And Lead Forms In Google Tag Manager

You can find every episode at surfsidepodcast.com along with all the ways to listen.

Question to Answer:

Do you have access to both your Google Ads account and your website backend right now? You need both for this.

3Step one: get Google Tag Manager on your website

Everything starts with a tag on your website. Google Tag Manager is the one to install first, because once it is there you can add every other tag through it without touching your site again.

Create your Tag Manager account and container for your business. It is a short process. Then you get two code snippets, one for the header and one for the body, and both have to go on your site.

How I do it on WordPress. There are plenty of methods, including plugins where you just paste your GTM ID. My preference is a plugin called WP Code.

One thing that trips people up: search WP Code in the plugin directory and a plugin called Code Snippets usually comes up first. That is a different plugin. WP Code has more installations and better reviews, and I find it easier to use. Install and activate WP Code.

Then, confusingly, the menu item WP Code adds to your sidebar is labeled Code Snippets. Look for it at the bottom of the left-hand menu. Inside it, go to Header & Footer. Paste the first Tag Manager snippet into the header box, paste the second into the footer box, and save.

Tag Manager is now installed.

Verify it before you move on. Install the free Google Tag Assistant Chrome extension, load your site, and open it. It lists every tag it finds. You should see your Google Tag Manager container listed. Do not skip this. Assuming a tag is installed and finding out three weeks later that it never fired is a painful way to lose data.

One thing worth looking into. Tag Manager also offers Google Tag Gateway, which works with Cloudflare and serves your tags from your own domain. It is something I am setting up more with clients where I have enough control over the website to do it. It is not required for what follows, but it is worth knowing about.

Question to Answer:

Does Tag Assistant show your GTM container on your live site?

4Install your Google Ads tag through Tag Manager

Tag Manager is the container. Now you need the Google Ads tag inside it.

In Google Ads, go to Goals, then Summary. From the conversions area, click Edit data sources. This is the page that tells you which tag Google Ads is using to measure things. If you have Google Analytics 4 connected, it may show that as your only option. You want your Google tag instead.

Select Google tag and click set up. Google will either detect it on your site or tell you it is not installed. Either way, you need the tag ID. That is your AW number.

Copy it, then go to Tag Manager:

  1. Create a new tag. Tags, then New.
  2. Tag configuration, then Google Ads, then Google tag.
  3. Paste your AW number in.
  4. Set the trigger to All Pages.
  5. Name it something obvious. I call mine "Google Ads Tag" and include the AW number so I know exactly which tag it is at a glance.
  6. Submit and publish.

Your Google Ads tag is now on every page of your website, delivered through Tag Manager.

A warning about account URLs. When you go through the data sources screen, Google will show you what it has associated with your account. Keep one website URL per Google Ads account. I have had an account suspended in the past for having too many different URLs in it. It is not worth the risk to save the cost of a second account.

Question to Answer:

Is your Google Ads tag firing through Tag Manager, or is it hardcoded somewhere on the site where you will forget about it?

5Track lead form submissions with a thank you page

Now the first real conversion action. In Google Ads, go to Goals, Summary, and click Create conversion action.

Choose Conversions on a website, save and continue, and you will see the category list. Categories matter because you can tell campaigns which categories of goals to optimize for, so pick one that describes what actually happened. For a contact form, Submit lead form is the right choice.

Google then offers to create the conversion automatically without code, or manually with code. The automatic option is genuinely easy and works fine. I am going manual here because that is how you set it up properly in Tag Manager, and because it gives you control over exactly what counts.

A few settings worth understanding on this screen:

  • Name it clearly. Something like "Corey's Turf Lead Form." You will be looking at this in reports for years.
  • Primary or secondary. Primary means the conversion is used for bidding optimization. Secondary means it is tracked but not bid on. If you want Google optimizing toward it, it has to be primary.
  • Value. You can assign a dollar value per conversion. If one form is worth far more than another, set values that reflect that. A lead form at $100, a higher-value form at $500, a phone call at $250. My default is $1 for leads unless the client tells me a specific lead type is genuinely more valuable. Uniform values keep the reporting clean until you have a reason to differentiate.

Click done, then save and continue. Google gives you a conversion ID and a conversion label. Keep that screen open.

Your conversion ID is your AW number without the AW prefix. That is always true, and knowing it saves you time later.

Now the trigger. The simplest reliable method is a thank you page:

  1. Make your form redirect to a thank you page. Any URL people will not reach unless they submit the form. yoursite.com/thank-you works fine.
  2. In Tag Manager, create a new tag. Tag configuration, Google Ads, Google Ads Conversion Tracking.
  3. Paste in the conversion label, then the conversion ID. Tag Manager will confirm it found the Google tag in the container. If it says it cannot detect it, you pasted the wrong value into one of the fields.
  4. Create the trigger. New trigger, Page View, "Some Page Views," and set the condition to Page URL contains "thank-you."
  5. Name the trigger and save.

One caution on that trigger. It fires on any URL containing your chosen string, so make sure no other page on your site contains it. If you have a blog post at /thank-you-for-reading, you have a problem.

Question to Answer:

Does your form redirect to a dedicated thank you page, or does it just show an inline success message?

6The conversion linker tag almost nobody sets up

This one is short and it is the most commonly skipped step in the entire process.

Google tells you about it in the setup instructions, usually as step two, and it is easy to scroll past: add a conversion linker tag and set it to fire on all your pages.

Here is how:

  1. New tag in Tag Manager.
  2. Tag configuration, Google Ads, Conversion Linker.
  3. Trigger on All Pages. Page View or Initialization both work. I use Initialization.
  4. Name it Conversion Linker and save.

That is the whole tag. There is nothing to configure.

What it does is store the ad click information when somebody arrives from a Google Ads click, so that when they convert later Google can connect the conversion back to the click that produced it. Without it, conversions get lost and your data quietly understates what your ads are doing.

Make it a standing habit. Any time you set up Google Ads conversion tracking, add the conversion linker.

Question to Answer:

Do you have a conversion linker tag in your container right now?

7The three phone call conversions you need

Back to Google Ads, and create a new conversion action. This time choose Conversions from phone calls. You will see the options: calls from ads, calls from a number on your website, and uploads.

Uploads are for when you are running a third party system and importing calls alongside Google click IDs. Not what we are doing here.

Conversion What It Catches Setup
Calls from ads Somebody taps the call button in your ad Easiest. No website work at all
Calls from website visits Somebody calls the number shown on your site after clicking an ad Needs a tag and the exact number format
Click to call Somebody taps a phone button on your site Needs a tag plus a built-in variable enabled

Start with calls from ads. Pick Phone call lead as the category and create it. There is genuinely nothing else to do. Google handles the tracking inside the ad itself.

Then calls from website visits. Google asks for two phone numbers and getting these right matters more than anything else on the page:

  • The destination number. The number people should actually reach. Where calls get forwarded to.
  • The displayed number. The number exactly as it appears on your website, character for character. If your site shows (843) 555-7823 with parentheses and a space, that is what goes in the field. If you type it as 843-555-7823 instead, it will not track.

Go to your website, look at the number, and copy the format precisely. Google scans your site for every instance of that exact string and swaps in a forwarding number when somebody arrives from an ad click. A formatting mismatch means no match, which means no swap, which means no tracking.

Then click to call. Same phone call conversions flow, the option for someone making a call by clicking a number on your website. This one needs code on your site too.

Create all three before you go to Tag Manager, so you have every conversion ID and label in one place.

Question to Answer:

Is the phone number in your Google Ads setup formatted exactly the way it appears on your website?

8Calls from website visits and the event snippet workaround

This is where Google made things harder than they used to be. There was a time when the conversion setup screen gave you a clean Tag Manager option. Now it mostly hands you a raw event snippet and leaves you to work it out.

Here is the workaround I use.

On the conversion action, click See event snippet and choose to measure individual conversions with event snippets. You will get a block of code containing your conversion ID, your conversion label, and your phone number. The problem is that clicking anywhere in that box selects the entire snippet, so you cannot pull out the individual pieces you need.

So open a new browser tab, paste the whole snippet somewhere you can read it, and pick the values out from there. It is clumsy. It works.

Then in Tag Manager:

  1. New tag, Google Ads, Google Ads Calls From Website Conversion.
  2. Displayed phone number to replace. Take the exact number from between the quotes in the snippet, including the country code. Match it exactly.
  3. Conversion ID and conversion label. Pull both from the snippet. Do not include the AW prefix in the conversion ID field.
  4. Trigger on Initialization, all pages.
  5. Name it and save.

Now the part that confuses everyone. This tag fires on every single page view, and when you run preview mode you will see it firing constantly and assume something is broken.

It is not. The tag firing is not the conversion. Google is watching the call, and the conversion only counts when the call reaches the minimum duration you set, typically 60 seconds. The tag has to be present on the page for Google to do the number swap. The conversion gets counted later, based on whether a real call actually happened and how long it lasted.

That duration threshold is why this is the most accurate call conversion of the three. A 60-second call is a real conversation, not a misdial.

Question to Answer:

What call duration is worth counting for your business? The default is a reasonable starting point, not a rule.

9Click to call, built-in variables, and where it overcounts

One setup step comes before the tag, and it will silently break things if you miss it.

Enable your built-in variables. In Tag Manager, go to Variables and click Configure. On a new container, the click variables are not enabled by default, and you need Click URL for this to work at all.

My habit is to enable all the click variables and all the form variables. The page ones are usually on already. There is no real downside to having every built-in variable enabled, and it saves you this exact headache later. You can also build your own user-defined variables, which is a more advanced part of Tag Manager, and honestly the part I know least well. My expertise is the Google Ads side of it.

Now the tag:

  1. Get the conversion ID and label from the click to call conversion's event snippet, using the same new-tab workaround. This snippet is longer, but you only need those two values.
  2. New tag, Google Ads, Google Ads Conversion Tracking. Paste both in. Tag Manager should confirm it found the conversion ID in the container.
  3. Name it "Mobile Clicks To Call."
  4. Create the trigger. New trigger, Click, Just Links. Set it to "Some Link Clicks" where Click URL contains "tel".
  5. Save.

Every phone button on your site is a link pointing to tel: followed by the number. Hover over one and you will see it. The trigger catches any click on any of those links.

Now the honest assessment of this conversion. It is tracking a button click. It is not tracking a phone call. Those are not the same thing, and the gap between them is where the problems live.

  • It will overcount. Somebody taps the button, the dialer opens, they close it. That counted as a conversion and no call happened.
  • It will absolutely overcount in Performance Max. This is the one to watch. If you have click to call set as a primary conversion in a PMax campaign, expect inflated numbers.
  • Use it in search campaigns. If you want the number to mean something, keep this conversion limited to search, where the traffic is more qualified and the inflation is manageable.

It is still worth running. Just know what it is measuring and do not let Google bid aggressively toward it without watching what happens.

There are ways to exclude desktop clicks if you want to. In practice most people on desktop do not click the button, they pick up their phone and dial. It has not been worth the extra configuration in my experience.

Question to Answer:

Is click to call set as a primary conversion in any Performance Max campaign you are running?

10Preview, publish, and point your campaigns at the right goals

You should now have five tags in your container: the Google Ads tag, the conversion linker, the lead form conversion, calls from website, and mobile clicks to call. Plus your triggers and variables.

Test before you publish. Click Preview in Tag Manager and enter your thank you page URL directly. This is the fastest way to test the form conversion without filling out a form.

In the debug window you should see the lead form tag fired, the Google tag fired, the conversion linker fired, and calls from website fired. Then go back to the page, tap a phone button, and watch the mobile clicks to call tag fire.

Remember what I said about calls from website firing on every page. That is expected. It only counts as a conversion when a real call goes 60 seconds or longer.

Once everything fires, publish the container.

Then set your default call conversion action. Go to Goals, Settings. There is a setting for which call conversion action is the default. If you accidentally created more than one calls-from-ads action, delete the extras and make sure the one you want is set as default. This gets confusing quickly if you have been experimenting, which is exactly how I ended up with far too many of them in my own account.

Then point your campaigns at the right goals. This is the step that makes everything above matter.

Go into a campaign, open its settings, and find the campaign-level goals. Select which conversion actions the campaign should optimize toward. For a lead generation business that usually means your lead form action, your calls from ads action, and depending on the campaign type, click to call. Save.

Hover over each one and confirm you are seeing the actions you just built rather than a pile of inherited Google Analytics 4 events you never meant to bid on.

Two more things worth knowing.

  • Customer data terms. You will be prompted to read and accept these. Read them and accept.
  • Enhanced conversions for leads. This captures more of the people coming through your forms and calls. I usually run it through the Google tag. You need your Google Analytics 4 tag installed and user-provided data capabilities enabled in your GA4 property.

Then set your bidding. Once conversions are coming in consistently, move toward Maximize Conversions, and once you have enough data, a target CPA. That is how you get the campaign optimizing toward the actions you just spent an afternoon setting up.

Question to Answer:

Are your campaigns optimizing toward the conversion actions you built, or toward whatever Google imported by default?

The short version. Get Google Tag Manager on your site first, then add your Google Ads tag through it, and verify both with Tag Assistant. Build the lead form conversion with a thank you page trigger. Add the conversion linker on all pages, because skipping it quietly costs you conversions. Then create all three phone call conversions: calls from ads is free and takes a minute, calls from website visits needs your displayed number matched exactly, and click to call needs the Click URL built-in variable enabled and a Just Links trigger on tel. Use the new-tab workaround to pull IDs and labels out of the event snippets. Preview everything before you publish, set your default call action, and then go into your campaign settings and select the conversion actions you want optimized for. That last step is the one people forget, and it is the one that makes all of it work.

This is technical and it is fiddly, but it is the foundation. Once the tracking is right, the real challenge becomes getting enough conversion data into the account for Google's bidding to work with, and that is a different conversation.

If you get stuck on any of this, reach out. We do Google Ads management and consulting, and setting up conversion tracking properly is something we do constantly.

 

0 comments

Leave a comment