Skip to main content

How to see AI traffic to your law firm site in GA4

Visits from AI tools often land in 'Direct' and get miscounted. Here's a practical way to catch more of them in GA4, and an honest account of what you still can't measure.

FirmForte field-guide hero card: AI traffic is already in your GA4.

The short answer

Most AI-driven traffic lands in GA4 as Direct, because many assistants strip or never send a referrer. You can recover the visible portion with a custom channel group matching the AI referrers that do come through, but a real share stays invisible. Measure signed intent — calls and form fills — rather than trying to make the channel report complete.

You've heard that people ask ChatGPT and Perplexity for a lawyer now, and you want to know if any of that turns into visits to your site. So you open GA4, look for a line that says "AI" or "ChatGPT," and it isn't there. Most of what those tools send you is sitting in a bucket called "Direct," mixed in with people who typed your URL by hand. That's frustrating, and it's also the honest state of things. This is a practical guide for a solo or small firm: why AI traffic hides, how to catch the part you can actually see, how to measure something that matters instead of a vanity number, and where analytics simply can't follow.

Why AI traffic hides in "Direct"

GA4 sorts every visit into a channel based mostly on the referrer, the piece of information a browser passes along that says "this person came from here." When the referrer is missing or unreadable, GA4 shrugs and files the visit under "Direct." A few things about AI tools make that referrer go missing.

  • Referrers get stripped. Some tools send people out through a link that deliberately drops the referrer, or through a redirect that erases the trail by the time the visit reaches you. GA4 sees a visitor with no origin and calls it Direct.
  • In-app browsers. When someone taps a link inside a mobile app, the page often opens in a stripped-down browser built into that app rather than Safari or Chrome. Those in-app browsers frequently don't pass a clean referrer, and they can fragment your session and device data too.
  • Copy and paste. A fair number of people read an answer, see your firm's name, and then go to their address bar and type your site or search it by name. There's no referrer at all in that path. The AI tool influenced the visit, but nothing in the request records it.

So "Direct" is a grab bag: real direct visits, bookmarks, some email and app clicks, and an unknown slice of AI-influenced visits you can't cleanly separate. Keep that in mind before you read too much into any single number.

Catch the referrals you can see with a custom channel group

Not all AI traffic hides. Some tools do pass a readable referrer, and when they do, the visit arrives stamped with a domain like chatgpt.com, perplexity.ai, copilot.microsoft.com, or gemini.google.com. Out of the box GA4 lumps most of these into "Referral" or "Organic Search" and doesn't group them together, so you never see them as one line. You can fix that by building a custom channel group that pulls the AI referrers into a channel of their own.

Here's the shape of it in GA4. In Admin, under Data display, open Channel groups and create a new custom group based on the default one. Add a new channel near the top of the order (channel order matters, GA4 assigns a visit to the first channel it matches) and give it a name like "AI referral." Set the condition to match the source against the referrer domains you care about. The exact domains change over time, so treat this as a starting list to maintain, not a finished one.

  • chatgpt.com and openai.com
  • perplexity.ai
  • claude.ai
  • copilot.microsoft.com and bing.com's chat surface
  • gemini.google.com

A few honest caveats. This only catches visits where the referrer survived, which is a subset of the real total, so the channel will undercount. AI Overviews inside Google search are a separate case: those visits usually look like ordinary Google organic clicks, not a distinct AI source, so they mostly won't land in this channel. And a custom channel group changes how new data is grouped going forward more reliably than it rewrites your whole history, so don't expect a clean back-fill. Even with those limits, having one line you can watch over months beats guessing. It tells you whether the visible slice is trending up as you do the work, and it's a far more useful signal than staring at total "Direct."

If you also want to know whether AI tools are naming your firm at all, that's a different measurement than site traffic, and we walk through it in how to track AI citations for your firm.

Measure signed intent, not vanity metrics

Sessions and pageviews feel like progress, but they don't pay associates. For a law firm the number that matters is contact: someone filled out your form, asked for a consult, or picked up the phone. GA4 can measure the form part cleanly if you set up a conversion event, and that turns "we got some traffic" into "traffic from this source actually reached out."

The setup, in plain terms:

  • Fire an event on a real submission. The most reliable trigger is your form's thank-you or confirmation page. If a successful contact-form submit sends the person to a URL like /thank-you/ (hypothetical, use whatever yours is), you can have GA4 register an event whenever that page loads. That way you count completed submissions, not people who started typing and gave up.
  • Mark the event as a key event. In GA4, flag that event as a key event (GA4's term for a conversion). Now it shows up in reports as a countable outcome.
  • Break it down by channel. Once the key event and your AI referral channel both exist, you can see how many contact submissions came through the visible AI channel versus Organic Search, Referral, or Direct. That comparison is the whole point.

Two guardrails. Don't count soft actions like time on page or scroll depth as conversions; they're easy to inflate and they don't mean anyone hired you. And measure a completed submission, not a button click, so a mis-tap or a bot doesn't pad the number. Signed intent is a person asking to talk to a lawyer. Keep the metric that honest and it stays useful.

What GA4 genuinely can't see

This is the part most guides skip, and it's the part that keeps you from fooling yourself. Analytics has real blind spots with AI, and no amount of GA4 configuration closes them.

  • The copy-paste and recall path. When someone reads an answer, remembers your name, and comes back a day later by searching it, GA4 can't tie that visit to the AI tool that planted the name. It'll look like Direct or branded Organic Search. The influence was real and the attribution is gone.
  • Zero-click answers. Sometimes the AI answers the question fully and the person never clicks through at all. Your firm may have been mentioned, the reader may have gotten what they needed, and there's no visit to record because there was no visit. Traffic analytics can't measure something that didn't generate a session.
  • Stripped and in-app referrers. As above, a chunk of genuine AI clicks arrive with no readable origin and stay stuck in Direct. Your custom channel catches the visible ones and misses these, permanently.
  • Whether you were cited. GA4 measures visits to your site. It says nothing about whether an engine actually named your firm in an answer, or how it described you. That's a separate question with separate tools.

None of this means measurement is pointless. It means you read GA4 as one honest, partial view: the visible AI channel is a floor, not a total. Watch its trend, watch whether those visits convert, and treat the gap between "influenced" and "measured" as a known unknown rather than pretending it's zero. On our end, this is why we treat answer-engine optimization as hygiene and eligibility, the work of making your pages clean, readable, and structured so engines can quote them correctly, rather than a trick that promises a citation. There's more on that philosophy on our AEO service page.

A sane order to do this in

If you're starting from nothing, do it in this sequence so each step earns the next:

  • Confirm engines can even read your site. There's no point measuring AI traffic to pages the tools can't parse. Our guide on whether ChatGPT can read your website covers the checks.
  • Build the AI referral channel group so future data is grouped, and let it collect for a few weeks before you judge anything.
  • Set the contact-form key event so you're measuring outreach, not sessions.
  • Review monthly, not daily. AI referral volume is small and noisy day to day. A month gives you enough signal to see a direction without chasing static.

That's the whole honest playbook: catch the visible AI referrals, tie them to real contact events, and stay clear-eyed about the traffic you'll never be able to attribute. It won't give you a tidy "AI sent us this many clients" figure, because that figure doesn't exist in the data yet. It will tell you whether the visible slice is moving in the right direction while you do the underlying work.

If you'd rather see where your firm stands before you touch a single GA4 setting, send us your URL for a free audit. In 48 hours we'll send back a plain-English read on how you show up across AI search and where the gaps are.

Questions we get about this

  • Why does AI traffic show up as Direct in GA4?

    Because a referrer often isn't sent. Some assistants open links without passing referrer information, some strip it, and some traffic arrives after a person reads an answer and types your firm name in later — which is genuinely direct by any definition. GA4 puts anything without a referrer into Direct, so AI-influenced visits pile up there alongside bookmarks and typed URLs. That's a limitation of how the web reports referrals, not a GA4 setting you've missed.

  • How do I track AI referrals in GA4?

    Create a custom channel group that matches the AI referrers that do arrive with a referrer — the major assistant and search-assistant domains — so they're separated out instead of merged into Referral or Direct. That gives you the visible slice, which is worth having as a trend line even though it's incomplete. Set it up before you need the history, since channel groups aren't retroactive in the way you'd hope. Treat the resulting number as a floor rather than a total.

  • What can't GA4 see about AI traffic?

    Every visit where the referrer was stripped, every case where someone read an answer naming your firm and never clicked at all, and every instance where the AI answer influenced a decision that surfaced later as a direct visit or a phone call. That last category is the one that matters most commercially and is the hardest to see. No analytics configuration recovers it. Anyone selling you complete AI attribution is selling a number they inferred.

  • What should a law firm measure instead?

    Signed intent — calls, form submissions, and which of those became clients — because those are real regardless of which channel gets credit. Ask every caller how they found you and record the answer, since a human report captures what the referrer header lost. Track the visible AI referrals as a directional trend alongside it, not as the primary measure. The goal is knowing whether the work is producing matters, not producing a complete channel attribution that isn't available.

Share