How to measure AI search traffic and referrals for a medical practice
Most practice owners have no idea whether AI assistants are sending them patients, because the default analytics setup hides it. Three measurements fix that: referral tracking in GA4, crawler activity in server logs and a monthly prompt test.
How can a practice measure traffic from ChatGPT and other AI assistants?
Create a custom channel group in GA4 that captures referrals from chatgpt.com, perplexity.ai, gemini.google.com, copilot.microsoft.com and claude.ai, plus utm_source=chatgpt.com. Add server-log tracking of AI crawlers such as ChatGPT-User and PerplexityBot, and run the same patient-style prompts across assistants every month.
AI visibility is easy to talk about and hard to prove. A practice that invests in GEO deserves numbers, not screenshots of a single lucky answer. Here is the measurement setup we use, which any practice can reproduce.
Why doesn't standard analytics show AI traffic?
Three reasons. First, many AI answers produce no click at all: the patient reads the recommendation and calls or searches the practice name. Second, some assistant clicks arrive without a referrer, particularly from mobile apps, so they are counted as direct traffic. Third, GA4's default channel grouping has no AI category, so the visits that do carry a referrer are buried under "Referral" next to every other website. Measurement therefore needs several angles.
Layer 1: Track assistant referrals in GA4
In GA4, go to Admin, Data display, Channel groups, and create a new custom channel group. Add a channel named "AI assistants" above the Referral channel, with a condition on Session source matching a regular expression such as:
chatgpt\.com|chat\.openai\.com|perplexity\.ai|gemini\.google\.com|copilot\.microsoft\.com|claude\.ai|you\.com|meta\.ai|deepseek\.comChatGPT appends utm_source=chatgpt.com to many of the links it shows, so those sessions already carry a clean source. Apply the channel group to your acquisition reports, then build a simple exploration showing AI assistant sessions by landing page and by conversion event (calls, form submissions, bookings). Landing pages tell you which content assistants are citing; conversions tell you whether it matters.
Google AI Overviews and AI Mode clicks are reported as regular Google organic traffic. Search Console includes them in Web search totals without a separate filter, so they cannot be isolated this way.
Layer 2: Log AI crawler activity on the server
AI companies run several kinds of agents, and they mean different things:
| Agent type | Examples | What a visit means |
|---|---|---|
| Training crawlers | GPTBot, ClaudeBot, Google-Extended (a token, not a separate crawler), CCBot | Content may be used to train future models. Slow, indirect effect. |
| Search indexers | OAI-SearchBot, PerplexityBot, Claude-SearchBot, Bingbot, Googlebot | Your pages are being indexed for AI search answers. |
| User-triggered fetchers | ChatGPT-User, Perplexity-User, Claude-User | A real person asked an assistant something and it opened your page live to answer. |
User-triggered fetches are the most valuable signal a practice can get: each one represents a live patient question in which your page was consulted. You can count them from your hosting access logs, a CDN log export or a few lines of code at the edge. We log every AI agent request by page and status code, which also catches accidental blocks, such as a firewall returning 403 to ChatGPT-User.
Layer 3: Run a monthly prompt test
Referrals and logs show activity. They do not show what assistants say. For that, build a fixed prompt set and run it monthly:
- Your practice name, and "is [practice] a good [specialty] practice"
- "Best [specialty] in [city]" and "[specialty] near [neighborhood]"
- Your top five procedures or conditions plus the city
- Questions that include a patient preference: insurance, language, same-week appointments, telehealth
Run each prompt in ChatGPT, Perplexity, Gemini, Copilot and Google AI Mode, logged out where possible, and record three things: whether you are named, how you are described, and which sources are cited. Answers vary between runs, so look at the share of prompts in which you appear over several months, not at any single answer. The cited sources are your roadmap: if every answer cites a directory where your profile is incomplete, fix that profile first.
Layer 4: Ask new patients
The simplest measurement is often skipped. Add "ChatGPT or another AI assistant" as an option to the "How did you hear about us?" question on intake forms and in phone scripts. Many patients who found you through an assistant arrive by searching your name or calling directly, and this question is the only place that path becomes visible.
What does a monthly AI visibility report contain?
| Metric | Source | Why it matters |
|---|---|---|
| AI assistant sessions and conversions | GA4 custom channel | Direct traffic and leads from assistants |
| User-triggered AI fetches by page | Server logs | Live patient questions where your content was consulted |
| AI search indexer coverage | Server logs | Whether new and updated pages are being picked up |
| Blocked AI requests | Server logs | Technical problems that silently remove you from answers |
| Prompt test share of voice | Manual or tool-assisted testing | How often you are named compared with competitors |
| Self-reported AI source | Intake forms and calls | Patients who never clicked a link |
Are there HIPAA considerations?
Yes, and they deserve care. The HHS Office for Civil Rights has issued guidance on the use of online tracking technologies by HIPAA-regulated entities, parts of which were challenged in court in 2024. Aggregate traffic analytics on public marketing pages are generally treated differently from tracking on patient portals, booking flows or pages where health information is entered. Do not send identifiable health information to analytics or advertising platforms, and review your tracking setup with your compliance advisor. Server-log counting of crawler visits involves no patient data at all, which is one reason we rely on it.
How long before numbers appear?
In our experience, AI indexers usually begin fetching restructured pages within days, user-triggered fetches appear within weeks, and referral sessions build over the following months. Volumes are smaller than organic search for most practices, but the visitors tend to arrive further along in their decision. Judge the channel on conversions per session and on the prompt test trend, not on raw traffic.
Our AI visibility audit sets up this measurement stack and gives you a baseline before any optimization starts, so every later change can be compared against it.
How do you set up server-log tracking without a developer?
It depends on your hosting. Many managed WordPress hosts and CDNs, including Cloudflare, provide access logs or bot analytics that can be filtered by user agent. Export a month of logs and count requests whose user agent contains the agent names listed above, grouped by agent and by page. If your site runs behind an edge platform, a few lines of code can record each AI agent request to a small database in real time, which is what we do on our own site. Whichever method you use, check the status codes: a stream of 403 or 503 responses to ChatGPT-User or PerplexityBot means something is blocking assistants that are trying to read your pages.
How should you interpret the numbers?
| What you see | Likely meaning | Next step |
|---|---|---|
| Training crawlers only, no search or user agents | Your site is known but rarely consulted for live answers | Improve page specificity and third-party presence for priority questions |
| Search indexers active, few user-triggered fetches | You are indexed but not often chosen as a source | Compare your pages with the sources assistants cite for your prompts |
| User-triggered fetches on a few pages | Those pages answer questions patients are asking assistants | Strengthen those pages and link them to booking paths |
| AI referral sessions with conversions | Assistants are sending patients who act | Protect what works and extend it to adjacent services |
| Blocked requests (403, 503) | Firewall or bot protection is refusing AI agents | Adjust rules to allow verified AI search and user agents |
How do you connect AI visits to booked patients?
Treat AI assistants as their own channel all the way through your funnel. Make sure call tracking and form submissions record the session source, so a call from a visitor who arrived from chatgpt.com is attributed correctly. If your booking system supports source fields, pass the channel through. Where full attribution is not possible, use the intake question about how the patient heard of you. Combining these gives a realistic picture: a small number of highly qualified visits, plus a larger group of patients who were influenced by an assistant but arrived another way.
What should you report to the practice owner?
Keep it to one page. The owner needs to know three things: are assistants able to read the site (crawler access and fetch trends), are they recommending the practice (prompt test share of voice compared with last month and with competitors), and are those recommendations producing patients (AI referral conversions and self-reported AI source). Everything else is detail for the team doing the work.
Common measurement mistakes
- Judging by a single answer. Assistants vary between runs. One screenshot proves little in either direction.
- Counting all bot traffic as AI interest. Training crawls are not patient questions. Separate the agent types.
- Ignoring direct traffic. Some app-based assistant clicks arrive without a referrer. Watch direct sessions to pages that assistants typically cite.
- Tracking on sensitive pages. Keep analytics and advertising tags off patient portals and forms that collect health information.
Frequently asked questions
Does Google Analytics show traffic from ChatGPT?
Yes, when the visit carries a referrer or a UTM tag, it appears as chatgpt.com in the session source. By default it is grouped under Referral, so create a custom channel group to report AI assistants separately.
Can I see AI Overviews traffic in Search Console?
Clicks and impressions from AI Overviews and AI Mode are included in Search Console's Web search totals but are not reported separately. You can track them only indirectly.
What is ChatGPT-User in my server logs?
ChatGPT-User is the agent OpenAI uses when ChatGPT fetches a page in response to a user's request. A visit from it usually means someone asked ChatGPT a question and it opened your page to answer.
Are there tools that track AI visibility automatically?
Several commercial tools now run prompts across assistants and report share of voice. They are useful for scale, but results vary between runs, so combine them with your own logs and referral data.
How many prompts should a practice test each month?
Twenty to forty well-chosen prompts are enough for most practices: brand prompts, specialty-plus-city prompts, top procedures and patient-preference prompts. Keep the set fixed so month-over-month comparisons are fair.
Want to know how AI assistants see your practice today?
Send us your website. We will check how ChatGPT, Perplexity, Gemini and Google describe your practice and tell you, in plain English, what is holding you back. Pricing depends on scope, so we quote after the first call.
Keep reading
Fargon, A. (2026). "How to measure AI search traffic and referrals for a medical practice". Only One Medical. https://onlyonemedical.co.il/en/insights/measuring-ai-referrals-medical-practice