How to Track Calls From Your Website: Click-to-Call Events, Tracking Numbers and Low-Cost Setups for Local Businesses
Start with two free layers: record every tap on your phone number as a key event in Google Analytics 4, and, if you run Google Ads, turn on website call conversions so ad visitors see a Google forwarding number. When you need to know which calls actually connected, how long they lasted and which page or keyword produced them, add a call tracking service with dynamic number insertion (DNI), which swaps the number shown on your site while keeping your real local number in the page code for Google. Below: how to set up each layer and how to keep your NAP consistent.
Key takeaways
- A tap on a tel: link is a click, not a call: GA4 counts intent, not conversations.
- Google Ads can count real calls from ad visitors with Google forwarding numbers and a minimum call length you choose.
- Google Business Profile no longer has a call history log; only a calls count remains in Performance.
- Dynamic number insertion shows tracking numbers to visitors while your real number stays the one Google sees.
- Keep your real local number on directories and citations; use tracking numbers on the website and ads.
- Record every call outcome, or the numbers never become decisions.
Why should a local business track website calls at all?
For plumbers, roofers, clinics and most service businesses, the phone is where the money is: the customer with a burst pipe calls, not fills in a form. If your reports only count forms, your website looks weaker than it is, and you may cut the very page or ad that keeps your phone ringing.
Tracking calls tells you which pages make people pick up the phone, which channel sent them, and whether those calls were real jobs. Without it, every decision about ads, SEO or a redesign is a guess.
What are the main ways to track calls from a website?
There are four common methods, and most small businesses end up combining two of them. Here is how they compare.
| Method | What it measures | Cost | Best for |
|---|---|---|---|
| GA4 click-to-call event | Taps on your phone link, by page and traffic source | Free | Every website, as the baseline |
| Google Ads website call conversions | Real calls from people who clicked your ad, with a minimum length | Free with Google Ads | Businesses running Google Ads |
| Call tracking service with DNI | Every call by source, keyword and page, with duration and often recordings | Monthly subscription plus per-number fees | Businesses spending on several channels |
| One static tracking number per channel | Calls from a single placement, such as a flyer or a directory | Low, per number | Offline ads and one or two paid listings |
How do you track click-to-call taps in Google Analytics 4?
GA4 does not have a built-in phone-click event, so you create one. The simplest route is Google Tag Manager: a trigger that fires when someone clicks a link starting with tel:, and a GA4 event tag that sends an event such as phone_click with the page path. Mark it as a key event so it shows in your acquisition reports. Remember a tap is intent, not a conversation: accidental taps count, and desktop visitors who dial from their mobile are never seen.
First, make sure the number is a link: a phone shown as plain text or an image cannot be tapped or tracked. Our guide to click-to-call and WhatsApp buttons covers how to build buttons that work on every phone.
- Make every visible phone number a tel: link, including header, footer and sticky mobile button.
- In Google Tag Manager, create a Click - Just Links trigger where Click URL starts with tel:.
- Send a GA4 event (for example phone_click) with the page location as a parameter.
- Add a separate event for WhatsApp taps, then test both in Tag Assistant or DebugView.
How do Google Ads call conversions work?
Google Ads counts calls made straight from call ads and call assets. Website call conversions go further: after someone clicks your ad, your website shows them a Google forwarding number in place of your real one, and calls lasting at least the minimum length you set count as conversions. A simpler option counts only clicks on the number on your mobile site.
This needs the Google tag, a call conversion snippet and call reporting turned on. Google forwarding numbers are only available in certain countries, so check availability for yours. You can also import call conversions from your CRM to count only calls that became sales. Our comparison of a landing page vs homepage for Google Ads helps you choose where ads should land.
What happened to Google Business Profile call history?
Google Business Profile once had a call history feature that logged calls made from your listing. Google retired it: July 31, 2024 was the last day owners could view call history, alongside the removal of chat on business profiles.
What remains is the Performance view, which counts calls from your profile alongside website clicks and direction requests: a count, not a log. For who called and what happened, you need phone system records or a tracking number. Our Google Business Profile checklist covers the basics.
What is dynamic number insertion (DNI) and how does it work?
DNI is a small script from a call tracking provider. When a visitor arrives, it checks where they came from (Google organic, Google Ads, Facebook, an email) and replaces the phone number on the page with a tracking number assigned to that source. Calls to the tracking number are forwarded to your real line, and the provider logs the source, landing page, duration and, if you choose, a recording.
Number pools give each session its own number, so a call ties back to the exact page and keyword. Because the swap happens in the visitor's browser, your real local number stays in the page's HTML, which is what search engines read.
- Pick a provider that offers local numbers in your area code and forwards to your existing phone.
- Install their script once, sitewide, and mark which number on the page should be swapped.
- Connect it to GA4 and Google Ads so calls show up as conversions with their source.
Will call tracking numbers hurt your local SEO and NAP consistency?
Google's business profile guidelines ask for a phone number under the direct control of the business that connects to your location, and to use a local number instead of a central call center number whenever possible. Directories and citation sites pick up whatever number they find, so a tracking number that leaks into citations creates the inconsistent NAP data that confuses search engines and customers.
The safe pattern: keep your real local number in your website's HTML, footer and schema, on directories and in your citations. Let DNI swap numbers only for visitors. If you put a tracking number on your Google Business Profile, many local SEO practitioners make it the primary number with your real number as an additional one; it is a judgment call, so keep the real number in control. Our guide to NAP consistency and local citations explains why this matters.
What is a simple, low-cost call tracking setup for a small business?
Start small, prove what works, and pay for more detail only when the spend justifies it.
| Budget level | Setup | What you learn |
|---|---|---|
| Free | GA4 phone-tap key event plus a UTM-tagged website link on your Google Business Profile | Which pages and sources produce taps, including visits from your profile |
| Free with ads | Add Google Ads website call conversions with a sensible minimum call length | Which campaigns and keywords produce real calls |
| Low monthly cost | One static tracking number each for print, vehicle wraps or a paid directory | Whether offline and paid placements pay for themselves |
| Growing | Call tracking service with DNI, recordings and CRM integration | Every call by source, page and outcome |
How do you turn call data into more customers?
Counting calls is half the job. The other half is recording what happened: new customer, existing one, spam? Did it become a booked job, and for how much? Otherwise a channel full of short spam calls looks better than one producing a few big jobs.
In our projects, this is where spreadsheets usually break down. Calls get logged on paper or in a shared sheet, entries go missing, and nobody can connect a job to its source. A simple CRM capturing caller, source and outcome fixes that, and can feed results back to Google Ads. See how we approach custom CRM development for small teams.
Plenty of visitors but very few taps means the website itself is the problem. Our guide on why a website gets visitors but no calls walks through the diagnosis.
How does ITCM build call tracking into a new website?
When we build a site, the phone is treated as the main conversion: a tappable call button in the header and a sticky mobile bar, GA4 events from day one, and the real local number consistent in the code and schema, ready for DNI later. Owners see call and form activity in their own admin panel.
We work demo-first: we build your business website and app, you see it finished and working, and you pay $150 one-time only if you are happy with it. The details are on our website + app offer page.
Frequently asked questions
- Can Google Analytics 4 track phone calls?
- GA4 cannot see phone calls themselves, only taps on a phone link on your website. You create an event, usually in Google Tag Manager, that fires on tel: link clicks, and mark it as a key event. To measure real calls with duration and source, you need Google Ads call conversions or a call tracking service that sends call data into GA4.
- Is there a free way to track calls from my website?
- Yes. A GA4 key event for taps on your phone link is free and shows which pages and traffic sources produce calls. If you advertise on Google Ads, website call conversions with Google forwarding numbers are also included at no extra cost. A UTM tag on your Google Business Profile website link separates profile visits from other organic traffic.
- Does Google Business Profile still show call history?
- No. Google retired the call history feature, and July 31, 2024 was the last day owners could view it, at the same time chat was removed from profiles. The Performance view still shows how many calls came from the listing, but not who called or what happened.
- Will a call tracking number hurt my Google ranking?
- Not if you use it carefully. Keep your real local number in your website code, schema, citations and directories so your NAP stays consistent. Use dynamic number insertion so tracking numbers only appear to visitors. Google's guidelines require a number under your direct control that connects to your business, so choose local numbers you own through a reputable provider.
- How long should a call be to count as a conversion?
- There is no single right answer; you choose the minimum length in Google Ads and most call tracking tools. Pick a length long enough to filter out wrong numbers, hang-ups and quick spam, but short enough to include genuine booking calls. After a few weeks, review a sample of calls and adjust.
- Do I need call tracking if I only get a few calls a week?
- Even with a handful of calls, knowing which page or channel produced them helps you spend wisely. Start with the free GA4 phone-tap event and simply ask every new caller how they found you, then note it somewhere central. Pay for a tracking service once you spend on several channels.
Related reading & services
- Click-to-call and WhatsApp buttons
- Website gets visitors but no calls
- How to get leads from your website
- Local SEO for small business
- Custom CRM replacing spreadsheets
- Get your website + app free until you're happy
- Live chat for small business websites
More in Local SEO & Getting Customers
- The Best Call to Action for Local Business Websites: Wording by Industry, Placement, Sticky Mobile Bars and Simple Testing
- Landing Page vs Homepage for Google Ads: Where to Send Your Clicks, How It Affects Quality Score, and What a Good Local Landing Page Contains
- Bing Places for Business: How to Claim Your Listing, Import It from Google, Verify It and Make It Work in 2026
- How to Write Homepage Copy for a Small Business (With Plumber, Cleaner and Salon Examples)
All Local SEO & Getting Customers articles →
Free tool
Free Local Business Schema (JSON-LD) Generator
Generate ready-to-paste LocalBusiness structured data so Google understands your business.
Try it freeGet a website + app built for free
We build your website and mobile app first, and you see it finished. If you’re happy, you pay $150 one-time. If you’re not, you pay nothing.
See the $150 offer Free website audit