Skip to content

Send call events to Google Analytics 4

Call Tracking sends a phone_call event to the client's Google Analytics 4 property for each qualifying call, so phone leads appear next to web conversions and can be marked as a key event.

Before you begin

  • You have Editor access to the client's Google Analytics 4 property.
  • The website's Google Analytics tag is installed and setting _ga cookies. Without it, calls still arrive but can't be linked to the visitor's Google Analytics session.
  • You have the Owner or Editor role in the Call Tracking project.

Get the Measurement ID and API secret

  1. In Google Analytics, click Admin > Data streams and open the website's web stream.
  2. Copy the Measurement ID. It starts with G-.
  3. Under Measurement Protocol API secrets, click Create, give the secret a nickname such as Call Tracking, and copy the secret value.

Connect

  1. In the Enfonica Console, open the tracking site and click Integrations.
  2. On the Google Analytics card, click Connect.
  3. Enter the Measurement ID and the API secret, and click Connect.
  4. Click Configure to set the Minimum call duration (seconds). The default of 60 sends answered calls connected for a minute or more. Set 0 to send every call, including missed calls.

Calls that end after you connect are sent. The secret is stored encrypted and isn't shown again; to change it, enter a new one under Configure.

The event

Each qualifying call sends one event named phone_call with these parameters:

Parameter Value
call_id The tracked call's ID
tracking_type dynamic for a number pool, static for a static number
session_id The Google Analytics session ID from the visitor's _ga_ cookie, when available
page_location, page_referrer The session's landing page and referrer
source, medium, campaign, term, content, channel The call's attribution. medium is omitted for direct visits.
device_category, browser, os The session's device (mobile, tablet or desktop), browser and operating system. Google Analytics can't work these out for server-sent events, so without them a call shows as an unknown device. Register them as custom dimensions to report on them.
gclid, gbraid, wbraid Google click IDs from the session, when present
labels_list The call's AI labels, comma separated, when Call Insights is on
label_<name> true for each label, for example label_qualified
call_summary The AI summary, when Call Insights is on
engagement_time_msec 100, so the event counts as engaged

The event's client ID is the visitor's Google Analytics client ID when the script could read the _ga cookie, so the call joins the visitor's session and user in Google Analytics. Otherwise a synthetic client ID is used and the call appears as a separate user. The event time is the call's start time. The caller's phone number is never sent.

Set up Google Analytics

  1. Mark the event as a key event. In Admin > Events, find phone_call after the first call arrives and turn on Mark as key event. It can take a day for the event to appear in the list.
  2. Register custom dimensions for the parameters you want to report on, such as tracking_type, channel and labels_list, under Admin > Custom definitions. Parameters that aren't registered are still received but don't appear in standard reports.
  3. Import the key event into Google Ads if the client bids on Google Analytics conversions. Otherwise use the Google Ads integration, which attributes conversions to the click directly.

Timing

Events appear in Realtime within a few minutes of the call ending, later if AI Call Insights is on. Standard reports can take 24 to 48 hours to update.

Troubleshooting

Problem Check
No events at all The Measurement ID and API secret belong to the same web stream. The card shows Connected.
Some calls missing The call was answered and connected for at least the minimum duration. Missed calls aren't sent unless the minimum is 0. The call's page shows the Google Analytics chip as delivered or failed.
Calls appear as new users The _ga cookie wasn't readable when the script ran: the Google Analytics tag loads after the tracking script, is on a different domain, or was blocked by consent. The event still arrives with its attribution parameters.
Source and medium look different from Google Analytics Call Tracking reads them from the landing page of the session using the same rules Google Analytics uses. See Sources, mediums, campaigns and channels.

What's next