Google Ads conversion tracking for mental health and therapy practices
Mental health is the category where the data constraint matters most and gets ignored most often. What Google Ads adds on top of that is a mechanical requirement: gclid, gbraid and wbraid have to reach the record that holds the money, because Google Ads can only credit a conversion it can tie back to a click it recognizes. This page covers both halves — what a conversion is in mental health and therapy practices, and what Google Ads specifically needs to accept it.
Free30 minutesNo obligation
Specific to Google Ads × Mental health
Google Ads for therapy practices: attended intakes, no condition paths
Upload an attended-intake conversion action through Google's offline conversion import, matched on the gclid, gbraid or wbraid stored against the client record and valued at session rate times average sessions. Send it from the practice management system, set counting to one, and keep the condition out of the landing URL and the conversion action name.
Search is where therapy demand is most explicit: people type the problem and the city. That is also why the search terms report fills with condition words, which is acceptable inside Google but should stop there. Route every ad group to neutral landing paths such as /book or /start, and name conversion actions after the stage rather than the specialty, so an "anxiety intake" label never appears in an upload file or in a GA4 property linked to the account.
Google restricts personalized advertising on health, so remarketing lists and Customer Match audiences built from people who contacted the practice are effectively off the table. Enhanced Conversions for leads is a different question, since it hashes an email to match a click rather than to target anyone, but confirm with whoever handles your compliance that sending a hashed client email is acceptable before switching it on. The click-identifier path alone works well here, because intakes usually happen within a few weeks of the click, comfortably inside the 90-day import window.
Where it breaks: many practices take booking requests through the practice management system's hosted client portal on another domain, which never sees the gclid. Pass the identifier into the portal link, or capture it on a first-party intake request form before handing off. Make attended intake the primary action and booked intake secondary, because no-show rates on generic "therapist near me" searches and on brand searches can differ enough to reorder campaigns.
Google Ads · Mental health · what breaks
Why Google Ads under-reports for mental health and therapy practices
- 01
Condition-named pages and campaigns
Anxiety, depression, trauma — each one broadcast to every connected platform by the URL alone.
- 02
First session used as client value
The revenue is a course of sessions over months.
- 03
High intake no-show rates
Higher here than in most healthcare, and variable by campaign.
- 04
Gclid, gbraid and wbraid never reaches the record
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
Google Ads · Mental health · the fix
What working looks like — Google Ads · Mental health
Attended intakes as the conversion
From the practice system, valued at expected course length.
Nothing clinical in any payload or URL
A value and a service category. Never a condition.
No-shows and cancellations reversed
Because they materially change what a campaign produced.
Google Ads · Mental health · architecture
How Google Ads and mental health and therapy practices actually connect
- 1
The conversion in mental health and therapy practices
The money event is an attended intake that begins a course of care. Everything is defined so that measuring it never requires recording why the client came.
- 2
Google Ads needs a click to match
A click identifier inside the 90-day window, a conversion action name that matches one configured in the account, a conversion timestamp for when the outcome happened, and a value. Read the match rate after uploading — a file can upload perfectly and match nothing.
- 3
The identifier: gclid, gbraid and wbraid
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
- 4
Where it gets sent from
The practice management system — intakes attended by date, for the same window, with clinical fields excluded from the export.
- 5
Deduplication and window
There's no shared event ID mechanism like Meta's. What matters instead is the counting setting on each conversion action — 'one' for lead-type conversions so a repeat submitter doesn't count three times, 'every' for ecommerce where a second purchase is a second sale. This is the single most common misconfiguration we find in Google Ads accounts. Google's offline import window is 90 days from the click. Anything older can't be matched, and rows outside it fail as unmatched without much explanation. Measure your median click-to-outcome time against that before designing anything.
Google Ads · Mental health · events
The conversion map for mental health and therapy practices
Four steps, defined deliberately narrowly in the most sensitive category on this site.
| Event | What it means here |
|---|---|
| Inquiry | Volume signal. Nothing about the reason. |
| Intake booked | A leading indicator. |
| Intake attended | The money event, valued at expected course length. |
| Course continued past session three | Where the value assumption is validated. |
| Service category | Individual, couples, group. Not a condition. |
Google Ads · Mental health · diagnose
Diagnostic order — Google Ads · Mental health
- 01
Count records carrying gclid, gbraid and wbraid
- 02
Condition in the URL or campaign name
The defining exposure in this category and completely avoidable.
- 03
Generic form tracking capturing all fields
Which sweeps deeply personal free text into analytics events.
- 04
Insurance versus self-pay values
What the practice collects differs by payer. Pin down which you report.
- 05
Read the match rate on the upload, not the success message
A conversion action that stops receiving hits is flagged as inactive 30 days later — by which point a month of budget has already run against a missing signal. Check the last-received date on every action monthly; it takes two minutes and it's the cheapest monitoring available.
Google Ads · Mental health · prove
How it gets proven — Google Ads · Mental health
Source of truth
The practice management system — intakes attended by date, for the same window, with clinical fields excluded from the export
- A live audit of every parameter, event, URL and field currently leaving the site.
- Attended intakes reconciled per client against what each platform reports.
- A written statement of what is sent and what is never sent, suitable for compliance review.
- Course-length value shown as the calculation from your own history.
- The match rate on the upload, not the success message read directly, not inferred from an upload succeeding.
Google Ads · Mental health · free audit
What we check in the free audit
- Count records carrying gclid, gbraid and wbraid
- Condition in the URL or campaign name
- Generic form tracking capturing all fields
- Insurance versus self-pay values
- Read the match rate on the upload, not the success message
Checked against
The practice management system — intakes attended by date, for the same window, with clinical fields excluded from the export
Free30 minutesNo obligation
Google Ads · Mental health · when not to buy
When you don't need this — Google Ads · Mental health
- If Google Ads already reports conversions that reconcile against the practice management system within a few percent, this is working and there is nothing to buy.
- Measure identifier coverage yourself first — pull your last hundred records and count how many carry gclid, gbraid and wbraid.
- If you're running Performance Max exclusively and haven't separated your conversion actions, the import will work and the reporting won't tell you much. Worth sorting the account structure first.
Google Ads · Mental health · what we deliver
What gets built — Google Ads · Mental health
Click identifier captured and stored separately from anything clinical
Server-side, immediately.
Carried into the practice system as an opaque identifier
With no clinical association at any hop.
Attended intake fires the conversion
At expected course value.
No-shows reversed
And reported by campaign, because the rate varies.
Dispatch via Google's offline conversion import
Uploaded against the click identifier, either through the Google Ads API or as a file. The upload is the easy part; what limits it is how many of your records carry an identifier at all. Verify the current column format against Google's own template — it has changed before.
Written guarantee
95%+ tracking accuracy
Measured against The practice management system — intakes attended by date, for the same window, with clinical fields excluded from the export. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Google Ads · Mental health questions, answered
Generally not on lists built from people who visited or contacted the practice, because Google treats health as a sensitive category for personalized advertising. Prospecting on search intent is fine; follow-up targeting based on that visit is the restricted part.
Use one attended-intake action and vary the value by payer type, since what the practice collects differs between them. Separate actions split the small conversion volume a single practice has to bid on.
As careful as anywhere on this site. The fact that a person contacted a therapy practice is sensitive on its own, before any condition is named. Send a click identifier, a timestamp and a value — never a condition, never form free text, and never a URL that names what someone is seeking help for.
The content can address a condition; the URL should not name it, and neither should the campaign. A path containing a condition sends that information to every connected platform automatically, which is a different thing from writing helpful content about it.
Session rate multiplied by your average number of sessions per client, from your own records. Using a single session makes therapy acquisition look unaffordable against a fraction of the real value.
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
Uploaded against the click identifier, either through the Google Ads API or as a file. The upload is the easy part; what limits it is how many of your records carry an identifier at all. Verify the current column format against Google's own template — it has changed before.
By reading the match rate on the upload, not the success message and reconciling against The practice management system — intakes attended by date, for the same window, with clinical fields excluded from the export. An upload that succeeds is not an upload that matched.
More on Google Ads · Mental health
- Mental healthConversion tracking for therapy practices, measured in attended intakes
- Meta · Mental healthMeta Ads conversion tracking for mental health and therapy practices
- TikTok · Mental healthTikTok Ads conversion tracking for mental health and therapy practices
RELATED GUIDES
More for mental health practices: other angles on the same outcome
- Mental healthConversion tracking for therapy practices, measured in attended intakes
- Google Ads · Senior careGoogle Ads conversion tracking for senior care communities
- Google Ads · LASIKGoogle Ads conversion tracking for LASIK and refractive surgery practices
- Google Ads · Phone call → saleHow to track phone call to sale for Google Ads
- Google Ads × Call RecordsHow to reconcile Google Ads against your call tracking records
- Counseling CenterGoogle Ads for counseling center: the build order
- Kyruus HealthMeasuring Kyruus Connect scheduling for health system marketing
- Google Ads · OrthodonticsGoogle Ads conversion tracking for orthodontic practices
Free · 30 min
Get Google Ads reporting what mental health and therapy practices actually earn
Free30 minutesNo obligation
