How a call is tracked, end to end¶
This page follows one call from an ad click to a conversion in Google Ads, and shows what Call Tracking does at each stage and where you can see it in the Enfonica Console. Read it to understand how the pieces in Key concepts work together.
The example: Example Plumbing runs Google Ads. Its website shows (07) 3000 1234, which is the Find Number of a rule in the site's only number pool. The pool has five tracking numbers. Recording, AI Call Insights, Google Analytics 4 and Google Ads are all on.
1. The visit¶
A searcher clicks the ad. Google adds a gclid to the landing URL, and the page loads the tracking script.
sequenceDiagram
participant V as Visitor's browser
participant CT as Call Tracking
V->>CT: Page loads with the tracking script
CT->>CT: Start a session and record where the visit came from
CT->>CT: Assign a free number from the pool
CT-->>V: Swap (07) 3000 1234 for 07 3000 5678
Note over V,CT: The number stays assigned while the visitor is on the site
What to notice:
- The session captures attribution from the landing page. Later pages don't change the source, medium or campaign.
- The assignment is per pool and stays with the visitor while they are on the site. Two visitors on the site at once get different numbers as long as the pool has enough. See Size a number pool.
- If the site is paused, the hostname isn't allowed, or no rule applies to the page, nothing is swapped. See Troubleshoot number swapping.
Where to see it: the swapped number on the page. See Verify the installation.
2. The call¶
The visitor dials 07 3000 5678. Call Tracking handles the call before it rings anywhere.
sequenceDiagram
participant C as Caller
participant CT as Call Tracking
participant D as Destination
C->>CT: Dials 07 3000 5678
CT->>CT: Match the number, create the tracked call, work out attribution
CT-->>C: Consent message plays, recording starts
CT->>D: Forward to the first handler
D-->>CT: Answered
C->>D: Conversation
D-->>CT: Call ends: outcome and duration recorded
What to notice:
- Attribution is decided when the call starts, from the sessions that hold the number at that moment. The outcome and duration are filled in when the call ends. The call shows as In progress in between.
- Handlers are inherited: a static number's own handlers, else the pool's, else the site's. See Route incoming calls.
- Recording and the consent message are decided the same way, and the preamble plays only when recording is on. See Record calls and play a consent message.
Where to see it: Tracked calls, then the call's page. See Understand a call's details.
3. The attribution decision¶
flowchart TD
A[Call arrives on a tracking number] --> B{Static number?}
B -- Yes --> S[Attributed to the number's campaign settings]
B -- No --> R{Same caller called this number recently?}
R -- Yes --> RC[Inherits the earlier call's attribution]
R -- No --> N{Sessions holding the number when the call started}
N -- None --> NA[No attribution]
N -- One --> H[High confidence]
N -- Several --> M{Can location single one out?}
M -- Yes --> MC[Medium confidence]
M -- No --> L[Low confidence, best candidate chosen, alternatives kept]
In the example, only one session held 07 3000 5678, so the call is High confidence, with source google, medium cpc, the campaign from the ad's UTM parameters, and the gclid. See Attribution confidence and reason flags and Sources, mediums, campaigns and channels.
4. After the call¶
flowchart LR
E[Call ends] --> T[Transcript and AI labels, if recording and Call Insights are on]
T --> I[Integrations: Google Analytics 4, Google Ads, Meta Ads, HubSpot, Zapier]
E --> L[Call log, overview, Explore and email reports]
What to notice:
- Integrations run once, after the call ends, and wait for AI Call Insights when it's on, so a conversion can appear a few minutes after the call. Google Ads can take up to 24 hours to show it. Each integration has its own eligibility rules. See Integrations overview.
- Missed calls appear in the call log and reports, but aren't sent to Google Analytics 4, Google Ads or Meta Ads unless the minimum call duration is 0.
- Each call's page shows a delivery chip per integration.
In the example, the call was connected for three minutes and labelled Qualified, so it became a phone_call event in Google Analytics 4 and a conversion in Google Ads attributed to the click, and it appears in Monday's weekly report.
The same journey for a static number¶
A caller who dials the number printed on a flyer skips stage 1. The call is matched to the static tracking number, attributed to the campaign, medium, source and content set on the number, forwarded, recorded and analysed the same way, and sent to Google Analytics 4, HubSpot and Zapier. It isn't sent to Google Ads or Meta Ads because there is no click ID. See Add a static tracking number.