Your website generates phone calls. But if you don’t know how to track phone calls from website visitors, you’re essentially flying blind. You can’t tell which pages drive calls, which marketing channels deserve more budget, or whether your site is actually pulling its weight. For service-based businesses that depend on the phone ringing, that’s a […]
Your website generates phone calls. But if you don’t know how to track phone calls from website visitors, you’re essentially flying blind. You can’t tell which pages drive calls, which marketing channels deserve more budget, or whether your site is actually pulling its weight. For service-based businesses that depend on the phone ringing, that’s a expensive gap in your data.
Most business owners assume call tracking requires expensive enterprise software or a developer on retainer. It doesn’t. Google Analytics 4 and Google Ads both offer built-in tools to attribute phone calls to specific sources, and setting them up is more straightforward than you’d expect. The catch is that the setup process has changed significantly since Universal Analytics went away, and outdated guides can send you down the wrong path.
At Aim Set Win, we configure call tracking and lead attribution for every client website we build, it’s a core part of how we prove ROI for service businesses. This guide walks you through the exact methods we use to track calls in GA4 and Google Ads, from basic click-to-call tracking to dynamic number insertion. By the end, you’ll know which setup fits your business and how to get it running without hiring outside help.
What you can track and what you need first
Before you jump into any setup, you need to understand what “call tracking” actually covers in this context, because it refers to two distinct behaviors. Mixing them up or only implementing one means you’re still missing part of the picture, so getting clear on this upfront keeps the rest of the process from going sideways.
Two types of call tracking
Click-to-call tracking records when a visitor taps or clicks your phone number link on a mobile device or desktop. GA4 captures this as an event tied to the page and traffic source. It tells you someone intended to call, but it doesn’t confirm the call actually connected or how long it lasted. For most service businesses, this is the baseline minimum you should have running on every page where your number appears.
Click-to-call data is the fastest to set up and gives you immediate visibility into which pages and traffic sources are generating call intent, even before a single call tracking platform is involved.
Dynamic number insertion (DNI) goes deeper. A JavaScript snippet swaps your displayed phone number for a unique tracking number based on where the visitor came from. A call tracking platform captures the actual call, logs the duration, and pushes that conversion data into GA4 and Google Ads. This is the method that fully answers how to track phone calls from website visitors at the individual call level, not just the click level.
What you need before you start
Getting either method configured requires a few things already in place. Check this list before moving to the steps below, because a missing item will stall you mid-setup.
- A GA4 property with the base tag or Google Tag Manager (GTM) firing correctly on your site
- Google Tag Manager installed and verified (strongly recommended over manually coded tags)
- A Google Ads account linked to your GA4 property
- Edit-level access to both your GTM container and your GA4 property
- A verified business phone number in Google Ads if you plan to run call ads or call assets
Google Tag Manager is the central tool for everything in this guide. If it isn’t on your site yet, create your container at tagmanager.google.com and add the snippet to your site before continuing.
Step 1. Track click to call events in GA4
Click-to-call tracking works by firing a GA4 event every time a visitor clicks your phone number link. GTM detects the click, and GA4 logs it alongside the page URL and traffic source. This is the simplest way to understand how to track phone calls from website visitors, and it requires no third-party tools to get running.
Configure the trigger in GTM
Open GTM and create a new trigger. Set the trigger type to “Click – Just Links”, then enable “Wait for Tags” and “Check Validation.” Under the firing condition, choose “Some Link Clicks” and add this rule:

- Click URL | contains |
tel:
Name this trigger “Click – Phone Number” so it stays easy to identify when you build additional tags later.
Build the GA4 event tag
Create a new tag and choose “Google Analytics: GA4 Event” as the tag type. Connect it to your existing GA4 configuration tag and set the event name to phone_call_click. Add the following event parameters before you publish:
| Parameter | Value |
|---|---|
page_location |
{{Page URL}} |
click_text |
{{Click Text}} |
Attach your trigger, then publish the container. Test it by clicking your number on a live page and checking Reports > Realtime in GA4 to confirm the event fires correctly.
Step 2. Track real calls with Google Ads call conversions
The click-to-call event from Step 1 records intent. Google Ads call conversions go further, confirming that an actual call connected from someone who clicked your ad. This is the method you need if you’re running search campaigns and want hard conversion data feeding your bidding algorithms rather than click estimates.
Create the conversion action in Google Ads
Sign into Google Ads and navigate to Goals > Conversions > Summary, then click the blue plus icon. Choose “Phone calls” and select “Calls to a phone number on your website.” Set your minimum call duration to 60 seconds, which filters out wrong numbers and hang-ups. Assign a conversion value if you know your average lead worth, then save the action.

Setting a minimum call duration keeps your data clean and prevents short accidental calls from skewing the signals your bidding algorithms rely on.
Install the tag through GTM
Google Ads generates a conversion label and tracking ID after you save the action. Open GTM and create a new tag. Select “Google Ads Call Conversion Tracking” as the tag type, paste in your conversion ID and label, and attach the “Click – Phone Number” trigger you built in Step 1. Publish the container and you’ve closed the loop on how to track phone calls from website visitors at the campaign level, connecting each call intent back to a specific ad and keyword.
Step 3. Connect GA4 and Google Ads for reporting
Linking GA4 to Google Ads lets both platforms share conversion data bidirectionally. Without this connection, your Google Ads campaigns can’t see the GA4 events you configured in Step 1, and you lose the ability to use GA4 audiences for ad targeting. This step is what unifies your reporting and gives you a single view of how to track phone calls from website visitors across both platforms.
Link the accounts in GA4
Open your GA4 property and navigate to Admin > Property Settings > Google Ads Links. Click the blue link button, select your Google Ads account from the list, and enable personalized advertising. Confirm the connection and the link activates within 24 hours.
Once the link is active, GA4 automatically shares audiences and events with Google Ads, which means your call click data flows into campaign reporting without any additional tagging.
Import conversions back into Google Ads
After linking, you can pull GA4 conversion events directly into Google Ads rather than managing separate conversion actions in both places. In Google Ads, go to Goals > Conversions > Summary and click the plus icon. Choose “Import”, select “Google Analytics 4 properties,” and check the phone_call_click event you created in Step 1. Set the attribution model to data-driven if your account qualifies, then save. Your campaigns now optimize against real call intent data from GA4.
Step 4. Test, verify, and fix common issues
Testing before you call the setup complete saves you from collecting bad data for weeks. Use GTM’s built-in Preview mode to confirm every tag fires correctly, and check GA4’s Realtime report at the same time to verify the events actually land. This step is also where most problems with how to track phone calls from website visitors surface before they become reporting issues rather than after.
Confirm tags fire in GTM Preview
Click “Preview” in GTM, then open your site in the debug window. Click your phone number link and watch the GTM debug panel. You should see the “Click – Phone Number” trigger fire and the GA4 event tag listed under “Tags Fired.” If neither appears, check that your phone number link uses the tel: format, for example:
<a href="tel:+15125551234">(512) 555-1234</a>
If the trigger fires but the GA4 event doesn’t appear in Realtime, confirm your GA4 configuration tag is also firing on the same page load and not blocked by a consent banner.
Fix the three most common problems
When something breaks, it almost always comes down to one of these causes:
- Missing
tel:prefix on the phone number anchor tag in your HTML - Duplicate GA4 configuration tags firing on the same page, which inflates event counts and distorts your data
- Incorrect Google Ads conversion ID or label entered in the GTM tag, which prevents call data from reaching your campaigns

Wrap up and next move
You now have a complete system for how to track phone calls from website visitors, from click-to-call events in GA4 to real call conversions feeding your Google Ads campaigns. Each step builds on the one before it, and once the full setup runs, you stop guessing and start seeing exactly which pages and traffic sources generate calls.
The data you collect from here changes how you make decisions. You can cut ad spend on keywords that drive clicks but not calls, and double down on the pages that consistently convert visitors into phone calls. That kind of clarity is what separates businesses that grow predictably from those that stay stuck in a cycle of hoping the phone rings.
If you want this setup built and verified for your business without doing it yourself, talk to the Aim Set Win team and we’ll show you what your site is currently missing.
Jean runs growth strategy at AimSetWin, a performance marketing agency specializing in local service businesses across Texas. he's helped plumbers, HVAC companies, pest control operators, and home service brands build predictable revenue systems using data-driven advertising and conversion optimization.