This is the setup I run when I take over a call-driven Google Ads account that has no call tracking yet. The goal is simple: every phone call should map back to the click that drove it, so the data is honest and Smart Bidding has something real to learn from. Here is the order I do it in.
Step 1: Decide what a tracked call is worth
Before any tooling, decide what counts. On most service accounts a call that lasts at least 60 seconds is a real conversation, not a wrong number or a hang-up. Pick a duration threshold and write it down. You will use it again when you set up conversion import. This single decision keeps junk calls out of your optimization later.
Step 2: Turn on call assets in Google Ads
Call assets, formerly call extensions, show your phone number directly in the ad. They also let Google count calls from the ad as conversions. Add them at the campaign or account level and set them to show during business hours. Google's call assets documentation walks through the exact placement. This covers calls straight from the ad, but it does not cover calls from your website, which is the next piece.
Step 3: Add dynamic number insertion on the site
Most calls come from people who click the ad, land on your site, and call the number there. Dynamic number insertion, or DNI, swaps the number on the page based on where the visitor came from. When a visitor arrives from a paid click, your call tracking tool shows a tracking number tied to that source, and the call inherits the source data. Install the tool's snippet on the site, point it at your number pool, and confirm the number swaps when you arrive from an ad.
Why you need a pool of numbers, not one
If two paid visitors are on the site at once and both see the same tracking number, you cannot tell their calls apart. A pool gives each concurrent visitor a unique number, so attribution stays clean. The size of the pool depends on your traffic. This is also the line item where per-number cost matters, since a larger pool at $3 a number adds up fast against the same pool at $0.50.
Step 4: Capture the GCLID
The Google Click Identifier is the thread that ties everything together. When a visitor clicks a paid ad, Google adds a GCLID to the landing URL. Your call tracking tool should read that GCLID and attach it to the session, so when the visitor calls, the call carries the GCLID. Confirm this is working by clicking one of your own ads, calling the tracking number, and checking that the call record shows a GCLID. If it does not, attribution will fall back to a vague channel and you will lose the keyword-level detail.
Step 5: Test before you trust it
Run a real test. Click a live ad, land on the page, note the tracking number, and place a call. Then open the call record and confirm three things: the call shows the right source, it carries a GCLID, and its duration matches what you dialed. If all three line up, the capture side is working. If any are off, fix it before you move to conversion import, because everything downstream depends on this step being clean.
Step 6: Hand off to conversion tracking
Once calls are captured with a GCLID, the next job is sending the qualified ones back to Google Ads as conversions so Smart Bidding can use them. That is a setup of its own, covered in the call conversion tracking guide. Do not skip it. Capturing calls without importing them is like keeping a sales log you never show the person making the budget decisions.
Common setup mistakes
One tracking number for everything
A single number cannot separate concurrent callers or sources. Use a pool sized to your traffic.
Forgetting the GCLID check
Many setups look fine until you realize calls are not carrying the GCLID. Always verify with a real test call, not just the tool's status light.
Counting every call
Wrong numbers and 10-second hang-ups are not conversions. Gate on duration so your data reflects real leads.
A quick word on tooling
Every serious call tracking tool can do these steps. The differences are how clean the workflow is and what the numbers cost. For most accounts I reach for CallScaler because the GCLID capture and conversion import are straightforward and the $0.50 number rate keeps a DNI pool affordable. See the full rankings if you want to compare options first.
Start tracking Google Ads calls today
Try CallScaler freeGCLID capture · offline conversion import · $0 to start
Sources: Google Ads call assets documentation · Google Ads conversion tracking