Technical Guide
The Agency Guide to Call Tracking Attribution
Learn how Dynamic Number Insertion (DNI), GCLIDs, and session stitching work. The definitive technical guide for performance marketers.
Understanding Attribution
As an agency, your value is defined by your ability to prove ROI. But phone calls have historically been a "black box"—a gap in the data where attribution goes to die.
This guide explains the technical mechanics of how modern call tracking bridges that gap, turning phone calls into data as rich and trackable as a web form fill.
1. Dynamic Number Insertion (DNI)
The core technology behind call tracking is Dynamic Number Insertion (DNI)—a system that transforms static phone numbers into intelligent attribution anchors.
The Visit
A user lands on your client's website through any marketing channel.
The Script
The Enfonica JavaScript snippet loads instantly. It analyses the visitor's source: Did they come from Google Ads? Facebook? Organic search? Direct?
The Swap
Based on the source, we dynamically replace the phone number on the page with a unique tracking number mapped to that session. Each visitor sees a different number.
The Call
When the visitor calls, we know exactly which session triggered it. We link the call back to the original source, keyword, and campaign.
2. GCLID Capture (Google Ads)
For Google Ads, we go one level deeper with GCLID capture—the gold standard for attribution.
What is a GCLID?
A GCLID (Google Click ID) is a unique identifier appended to every Google Ads click. It looks like this: gclid=CjwKCAiA...
We Capture the GCLID
When a user clicks a Google Ad and lands on the site, our script captures the GCLID from the URL and stores it with the session.
The Call Happens
When the user calls, we know which GCLID triggered it. This gives us 100% accurate attribution—no fuzzy matching, no guesswork.
We Push to Google Ads
We send the phone conversion back to Google Ads with the GCLID. Google now knows this specific click led to a phone call.
3. Session Stitching (Google Analytics)
For Google Analytics, we use session stitching to link calls to the original web session.
We Capture the Client ID
Every Google Analytics session has a unique Client ID. We capture it when the user visits the site.
The Call Happens
When the user calls, we send a phone_call event to Google Analytics with that Client ID.
Google Stitches It Together
Google Analytics attributes the phone call to the original session. You can now see the call alongside web events in one unified report.
Why This Matters for Agencies
Defend Your Numbers
When a client questions attribution, show them the GCLID and session data. Full transparency builds trust.
Optimise with Confidence
Know exactly which keywords and campaigns drive phone leads. Make data-driven optimisation decisions.
Prove ROI
Show clients the complete journey from ad click to phone call. Turn vague success into undeniable proof.
Common Questions
How many tracking numbers do I need?
It depends on your traffic volume. For session-level DNI, we recommend 1 number per ~100 monthly sessions. Most agencies start with 5-10 numbers per client.
What if two people call at the same time?
Each session gets its own unique number. If you have enough numbers in your pool, collisions are rare. If a number is in use, the system assigns the next available number.
How accurate is session stitching?
For Google Ads (GCLID-based), it's 100% accurate. For Google Analytics session stitching, it's ~95% accurate depending on how quickly users call after visiting the site.
Can I see the attribution logs?
Yes. Enfonica provides full transparency with debuggable attribution logs. See the exact GCLID, timestamp, and session data that led to each match.
Ready to Master Attribution?
See how Enfonica makes call attribution transparent and defensible.