Saazora
Sales Prospecting & CRM
Oct 24, 2026 23 mins read 59 views

How to Track Phone Calls in GA4 (2026)

GA4 records no phone calls on its own. This research guide shows how to track phone calls in Google Analytics 4 in two layers: a Google Tag Manager tel: click event marked as a key event, and a call tracking integration (CallRail, with WhatConverts and CallTrackingMetrics compared) that sends the real call, its duration and first-time or repeat status. It explains which calls GA4 can and cannot see, why calls to fixed numbers land as Direct, why CallRail events do not import from GA4 into Google Ads, how many custom dimensions a full setup uses, what consent banners change, and what CallRail's entry plan costs by website traffic. Prices checked October 23, 2026.

Quan Le
Quan Le
AI Tools Reviewer
How to Track Phone Calls in GA4 (2026)

Google and vendor help pages read, and CallRail prices checked, October 23, 2026 · Research-based guide built from Google Analytics and Tag Manager help pages, CallRail's help center and pricing page, and the WhatConverts and CallTrackingMetrics GA4 documentation, not hands-on testing · US list prices

Saazora may earn a commission if you sign up for CallRail through links on this page, at no extra cost to you. Links to Google, WhatConverts and CallTrackingMetrics documentation are plain links with no affiliate tag.

To track phone calls in Google Analytics 4 you need two separate pieces, because GA4 by itself never hears a phone ring. The first is a Google Tag Manager event that fires when a visitor taps a tel: link, which you then mark as a key event. That counts taps, not calls. The second is a call tracking tool that swaps the number on your site (dynamic number insertion) and sends each real call into GA4 as its own event, with the duration and whether the caller is new. Without the second piece, GA4 misses everyone who reads your number and dials it, every call to your Google Business Profile or printed numbers, and every call length. CallRail's entry Lead Tracking plan, which lists Google Analytics among its included integrations, costs $55 a month on monthly billing or $50 a month billed yearly (callrail.com/pricing, October 23, 2026).

This guide covers the GA4 side. If your question is mainly about counting calls as conversions inside Google Ads (call assets, Google forwarding numbers, call imports), our walkthrough of Google Ads call conversions handles that, and the two setups work side by side. For a wider look at the vendors that can feed GA4, see our ranked list of call tracking software.

What GA4 can record without a call tracking tool

Out of the box, GA4 records no phone activity at all. Google's enhanced measurement, the switch that collects scrolls, file downloads and outbound clicks without code, defines an outbound click as a click on "a link that leads away from the current domain and to another website." A tel: link does not lead to another website, and Google's list of enhanced measurement events has no phone or call event. So the starting point is zero, even if your number is a tappable link.

With one Tag Manager event, GA4 gains a single signal: someone tapped or clicked the number. That is useful on mobile, where most callers tap. It still tells you nothing about what happened next.

Question you want GA4 to answerGA4 aloneGA4 + GTM tel: eventGA4 + call tracking integration
Did someone tap the phone number?NoYes, one event per tapIndirectly: a call event arrives if the tap became a call
Did the call actually connect?NoNo (a tap that is cancelled still counts)Yes, the event is sent for the call itself
Did a desktop visitor dial the number by hand?NoNo, there is no clickYes, if the number on the page was a swapped tracking number
How long was the call?NoNoYes: CallRail sends call_duration in seconds; WhatConverts sends call_duration_seconds
First-time or repeat caller?NoNoYes, as a parameter or as separate event names
Which campaign drove the call?NoYes, from the session that tappedYes for website calls; offline and listing numbers arrive with the source as custom parameters
Was it a good lead or a sale?NoNoPartly: CallRail can send a qualified parameter and a value

Source: Google Analytics Help "Enhanced measurement events"; CallRail help center "Google Analytics 4 (GA4) integration" (updated January 14, 2026); WhatConverts help center "Understand What Event Data is Sent to Google Analytics." Read October 23, 2026.

Five ways a phone call reaches you, and what lands in GA4 for each

The gap is easier to see call by call. A small business typically gets calls in at least five ways, and each one shows up in GA4 differently, or not at all. The deciding factor is whether the call is tied to a website session. CallRail's own documentation draws the line: calls to a website pool (numbers that swap per visitor) carry a Google Analytics session ID, while calls to a source number (one fixed number on a listing, an ad or a flyer) do not.

Matrix of five ways a phone call happens and whether GA4 alone, a GTM tel: click event or a call tracking integration records each one
What GA4 can see of each type of call, with and without help. Saazora matrix from Google and CallRail documentation, October 23, 2026.

Two rows in that matrix catch most people out. First, the desktop visitor who reads your number and dials it from a desk phone or mobile: no click happens, so no tag can see it. Only a tracking number shown to that one visitor can connect the call back to the visit. Second, calls to fixed numbers such as your Google Business Profile listing or a printed flyer: CallRail does send them to GA4, but its "Your CallRail data in Google Analytics 4" article says Google "did not make the necessary attribution fields available," so source, medium, campaign and landing page arrive as "not set" or "none" and the events fall into the Direct or Unassigned channel. The real source still travels with the event as custom parameters, which is why the custom dimension step later in this guide matters.

Calls placed straight from a Google ad's call button are a third special case. They pass through a Google forwarding number, and CallRail's Call Details Forwarding article says CallRail "does not post conversions to Google Ads" for those calls; Google Ads counts them under its own call conversion settings. In GA4 they behave like any other fixed-number call.

Step 1: track phone calls in Google Analytics 4 with a GTM tel: click event

This part is free and takes about as long as any other Tag Manager event. It assumes GTM is already installed and your GA4 Google tag already fires on every page. The settings below follow Google's Tag Manager help pages for click triggers, built-in variables and GA4 event tags.

Four-step Google Tag Manager setup for a click-to-call event: Click URL variable, Just Links trigger on tel: links, GA4 Event tag and marking the event as a key event in GA4
The four pieces of a click-to-call event, plus the event name clash to avoid. Saazora diagram from Google's Tag Manager and Analytics help pages, October 23, 2026.
  1. Turn on the Click URL variable. In your GTM workspace, open Variables, click Configure under Built-In Variables and tick Click URL. Google describes it as the value of gtm.elementUrl, set by click triggers, which for a phone link is the full tel: address.
  2. Create the trigger. Triggers, New, then choose the click type "Just Links." Under "This trigger fires on" pick Some Clicks and add the condition Click URL starts with tel:. Google recommends the Some Clicks filter for performance, and it also stops the event firing on every other link.
  3. Create the GA4 Event tag. Tags, New, "Google Analytics: GA4 Event." Enter your measurement ID (it starts with G-), an event name such as click_to_call, and one event parameter, link_url set to {{Click URL}}, so you can tell your main line from a second location's number. Attach the trigger from step 2.
  4. Test before publishing. Click Preview to open Tag Assistant, connect your site, tap or click the phone number and confirm the tag fired once. Then Submit, "Publish and Create Version." The event shows in GA4's Realtime report within minutes.
  5. Mark it as a key event. In GA4, Admin, Data display, Events: find click_to_call and click the star. Google's help page says this needs the Editor role or above, applies only from that day forward ("It doesn't change historic data") and can take up to 24 hours to reach standard reports. A standard property can mark up to 30 events as key events.

Three details from the Google pages are worth acting on. Choose your own event name rather than Google's recommended generate_lead if you also track form leads, or taps and form fills merge into one number. Avoid phone_call, because that is the exact name CallRail's integration uses for real calls, and two different things under one name cannot be separated later in a report. And if you plan to bid on this event in Google Ads, Google's "Create or modify key events" page says a value must come with a currency parameter in ISO 4217 format (USD, for example), or the event is counted but "won't be sent to Google Ads."

How call tracking sends the actual call into GA4

A call tracking tool does the part GA4 cannot. CallRail's dynamic number insertion article describes the mechanism: a JavaScript snippet on every page detects your business number (in formats such as 111-222-3333 or (111) 222-3333) and replaces it with a tracking number. A website pool hands each visitor their own number for the length of the visit, and stores the visitor's source in a cookie so a returning visitor sees the same number. When that number rings, CallRail knows which visit it belonged to.

CallRail then pushes the call to GA4 from its own servers rather than from the visitor's browser. It asks for your GA4 measurement ID and a GA4 API secret, which are the two credentials of Google's Measurement Protocol. Google's developer docs describe the Measurement Protocol as a way to record "server-to-server and offline interactions" and say it is meant "to supplement, not replace" the normal Google tag. That is why the GA4 tag still has to be on your site: CallRail's setup article lists a GA4 property with the gtag installed as a prerequisite.

The website pool has to be big enough for this to work. If two visitors see the same number at the same time, CallRail's pool-sizing article says their sessions get merged under whoever calls first, which can turn an ad click into a Direct visit. CallRail's rule is to take your busiest hour of sessions over the last two weeks and divide by four, with a minimum of four numbers per pool. You can read that peak from GA4 itself: Explore, Blank, a line chart with Date + hour as the dimension and Sessions as the metric.

One limit matters for anyone running ads. Because CallRail cannot fill GA4's standard gclid field, its documentation says CallRail events "will not show in any connected Google Ads reporting within GA4," and "the conversion import from GA4 to Google Ads will not include our events." For Google Ads bidding, CallRail points you to its direct Google Ads integration instead. In practice that means GA4 is where you analyse calls next to the rest of your traffic, and Google Ads gets its call conversions from a separate connection.

Setting up the CallRail GA4 integration, in order

These steps follow CallRail's "Google Analytics 4 (GA4) integration" help article, last updated January 14, 2026. CallRail says the whole job can take "anywhere from an hour or up to a few days," depending on the size of the business. The integration is set per company inside a CallRail account, so an agency repeats it for each client.

  1. Get the swap script live first. In CallRail, Integrations, Google Tag Manager gives a Custom HTML snippet. CallRail's GTM article says to fire it on All Page Views, because the script must load on the landing page and every page that shows a number.
  2. Open the GA4 integration. Integrations, Google Analytics 4, choose the company, enter your website URL. CallRail searches the site for your measurement ID. If it cannot find it, enter the ID and an API secret by hand (GA4 creates secrets under the data stream's Measurement Protocol API secrets).
  3. Add extra properties if you need them. One integration can send to up to five GA4 properties, but all of them must use the same event settings.
  4. Pick what to send. Tick Calls, and SMS, Forms or Chat if you use them. Then choose one call event for everything, or separate events for first-time and repeat callers. A default monetary value per event is optional and can be overwritten by a CallRail automation rule.
  5. Activate, then make a test call straight away. CallRail recommends calling a tracking number right after activating, because GA4 needs to receive an event before the next steps can be finished. Data can take up to 24 hours to appear.
  6. Create custom dimensions and metrics the same day. CallRail warns these settings "do not apply retroactively," so calls received before you create them cannot be used in reports. In GA4, Admin, Custom definitions, create event-scoped dimensions for the parameters you care about (CallRail's list has 18, from source and campaign to tracking_number_name and qualified) and metrics for call_duration (seconds) and value. You need the Editor role.
  7. Mark the call events as key events. Optional in CallRail's article, but needed if calls should appear in Acquisition and Advertising reports. The names to look for are phone_call, first_time_phone_call, repeat_phone_call, form, chat and sms.
Bar chart of how many GA4 custom dimensions, custom metrics and key events a full CallRail GA4 integration uses against Google's standard property limits
A full CallRail setup takes about a third of a standard property's event-scoped custom dimensions. Saazora arithmetic from Google's configuration limits and CallRail's recommended definitions, October 23, 2026.

Before creating all 18 dimensions, check what your property already uses. Google's configuration limits page gives a standard property 50 event-scoped custom dimensions, 50 event-scoped custom metrics and 30 key events. CallRail's full list takes 18 of the 50 dimensions, which is fine on a fresh property but can crowd one that already carries ecommerce or form parameters. For most small businesses, source, medium, campaign, tracking_number_name, first_time_caller and qualified answer the everyday questions; the rest can wait.

If calls are missing in GA4 after a day, CallRail's troubleshooting article names two usual causes: data thresholding when Google signals is included in reporting identity (switching reporting identity to Device-based is one fix it lists), and an active Developer traffic data filter. For a fuller picture of what else the platform does once calls are flowing, see our CallRail review.

How WhatConverts and CallTrackingMetrics handle GA4

CallRail is not the only tool that sends calls to GA4 this way. Both main alternatives also use a measurement ID plus an API secret, but their documentation shows real differences in what reaches GA4.

Detail, from each vendor's own GA4 articleCallRailWhatConvertsCallTrackingMetrics
Call event namephone_call, or first_time_phone_call / repeat_phone_callphone_call; optional _unique / _repeat suffixBuilt from toggles (activity type such as InboundCall, first-time or repeat); example given is CTM_Activity
Skip short calls before they reach GA4Not in the GA4 article; duration sent as a metric to filter in reportsYes: a minimum call duration in seconds (example: 60)Not in the setup article; conditions can be added through Triggers on higher plans
Calls with no website sessionSent; source travels as custom parametersNot described separately; events use the GA4 Client IDSeparate switch: "Send events when no GA4 session data is available (offline sources)"
GA4 properties per setupUp to 5, same event settingsProperties added one by one ("+ Add Property")Non-agency: one account, one property, one data stream
How fast events appearUp to 24 hours after activation"Typically" 1 to 5 minutes after the leadNot stated; recommends custom dimensions so data outlives the 30-minute Realtime view

Source: CallRail help center "Google Analytics 4 (GA4) integration"; WhatConverts help center "Connect WhatConverts to Google Analytics 4" and "Understand What Event Data is Sent to Google Analytics"; CallTrackingMetrics help center "Set up your Google Analytics (GA4) Integration" (updated January 30, 2026). Read October 23, 2026.

The short-call filter is the practical difference. If wrong numbers and hang-ups are a big share of your calls, WhatConverts can keep them out of GA4 at the source, while with CallRail you filter on call_duration in reports or let automation rules set qualified. CallTrackingMetrics' explicit offline-sources switch makes it clear which events will arrive without session data. Prices and the rest of the comparison are in our CallRail alternatives roundup. Vendor docs: WhatConverts GA4 setup and CallTrackingMetrics GA4 setup.

Consent banners: what changes when a visitor says no

Call tracking sits awkwardly with cookie banners, and the two vendors involved describe it differently. CallRail's "Cookie Consent banners" article says the cookies its number swap uses are "strictly necessary" first-party cookies that, under current privacy rules, "do not require consent," while adding that telling visitors about them is the site owner's job and that you should confirm the details with your own legal counsel. It also gives two ways to hold the swap until consent if you choose to: in GTM, change the CallRail tag's trigger from All Pages to your banner's consent event or require a consent type such as analytics_storage under Advanced Settings, Consent Settings; or wrap the script in a function that only loads after the visitor clicks accept.

Google's consent mode page covers the GA4 side. When analytics_storage is denied, no Analytics cookies are set, and in the "advanced" setup tags still send cookieless pings that GA4 uses for behavioral and conversion modeling. In the "basic" setup tags are blocked until consent, and Google says you then lose that modeled data.

The practical effect for call tracking: if you hold CallRail's swap until consent, a visitor who declines keeps seeing your normal office number, so their call reaches you untracked and never appears in GA4. Your call totals in GA4 then reflect only visitors who accepted. Which way to go is a legal decision for your market, not a technical one; this guide is not legal advice.

What CallRail's entry plan costs for a GA4 setup

CallRail's pricing page lists Google Analytics among the integrations included in all four Lead Tracking plans, so the GA4 connection itself carries no add-on fee. What changes the bill is how many numbers your website pool needs and how many minutes you use. Prices below were read from callrail.com/pricing ("See all Lead Tracking plans") on October 23, 2026.

Lead Tracking tierMonthly billingBilled yearlyNumbers includedMinutes includedExtra local numberExtra local minute
Entry$55/mo$50/mo5250$3.00$0.06
Second$75/mo$68/mo5750$3.00$0.06
Third$95/mo$85/mo101,000$2.50$0.05
Fourth$295/mo$265/mo404,000$1.75$0.045

Source: callrail.com/pricing, checked October 23, 2026. Usage is billed on top of the base fee and is not refundable; CallRail rounds each call up to the nearest minute; yearly plans pay the 12-month base fee upfront. 25 text messages included, then $0.03 each.

Using CallRail's pool rule (peak hourly sessions divided by four, minimum four) plus one fixed number for a Google Business Profile listing, here is what three example sites would pay on monthly billing. The traffic and minute figures are Saazora assumptions for illustration.

Example sitePeak hour sessionsNumbers neededMinutes a monthEntry tier billCheapest tier
Small local business165 (pool of 4 + 1)300$58.00Entry, $58.00 ($53.00 billed yearly)
Busy single-location business4011 (pool of 10 + 1)600$94.00Second, $93.00 ($86.00 billed yearly)
Multi-location business10026 (pool of 25 + 1)1,200$175.00Third, $145.00 ($135.00 billed yearly)
Chart comparing the CallRail monthly bill on the $55, $75 and $95 Lead Tracking tiers for websites with 16, 40 and 100 sessions in their peak hour
The entry tier stays cheapest only for small pools; past about ten numbers the higher tiers' included numbers and minutes win. Saazora arithmetic from callrail.com/pricing, October 23, 2026.

The pattern is that the entry plan fits a site whose busiest hour brings fewer than about 20 sessions. Above that, each extra pool number costs $3 a month on the entry tier, and the $75 and $95 tiers come out level or cheaper once you add minutes. The 14-day trial is enough to install the swap script, connect GA4, make a test call and see whether events arrive with the source you expect. You can start a CallRail trial here (affiliate link). Toll-free numbers, add-ons and the higher Lead Conversion plans are broken down in our CallRail pricing breakdown, and current deals are on the CallRail store page.

Questions about GA4 call tracking

Does GA4 track phone calls automatically?

No. Enhanced measurement has no phone event, and its outbound click event covers links to other websites. You need a Tag Manager event for taps on tel: links, and a call tracking integration for the calls themselves.

Why do my CallRail calls show as Direct in GA4?

Calls to fixed source numbers (a Google Business Profile listing, a flyer, an ad's call button) have no GA4 session, and CallRail says Google does not let it fill the standard source and medium fields for those. The real source is sent as custom parameters; create custom dimensions for source, medium and campaign to see it. Calls to a website pool do carry the session and appear under the right channel.

Can I import CallRail's GA4 call events into Google Ads?

Not through GA4. CallRail's documentation says the GA4-to-Google Ads conversion import will not include its events and recommends its direct Google Ads integration. A GTM tap event you create yourself can be imported like any other key event.

Should the tap event and the call event both be key events?

They measure different things, so both can be key events, but do not add them together as "calls." On mobile, a tap that turns into a call produces both events. Treat the tap as intent and the call event as the result; if you only want one number for leads, use the call event.

How this guide was researched

Saazora did not open a CallRail, WhatConverts or CallTrackingMetrics account or place test calls for this guide; it is a research guide. Every product behaviour above comes from the vendors' own help pages, read on October 23, 2026: CallRail's articles on the GA4 integration, its data in GA4, missing GA4 events, dynamic number insertion, visitor tracking, website pool sizing, Google Tag Manager installation, Call Details Forwarding and cookie consent; WhatConverts' GA4 connection and event data articles; and CallTrackingMetrics' GA4 setup article. GA4 and Tag Manager behaviour comes from Google's help pages on enhanced measurement, key events, configuration limits, consent mode, click triggers, built-in variables and GA4 event tags, plus the Measurement Protocol developer guide. CallRail prices were captured from callrail.com/pricing the same day. The cost examples and the GA4 limit arithmetic are Saazora calculations; the traffic and minute figures in them are assumptions, not customer data.

Sources (plain links): Enhanced measurement events · Mark events as key events · GA4 configuration limits · GA4 events in Tag Manager · Consent mode · CallRail GA4 integration · Your CallRail data in GA4

Tags: #track phone calls google analytics 4
Quan Le
ABOUT THE AUTHOR

Quan Le

Quan Le is the founder and editor of Saazora, an independent site for news and reviews of SaaS and AI tools. He has worked in affiliate publishing since 2015, writing product reviews, verifying deals and running SEO for review sites. On Saazora he focuses on software for small businesses, creators and marketing teams, and evaluates tools by how well they fit real workflows: onboarding, integrations, pricing and long-term value, not the length of their feature list.

Read Quan's full profile · LinkedIn · contact@saazora.com

KEEP READING

Related Reviews