Marketing Experiments

How to check ChatGPT traffic to your app website in GA4

A practical GA4 traffic note for app makers, using the current source and channel definitions without treating website sessions as recommendations or installs.

By 4 min read

If your app website already uses Google Analytics 4, open Traffic acquisition and inspect the session source for chatgpt.com. Record the sessions you find and the exact source values. That gives you a website-traffic observation. Counting how often an AI answer recommends your app requires a separate check.

I make AppFound, a NaguBuilds project. It is being built around app discovery through ChatGPT and Gemini, so keeping those questions separate matters: did an answer recommend the app, did someone visit its website, and did they take a useful next step?

This guide assumes the relevant website is already measured in GA4 and you can access its reports. It does not require buying an SEO tool or changing your analytics setup to take a first look.

Read the source at the session level

Google's Traffic acquisition guide describes a report for both new and returning traffic. In the standard navigation, open Reports, then Acquisition, then Traffic acquisition. Report collections can be customized; if the report is missing, ask the property's editor where it is available.

  1. Select the property for the website you want to inspect and set a completed date range.
  2. Change the table dimension to Session source or Session source / medium.
  3. Search the table for chatgpt.com and inspect the returned source values.
  4. Record Sessions and any relevant event metrics whose configuration you understand.

Keep the dimension name in your note. Google's comparison of acquisition reports explains that First user source describes the original acquisition, while Session source is scoped to sessions. The session report applies attribution rules; its count is not a raw count of individual ChatGPT link clicks. Switching dimensions can change the question you are answering even when the date range stays the same.

Check the current channel label too

Google's current default channel definitions include AI Assistant for sources such as ChatGPT. That channel excludes Google's AI Overviews and AI Mode, which Google groups with Organic Search.

Use the source to isolate ChatGPT within a broader channel. An AI Assistant total is not a ChatGPT-only count. Copy the actual source and medium shown by your property instead of expecting every row to end in referral or rewriting it to match an older tutorial.

OpenAI's publisher FAQ says ChatGPT search referral URLs include utm_source=chatgpt.com. This is a documented traffic signal, not a record of the full answer that preceded a visit. The acquisition row alone does not supply the user's question, the other apps named, or the reason for the recommendation.

Give each outcome its own label

For an app website, record these separately:

  • Website sessions assigned to the observed ChatGPT source.
  • A download-button or waitlist action, if the website actually records that action.
  • A completed signup or app download, if there is separate evidence for it.
  • A saved AI answer, if the question is whether the app was recommended.

Google defines key events in the Traffic acquisition report as events marked for that purpose. Read which event you are looking at before calling it a conversion. A button click and a completed signup can be different events, and a website link to the App Store does not by itself prove an installation.

For a hypothetical launch page, you might find ChatGPT sessions but discover that the download button has no measured event. Write "button action unmeasured" and "downloads not established by this report." Filling those fields with zero would turn missing instrumentation into a result.

Copy this app-website traffic note

  • Website and GA4 property:
  • Date range and report time zone:
  • Report, dimension and search or filter used:
  • Exact session source, medium and channel values:
  • Recorded sessions, or the fact that no matching row was found:
  • Relevant event name and what actually triggers it:
  • Outcome evidence available beyond the website:
  • Tracking changes or known test visits in this period:
  • One next question to investigate:

Keep a saved report or export with the note. On the next check, use the same dimensions and a comparable period. If the setup changed, record that change before interpreting a difference in counts.

No matching row means this inspection found no matching recorded sessions. It does not establish that ChatGPT never mentioned the app. If answer visibility is your question, use the separate AI recommendation audit worksheet to save the question, answer and sources.

AppFound's public page currently offers a prelaunch waitlist and labels its report as example data. You can join the waitlist there.

Keep reading

Useful updates only

Get the next useful note.

Build logs, launch lessons, and first access when something new is ready.

Free · low volume · unsubscribe anytime