Google AdsLive Audit & Troubleshooter

How do I track form leads and phone calls from Google Ads?

Quick Answer

Lead tracking needs form submission events, call actions, source capture, and a way to compare lead quality inside the admin or CRM. You must implement Google Tag Manager (GTM) for form submissions, use Google Call Forwarding for dynamic call tracking, and capture GCLIDs to sync offline conversions with your CRM.

This step-by-step implementation playbook outlines how to set up comprehensive conversion tracking for form fills, mobile click-to-calls, dynamic call forwarding on landing pages, and CRM integration.

If you are running Google Ads without precise tracking, you are essentially driving in the dark. You cannot identify which keywords are generating revenue and which ones are wasting budget. The algorithm, similarly, cannot optimize its bids because it has no feedback on which clicks are valuable.

For B2B and service-based businesses, conversions are typically split into two categories: **Web Form Submissions** and **Phone Calls**.

This technical guide walks through the step-by-step setup to capture form submissions, track phone calls dynamically, and integrate this data directly into your CRM to track closed-won revenue.

1. Setting Up Web Form Tracking (GTM method)

The most reliable way to track form submissions is using Google Tag Manager (GTM). While you can track simple page redirects (e.g. tracking visits to /thank-you), modern dynamic SPA forms (built in React/Next.js) do not always trigger page reloads.

To track form submissions in GTM:

  1. Create a Tag: Inside Google Ads, navigate to Conversions, create a new Web Conversion for Form Submits, and copy the Conversion ID and Conversion Label.
  2. Create a Trigger in GTM: Use the "Form Submission" trigger, or create a custom event trigger if your developer fires a custom dataLayer event (e.g. dataLayer.push({'event': 'lead_form_submitted'})) upon successful validation.
  3. Configure the Tag: Create a Google Ads Conversion Tracking tag, paste the ID and Label, and link it to your submit trigger. Ensure the Google Tag (gtag.js) is also firing globally on all pages.

2. Dynamic Call Tracking (DNI)

Phone calls are incredibly high-intent leads, but they are harder to track because the user leaves your website to dial. To bridge this gap, you must use Dynamic Number Insertion (DNI).

Google Ads provides a free tool called Google Call Forwarding:

When a user clicks your ad and lands on your site, Google's dynamic script swaps the phone number displayed on your website with a unique forwarding number. When the user dials that forwarding number, Google forwards the call to your actual business line, recording the call length, area code, and the originating keyword query.

Step-by-Step: Enabling Google Call Forwarding

To implement dynamic call swap on your Next.js/Vite website:

  • 1. In Google Ads, create a conversion for "Calls to a phone number on your website".
  • 2. Define the minimum call length (e.g., 60 seconds) to count as a conversion.
  • 3. Add the dynamically generated Google phone-swapping script to your HTML header.
  • 4. Wrap your website's phone numbers in a standard CSS class or span (e.g., <span class="phone-number">+1-800-XXX-XXXX</span>) so the script can target and swap it dynamically.

3. Capturing GCLIDs for CRM Attribution

Form fills are just contacts; you need to know which ones represent actual closed-won contracts. To track this, you must capture Google's click identifier, the GCLID.

When a user clicks your ad, Google appends a parameter to the URL: ?gclid=123456789abc.

Your developer should write a cookie capture script. When the user lands, the script reads the URL, extracts the GCLID value, and stores it in a cookie. When the user submits your lead form, the form must have a **hidden field** that automatically reads the cookie value and submits the GCLID alongside their Name and Email into your CRM (HubSpot, Zoho, Salesforce).

4. Offline Conversion Imports (OCI)

Once the GCLID is stored inside your CRM, the feedback loop is complete.

When that lead eventually pays and signs a contract three weeks later, your CRM marks the lead as 'Closed-Won'. You can configure your CRM to export a daily list of won GCLIDs and upload them back to Google Ads via the API.

Google matches the won GCLID to the exact keyword that generated the click. Now, your bidding algorithm optimizes for **revenue and closed sales**, not just raw form fills.

Frequently Asked Questions

Q:What is a GCLID and how does it work?

GCLID stands for Google Click Identifier. It is a unique parameter passed by Google in the URL on ad clicks. It contains encrypted data about the ad network, campaign, ad group, keyword, and match type, allowing downstream CRMs to trace leads back to their exact search origin.

Q:Can I use CallRail for Google Ads call tracking?

Yes. Third-party call tracking tools like CallRail or DialogTech are excellent alternative options. They provide dynamic number pools that track not only Google Ads queries but also organic search, Facebook ads, and direct visits, matching call sessions to specific web user cookies.

Q:How do I track phone calls on mobile devices?

You can track mobile calls by setting up a 'Click to Call' conversion in Google Tag Manager. Create a link trigger that fires when a user clicks a button pointing to a phone link (`tel:+1800XXXXXXX`), and map it to a Google Ads mobile click conversion tag.

Technical Terminology

Dynamic Number Insertion

A tracking technology that replaces phone numbers on a website with dynamic numbers assigned to specific search visitors.

Read reference documentation

GCLID

Google Click Identifier, a parameter appended by Google to target URLs to pass tracking details between Google Ads and analytics tools.

Read reference documentation

Offline Conversion Imports

A Google Ads feature allowing you to import sales data tracked in external CRMs back to correlate revenue with keywords.

Read reference documentation