In short: tutorials 1 and 2 get Google to count that the phone rang. This one gets it to count whether that call was worth anything. It is the same idea as offline conversions from a form, but without a GCLID: the call is identified by the caller's number and the time it started. The requirement that settles everything is that the call went through a Google forwarding number; if the patient, client or user dials your usual number, there is nothing to import.
The gap this tutorial closes
After the first two tutorials, an account that sells over the phone already knows how many calls each campaign brings and how long they last. But Smart Bidding is still optimising towards conversations, not customers:
| What Google knows after tutorials 1 and 2 | What it still doesn't know |
|---|---|
| The phone rang | Whether anyone useful was on the line |
| It lasted over 60 seconds | Whether it was a customer or a salesperson |
| It came from this campaign and this keyword | Whether they bought, signed or turned up |
| How much money they left behind |
In a phone-driven business that is exactly the problem a website has when it only measures forms, and the fix is the same: give Google back what happened next.
How Google identifies a call (and why there is no GCLID)
With a form, the piece that links the click to the sale is the GCLID, stored in your CRM. In a call there is no browser to store anything in: the person sees a number and dials it.
Google solves it another way. When the call goes through one of its forwarding numbers — the one on your call asset, or the one that replaces your website's number after an ad click — Google sits in the middle of the conversation and notes three things:
- Which click brought that person in.
- Which number they called from.
- The exact time the call started.
Days later you tell it: "the call from number X that started on Tuesday at 11:04 ended in a €900 sale", and Google matches it to the click that originated it. The number and the time do the GCLID's job.
⚠️ Pitfall: if the call came in on your usual number — because the visitor arrived from organic search, your business profile, a leaflet or word of mouth — Google never saw it, and the import will always fail with a "call not found". That is not a configuration error: there is simply no click to attribute it to. That traffic is measured, but by another route (next lesson).
Step 1 · Create the import conversion action
- Goals → Conversions → + New conversion action → Import.
- Choose the call conversions option (imports from other sources, calls). This is a different action from the ones in tutorials 1 and 2: those count the call, this one counts its outcome.
- Configure it:
| Setting | Recommendation | Why |
|---|---|---|
| Name | The milestone, not the channel: "Call · first appointment", "Call · quote accepted" | You will end up with one action per step of the funnel |
| Category | Qualified lead / Converted lead / Purchase | It keeps the funnel tidy in your reports |
| Value | The value of that step, not the company's average order | See the value section below |
| Counting | One | One call is one customer, even if they ring three times |
| Conversion window | The longest your cycle allows (up to 90 days) | If your customer decides in six weeks, 30 days loses you half of them |
| Primary / secondary | Primary only once volume is steady | While few come in, keep it secondary |
Create one action per milestone (qualified, appointment, sale) rather than a single one with different values: that way the reports show where the funnel leaks.
Step 2 · Gather the data for each call
The import needs at least these fields per call:
| Data | What it is | Where it comes from |
|---|---|---|
| Caller's number | In international format (+34…) |
Your switchboard's caller ID |
| Call start time | Date, time and time zone | Your call log |
| Action name | Exactly the one from step 1 | You set it |
| Conversion time | When the milestone happened (the visit, the signature) | Your CRM |
| Value and currency | Optional, strongly recommended | Your CRM |
The first two are what match the call; the last two are what make Smart Bidding learn something useful.
The step nearly everyone skips: somebody has to record what happened on the call. The system doesn't matter — the CRM, the practice software, a shared sheet — but it has to be part of the routine of whoever answers the phone, or none of the rest exists. If it takes more than three clicks, it won't happen.
Step 3 · Upload the outcome
Three ways, from least to most automated:
| Way | How | When to use it |
|---|---|---|
| Manual file | You upload the file from Conversions → Imports | To prove it works, and at very low volumes |
| Scheduled sheet | A linked spreadsheet that Google reads by itself, daily or weekly | The sensible option for most: the CRM or switchboard dumps into it |
| Automated | A tool connected to your CRM and switchboard uploads the outcome on its own | When volume or the number of accounts calls for it |
The first two are done entirely from the Google Ads interface, with no coding. The third is what lead quality tools do — including ours — and it is the subject of the next tutorial.
Deadlines you have to respect:
- Wait at least 4 hours after creating the action before your first import.
- Upload one extra day of data each time (overlap the period): some conversions are recorded late, and this way none are lost.
- Don't import beyond the conversion window you configured: a call older than the window can no longer be attributed.
- If the milestone takes weeks to happen, upload it with the milestone's date, not the call's.
What leaves an import at zero?
| Symptom | Cause | Fix |
|---|---|---|
| "Call not found" on every row | The call didn't go through a Google forwarding number | Revisit tutorials 1 and 2: without forwarding there is no import |
| A few match and the rest don't | Forwarding is only installed on part of the site or some locations | The snippet must be on every page where a phone number appears |
| Number format error | Missing international prefix or odd spacing | +34600000000, no spaces or dashes |
| Conversions land on the wrong day | Time zone not declared, or different from the account's | Declare the zone in the call start time |
| The call exists but doesn't count | It didn't reach the call action's minimum duration | Lower the threshold, or check whether the IVR menu eats the time |
| It imports fine but Smart Bidding doesn't move | The action is secondary, or there is too little volume | Primary only with volume; below ~30 a month, be patient |
Value: what actually moves the bid
If every call is worth the same, you have improved your reports but not your bidding. Two healthy approaches:
- By funnel step: qualified 1×, appointment 2×, sale 4×. Simple and enough to get started.
- By real amount on the sale. Careful: uploading wildly different amounts lets a handful of huge sales unbalance the learning. Many advertisers upload a capped amount (a percentile, or a ceiling) rather than the raw figure.
💡 Ninja tip: before building anything, count two numbers in your account: clicks on the phone link and calls measured. In one account we audited there were over 400 phone clicks a month and 3 measured calls: forwarding was installed on a single part of the site. The profitable work there wasn't importing outcomes, it was finishing the job from tutorial 2. Check that pair of numbers before touching anything.
What you should remember
- Offline call conversions import the outcome, not the call.
- They are matched by caller's number + start time, not by GCLID.
- Absolute requirement: the call must have gone through a Google forwarding number. Without that, always "call not found".
- One action per milestone, counting one, a long window, value by step.
- Wait 4 hours after creating the action, overlap a day on every upload, and upload the milestone with its own date.
- If nobody records what happened on the call, no system can fix that.