CallSource knows which calls booked an estimate. Your Google Ads doesn't.
CallSource's analysts listen to every call, sort new prospects from service calls and confirm which ones set an appointment. None of that reaches Google Ads or Meta on its own, so both keep bidding on what they can see: a 60-second call, a form fill, a click. Fixed means the prospects and appointments CallSource confirms go back to each platform once, tied to the ad click.
Free30 minutesNo obligation
CallSource · what breaks
What goes wrong with CallSource
- 01
"CallSource says it was a prospect. Google says it was a conversion. They're different calls."
CallSource sorts each call into prospect, non-prospect, sales, service or other, but its public docs list no Google Ads connection. Google counts any call over your minimum length instead, so a warranty question teaches Smart Bidding the same lesson as a new window-installation quote, and your budget drifts toward the campaigns that ring with existing customers.
- 02
"The number on our site keeps changing, and the reports don't agree"
CallSource's DNI script and Google's forwarding-number snippet both replace the phone number on your pages. With both installed they fight over the same number, so one caller can be credited by Google, by CallSource or by neither, and you're setting budgets from reports that can't all be right.
- 03
"Our call events used to show up in Analytics. Now nothing imports."
CallSource sends an Analytics event when a call ends and says you can make it a Goal. Goals were Universal Analytics, which stopped processing in July 2023. If nobody rebuilt it as a GA4 key event, Google Ads has nothing to import.
- 04
"Meta keeps sending tire-kickers while our best leads phone in"
When your HVAC or roofing leads phone in instead of filling in the form, Meta never hears about them: CallSource documents no Meta connection. So Meta learns only from form fills and spends your budget finding more people who type, not people who book estimates.
CallSource · the fix
What changes — CallSource
Google bids on calls your analysts would keep
The primary conversion becomes a CallSource prospect call, with appointment-set calls as a higher-value second step. Service calls and repeat customers stop counting.
One swap, one count per call
One number-replacement script and one sending path per ad platform, so Google Ads, GA4 and CallSource agree.
Meta finally hears about phone appointments
Appointment-set calls sent through Meta's Conversions API, so campaigns for siding, roofing or pest control learn from booked homeowners.
CallSource · architecture
What CallSource actually lets you hook into
CallSource's public docs are short on technical detail, so anything not stated there is something we confirm with your account manager first.
- 1
DNI JavaScript snippet
One line of code swaps in numbers from a local or toll-free pool sized to your peak concurrent visitors, tagged with source codes. Calls are credited to the session or a set window after it.
- 2
Google Analytics call event
Sent when the call ends, matched to the visitor's Analytics cookie ID. Confirm it reaches GA4, not a retired Universal Analytics property.
- 3
LeadScore and Appointment Confirmation
Human analysts classify recorded calls and determine which prospect calls became appointments, with conversion rates by ad source and employee. We confirm the per-call outcome can be exported.
- 4
Data exports and listed partners
CallSource names ADF XML, FTP and XML as methods, with MarketSharp, LeadPerfection, Voice for Pest, 3CX, 8x8 and Five9 among its partners.
- 5
Not documented publicly
A Google Ads upload, a Meta connection, webhooks, Zapier or an open API. We ask what your plan includes before building on any of them.
CallSource · diagnose
Where CallSource tracking breaks, in diagnostic order
We start on your live site, because the number swap decides everything downstream.
- 01
Count the number-swap scripts
CallSource DNI plus Google's forwarding snippet on the same page is the usual conflict.
- 02
Watch the pool at your busiest hour
CallSource says it resizes pools dynamically. Confirm two visitors never share a number during a Monday rush.
- 03
Follow one ad click to the call record
CallSource doesn't document GCLID capture, so we test whether it survives or must be joined by session.
- 04
Find where the GA call event lands
GA4 property, marked as a key event, imported into Google Ads, or none of the three.
- 05
Compare Google's calls with LeadScore prospects
Over a closed month. Google counting far more than CallSource's prospects means junk is training your bids.
- 06
Check whether appointments ever leave CallSource
If Appointment Confirmation data stays in the dashboard, no platform knows which campaigns book estimates.
CallSource · prove
The QA evidence — CallSource
Tested with real calls from ad-tagged visits to your live site, after the CallSource analyst has classified each one.
Source of truth
CallSource call records: LeadScore classification, Appointment Confirmation outcome and source code per call, plus sold jobs in your CRM
- One CallSource number per visitor and no second swap script on the page.
- A test call from a Google ad click carrying its click ID to the sent conversion.
- Service and repeat-customer calls confirmed absent from Google Ads and Meta.
- One prospect and one appointment conversion per booked caller, with a matching event ID in Meta.
- A closed month of LeadScore prospects reconciled against each platform, rechecked 30 days later.
CallSource · free audit
What we check in the free audit
- Count the number-swap scripts
- Watch the pool at your busiest hour
- Follow one ad click to the call record
- Find where the GA call event lands
- Compare Google's calls with LeadScore prospects
- Check whether appointments ever leave CallSource
Checked against
CallSource call records: LeadScore classification, Appointment Confirmation outcome and source code per call, plus sold jobs in your CRM
Free30 minutesNo obligation
CallSource · when not to buy
When you don't need this on CallSource
Plenty of CallSource customers are getting what they pay for already.
- If most calls come from vanity numbers on radio, billboards, mailers or home shows, there's no ad click to match. CallSource's per-source reports already answer the question.
- If you use CallSource for coaching and DealSaver alerts and don't run Google or Meta ads, there's nothing to send.
- If you run one Google campaign and its call conversions sit close to your monthly LeadScore prospect count, a minimum-duration tweak may be enough.
- If DealSaver alerts show your team missing most appointment chances, fix the phone handling first. Tracking just reports the misses faster.
CallSource · what we deliver
The event map on CallSource
Ad click captured
GCLID, GBRAID, WBRAID and fbclid stored first-party on landing, before the CallSource number swaps in. Never a conversion by itself.
Call received on a DNI number
Logged with the source code and session. Sent to GA4 for reporting, kept secondary in Google Ads.
Prospect call
LeadScore marks the caller as a new prospect. Primary lead conversion in Google Ads, Lead event in Meta.
Appointment set
Appointment Confirmation marks the in-home estimate, inspection or consultation as booked. Sent with its own value.
Job sold
From MarketSharp, LeadPerfection or your sales records, with the contract amount, matched back to the call.
Excluded on purpose
Service and other non-prospect calls, repeat customers, and vanity-number calls from radio or billboards with no ad click.
Written guarantee
95%+ tracking accuracy
Measured against CallSource call records: LeadScore classification, Appointment Confirmation outcome and source code per call, plus sold jobs in your CRM. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
CallSource questions, answered
Its public docs don't list one. They describe a Google Analytics call event and exports through ADF XML, FTP or XML, so we confirm what your plan includes and send prospect calls to Google Ads from a first-party server.
Not both swapping numbers on the same page. Each script replaces your phone number, so they fight. We usually keep CallSource's DNI and feed Google Ads from CallSource's outcomes.
Its FAQ says no: real human analysts listen to the calls. For ad bidding that's useful, because an analyst's prospect verdict is a far better signal than call length.
Check it. CallSource's FAQ talks about Goals, a Universal Analytics feature, and Universal Analytics stopped processing in July 2023. The call event has to reach GA4 as a key event before Google Ads can import it.
Not through anything CallSource documents. We send appointment-set calls through Meta's Conversions API so Meta learns from booked homeowners, not just form fills.
They stay in CallSource's reports and out of the ad platforms. Those callers never clicked an ad, so sending them would hand Google and Meta credit they didn't earn.
More on CallSource
- Enhanced ConversionsEnhanced Conversions enrich the conversions that already fire. First we make sur…
- Meta CAPIA one-click CAPI integration sends thin events. That's why your Event Match Qual…
- Cross-Domain TrackingYour checkout provider is the best performing traffic source in your GA4 account…
RELATED GUIDES
Booking tools beside CallSource, and what their bookings feed
- LiineLiine shows which ads book patients. Your ad accounts still bid on calls.
- Patient PrismPatient Prism says who booked. Your Google Ads still pays for every caller.
- RingbaRingba knows which calls your buyers paid for. Google Ads is still counting the ones they rejected.
- CallTrackingMetricsCallTrackingMetrics says every call is a lead. Your crew knows better.
- WhatConvertsGoogle Ads is counting every WhatConverts call, hang-ups and all. It should only learn from the leads you'd quote.
- CallRailCallRail conversion tracking that counts booked jobs, not every ring
Free · 30 min
Get your CallSource prospects into Google and Meta
Free30 minutesNo obligation
