Your ads ring your Spruce Health line. Which ones bring new patients?
Your ads send people to the Spruce number, and that's where Google Ads loses the thread. It may count a ringing call, but it can't tell a new patient from a refill question or a 9 p.m. voicemail, and texts never show up at all. We tie Spruce's own call records back to your campaigns, so bidding learns from new-patient inquiries and nothing about anyone's care leaves Spruce.
Free30 minutesNo obligation
Spruce Health · what breaks
What goes wrong when Spruce Health takes your ad calls
- 01
"Google says the ads drove plenty of calls. Most were existing patients."
One Spruce number takes new inquiries, med refills and reschedules. If every forwarded call counts, Smart Bidding chases the searches your current patients use, and you pay to reach people you already treat.
- 02
"New clients text us before they ever call"
Some therapy and psychiatry clients send a text before they ever call. A text to your Spruce line isn't a call, so Google's call tracking never sees it and the campaign that earned it looks weaker than it is.
- 03
"Voicemails and after-hours calls count as wins"
An ad call that rolls to voicemail or after-hours triage can still pass Google's minimum call length and count. If nobody calls back, you paid for a lost lead and the report hides it.
- 04
"We turned tracking off because of HIPAA"
Practices pick Spruce for its BAA, then strip every pixel to be safe. Now nobody can say whether the ADHD evaluation campaign or the TRT campaign pays for itself.
Spruce Health · the fix
What changes — Spruce Health
Bidding on real new-patient calls
Google Ads optimizes toward ad calls that reached your new-patient phone-tree option and lasted long enough to be a real conversation.
Calls and texts reported side by side
Website and call-asset calls come through Google forwarding numbers per campaign, and an ad source with its own Spruce line gets its first texts counted too, by line and location.
A data path you can defend
Ad platforms get a click match, a timestamp and a generic event name. Message bodies, voicemail transcripts and patient names stay inside Spruce, where your BAA covers them.
Spruce Health · architecture
What Spruce Health actually lets you hook into
Spruce publishes an API, webhooks and a CSV export. Spruce lists integrations and API access on its Communicator plan, and API credentials are requested through Spruce Support.
- 1
Webhooks for contacts, conversations and items
Events such as conversationItem.created go to an HTTPS endpoint, signed with an X-Spruce-Signature header and retried every 2 minutes, up to 10 times.
- 2
Calls arrive as conversation items
An inboundCall item carries answered, duration, spam, the line that took it, any voicemail, and the call-flow menu option the caller chose. The caller's number sits on the parent conversation.
- 3
Phone lines and tags
The API lists your phone lines by ID and name, and conversation webhook payloads include the conversation's tags, so a staff-applied "new patient" tag can reach reporting.
- 4
Scheduled CSV export
Daily or weekly CSVs to your SFTP server, including inbound_calls.csv with answered, voicemail and phone-tree node. Granted case by case.
- 5
No ad-platform connection
Spruce's docs show no Google Ads, GA4, GTM or Meta integration, so ad-platform data goes through a layer you own.
Spruce Health · diagnose
Where Spruce Health tracking breaks, in diagnostic order
We start with the phone number itself, because most attribution loss on Spruce happens before the call even rings.
- 01
Which number did the caller dial?
A bare Spruce number on your site means website calls never touch Google's forwarding numbers.
- 02
How is the website number swapped?
Google advises against using GTM for its call tag on sites with dynamic number insertion or third-party call tracking, so we check how the swap is installed.
- 03
What counts as a conversion today?
Check the minimum call length on each call conversion action. Very short thresholds count wrong numbers and hang-ups.
- 04
Does your phone tree separate new patients?
If every caller lands in one queue, there's no menu choice to qualify on. Spruce lists custom IVR call flows on its Communicator plan, so we add a new-patient option there first.
- 05
Are texts and voicemails being returned?
Pull a week of unanswered ad calls and first texts and count the replies. Tracking can't rescue leads nobody calls back.
Spruce Health · prove
The QA evidence — Spruce Health
Run with real test calls and texts to your live Spruce lines during and after office hours, not from inside the Spruce app.
Source of truth
Spruce Health call and message records: inbound calls with answered status, duration, line, voicemail and phone-tree choice, plus first inbound texts by line
- A test call from an ad-tagged visit, confirmed in Google Ads and as an inboundCall item in Spruce on the expected line.
- A call that picks the new-patient menu option counted once; one that picks refills not counted.
- An after-hours call to voicemail logged as missed, not as a qualified conversion.
- A text to the ad line credited to the right campaign in reporting.
- Webhook payloads checked to confirm message text is dropped before storage.
- Qualified ad calls reconciled with Spruce's call log over a closed week.
- The full check repeated 30 days later and after any change to your Spruce call flow.
Spruce Health · free audit
What we check in the free audit
- Which number did the caller dial?
- How is the website number swapped?
- What counts as a conversion today?
- Does your phone tree separate new patients?
- Are texts and voicemails being returned?
Checked against
Spruce Health call and message records: inbound calls with answered status, duration, line, voicemail and phone-tree choice, plus first inbound texts by line
Free30 minutesNo obligation
Spruce Health · when not to buy
When you don't need this on Spruce Health
Some practices on Spruce get more from a phone-tree tweak than from a tracking build.
- If you don't run paid ads and patients reach you by referral, Spruce's own activity dashboard tells you what you need.
- If your calendar is full and you're closed to new patients, attribution won't change any decision.
- If your plan has no API access and no data export, Google's call reporting plus a monthly manual check may be enough.
- If missed calls are the real problem, fix callback coverage first. We'll tell you that instead of selling a build.
Spruce Health · what we deliver
The event map on Spruce Health
Ad visit recorded first-party
Click ID saved on your own site, with Google's forwarding number shown in place of the Spruce number.
Ad call placed
A call from a call asset or your website through a Google forwarding number, logged as a secondary signal.
New-patient call qualified
Answered, past a minimum length, and routed through the phone-tree option you use for new patients. This is the primary conversion.
First text from a new number
From Spruce's message events, credited to the line it came in on, for reporting rather than bidding.
First visit scheduled
From your EHR or a staff tag in Spruce, so campaigns get credit for booked patients.
Excluded on purpose
Existing-patient and refill calls, pharmacy and fax traffic, outbound calls, calls Spruce flags as spam, and unanswered calls nobody returned.
FAQ
Spruce Health questions, answered
Not directly. Spruce documents an API, webhooks and a CSV export but no Google Ads or GA4 connection.
It can be, done carefully. Ad platforms get only a click match, a time and a generic event name, never message text or what the patient called about, and your compliance lead approves the fields first.
Not by itself. Spruce records which phone-tree option each caller chose, and we use that, plus answered status and duration, to decide which ad calls count.
Yes, for reporting. Spruce emits an event for each new message, so a first text on an ad-specific line can be credited to that campaign without storing what it says.
Generally no. Google lists health as a sensitive interest category, and advertisers promoting in it can't use remarketing or Customer Match lists, so the fix is better conversion data.
Spruce lists integrations, API access and custom IVR call flows on its Communicator plan, and this setup leans on all three. On Basic, we work from Google's call reporting and a monthly comparison with your Spruce call history.
More on Spruce Health
- Mental healthConversion tracking for therapy practices, measured in attended intakes
- Health scoreScore your tracking health
- Kyruus HealthMeasuring Kyruus Connect scheduling for health system marketing
RELATED GUIDES
Booking tools beside Spruce Health, and what their bookings feed
- NextivaNextiva rings every call through. Google Ads still can't tell which ones paid for themselves.
- QuoYour Quo line rings with jobs. Google and Meta can't tell which ads sent them.
- Mango VoiceMango Voice shows every call. It can't tell you which ad made the phone ring.
- GrasshopperYour Grasshopper number rings your cell all day. Your ads can't tell which calls turned into jobs.
- Five9Your Five9 agents know which leads booked. Google and Meta only know someone filled out a form.
- Google VoiceYour ads ring your Google Voice number. Voice can't tell you which ad did it.
- GoHighLevel LC PhoneYour GoHighLevel phone rings, but Google Ads can't tell which ad made it ring
- ConvosoYour Convoso floor closes the deal. Your ad accounts never hear about it.
Free · 30 min
Find out which ads ring your Spruce line with new patients
Free30 minutesNo obligation
