{
  "id": "H07",
  "url": "https://cartforagents.com/guides/track-chatgpt-traffic-ga4",
  "title": "Track ChatGPT traffic in GA4: set up an AI assistant channel",
  "description": "Set up GA4's AI Assistant channel or a stricter custom channel group for ChatGPT, Gemini, Copilot and other assistants, with a tested regex and a reading checklist.",
  "answer": "GA4's default channel group already has an \"AI Assistant\" channel for visits whose referrer matches Google's list of assistants, such as ChatGPT, Gemini, DeepSeek, Copilot and Grok. If you want to control the list, add a custom channel group with exact assistant hostnames, placed above Referral, and test the regex before you save it: Google's own example also catches sources such as jasper.ai. Whichever you use, it counts visits that arrived with a referrer or tag; it cannot show the shopper's prompt, visits that arrived with neither, or orders an assistant influenced earlier.",
  "take": "Set up the AI Assistant channel today: it's free, takes minutes, and every week you wait is baseline data you don't get back.",
  "summary": "GA4 now sorts some assistant traffic into its own channel, and you can build a stricter one yourself. Here is the setup, a tested regex, and a checklist for reading the numbers.",
  "claims": [
    {
      "text": "GA4's default channel group includes an AI Assistant channel, described as users arriving from sources like ChatGPT, Gemini, Deepseek, Copilot or Grok. It excludes Google's AI Overviews and AI Mode.",
      "source_title": "Google Analytics Help: [GA4] Default channel group, channel definitions",
      "source_url": "https://support.google.com/analytics/answer/9756891?hl=en",
      "source_date": "2026-10-27",
      "method": "documented",
      "limitation": "Living help page; the date is our check date. The page does not say when the channel was added."
    },
    {
      "text": "Google's rule for the AI Assistant channel is that the medium exactly matches \"ai-assistant\". Analytics sets the medium to \"ai-assistant\" and the campaign to \"(ai-assistant)\" if the referrer matches a list of AI Assistants.",
      "source_title": "Google Analytics Help: [GA4] Default channel group, channel rules",
      "source_url": "https://support.google.com/analytics/answer/9756891?hl=en",
      "source_date": "2026-10-27",
      "method": "documented",
      "limitation": "The list of assistants is not on that page, and the source-category file linked from it (dated February 2023) contains no assistant entries. How a visit with both an assistant referrer and its own UTM tags is classified is not documented on the pages we read."
    },
    {
      "text": "Google's custom channel group help page gives an example AI assistants channel using \"matches regex\", says to place it above Referral, and says custom channel groups can be applied to reports retroactively. Creating and editing channel groups requires the Editor role or above.",
      "source_title": "Google Analytics Help: [GA4] Custom channel groups (Example: AI assistants; Create and edit channel groups)",
      "source_url": "https://support.google.com/analytics/answer/13051316?hl=en",
      "source_date": "2026-10-27",
      "method": "documented",
      "limitation": "We followed the documentation, not a live property. We have not verified the admin screens."
    },
    {
      "text": "Google Analytics regex is full match and case sensitive by default; partial matching requires metacharacters such as \".*\".",
      "source_title": "Google Analytics Help: [GA4] About regular expressions (Full regex vs partial regex)",
      "source_url": "https://support.google.com/analytics/answer/1034324?hl=en",
      "source_date": "2026-10-27",
      "method": "documented",
      "limitation": "Living help page. Other tools you may copy the pattern into can use partial matching instead."
    },
    {
      "text": "Tested with full matching against 18 example source values, Google's example regex matched all 6 assistant hostnames we listed that it names, missed chat.deepseek.com and grok.com, and also matched jasper.ai, reviews-site.ai, gptzero.me and chatgpt-reviews.example.com. Under partial matching it also matched mail.google.com, gmail and dailymail.co.uk. Our exact-hostname pattern matched only the 8 hostnames it lists.",
      "source_title": "Cart for Agents: regex test (How we checked, this page)",
      "source_url": "https://cartforagents.com/guides/track-chatgpt-traffic-ga4#how-we-checked",
      "source_date": "2026-10-27",
      "method": "observed",
      "limitation": "A Python regex test on source values we wrote, not data from any GA4 property. Whether these hostnames appear as sources in your property is something only your own reports show."
    },
    {
      "text": "OpenAI's Publishers and Developers FAQ says ChatGPT automatically includes utm_source=chatgpt.com in referral URLs, so publishers can track ChatGPT search referrals in tools such as Google Analytics.",
      "source_title": "OpenAI Help Center: Publishers and Developers FAQ",
      "source_url": "https://help.openai.com/en/articles/12627856-publishers-and-developers-faq",
      "source_date": "2026-10-27",
      "method": "documented",
      "limitation": "On our check date one fetch of this URL returned the FAQ and another returned a different help article. The statement covers ChatGPT search referrals; it does not say whether every link in every ChatGPT surface or app carries the tag."
    },
    {
      "text": "Browsers default to the strict-origin-when-cross-origin referrer policy, which sends only the origin, not the path or query string, on cross-origin HTTPS requests.",
      "source_title": "MDN Web Docs: Referrer-Policy, strict-origin-when-cross-origin",
      "source_url": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Referrer-Policy",
      "source_date": "2026-10-27",
      "method": "documented",
      "limitation": "A page or link can set a stricter policy, including no referrer at all. The default says nothing about apps."
    },
    {
      "text": "OpenAI says ChatGPT selects shopping results by relevance to the shopper's query and context, such as Memory or Custom instructions.",
      "source_title": "OpenAI Help Center: Shopping with ChatGPT Search, How product results are selected",
      "source_url": "https://help.openai.com/en/articles/11128490-shopping-with-chatgpt-search",
      "source_date": "2026-10-27",
      "method": "documented",
      "limitation": "Living help article; lists inputs, not weights. It says nothing about analytics."
    }
  ],
  "sources": [
    {
      "title": "Google Analytics Help: [GA4] Default channel group",
      "url": "https://support.google.com/analytics/answer/9756891?hl=en",
      "accessed": "2026-10-27"
    },
    {
      "title": "Google Analytics Help: [GA4] Custom channel groups",
      "url": "https://support.google.com/analytics/answer/13051316?hl=en",
      "accessed": "2026-10-27"
    },
    {
      "title": "Google Analytics Help: [GA4] About regular expressions",
      "url": "https://support.google.com/analytics/answer/1034324?hl=en",
      "accessed": "2026-10-27"
    },
    {
      "title": "OpenAI Help Center: Publishers and Developers FAQ",
      "url": "https://help.openai.com/en/articles/12627856-publishers-and-developers-faq",
      "accessed": "2026-10-27"
    },
    {
      "title": "OpenAI Help Center: Shopping with ChatGPT Search",
      "url": "https://help.openai.com/en/articles/11128490-shopping-with-chatgpt-search",
      "accessed": "2026-10-27"
    },
    {
      "title": "MDN Web Docs: Referrer-Policy",
      "url": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Referrer-Policy",
      "accessed": "2026-10-27"
    }
  ],
  "limitations": [
    "Checked on 2026-10-27 against Google, OpenAI and MDN documentation. GA4 channel rules and assistant link behaviour change; re-check both help pages before you change a property.",
    "We did not configure or inspect a live GA4 property for this article. Steps follow the documentation, and the admin screens are unverified by us.",
    "The regex test uses source values we wrote. It shows how each pattern matches text, not what any property records.",
    "Google does not publish the list behind its AI Assistant channel, so we cannot say which assistants it covers beyond the five it names.",
    "Referral counts are visits that kept a referrer or tag. They are not assistant visibility, recommendations or a share of AI-influenced sales.",
    "Nothing on this page reveals what any shopper asked an assistant, and no analytics setup can."
  ],
  "related": [
    "https://cartforagents.com/guides/ai-product-visibility",
    "https://cartforagents.com/research/ai-visibility-score-methodology",
    "https://cartforagents.com/guides/ai-product-visibility-dashboard",
    "https://cartforagents.com/guides/chatgpt-visibility-tracking",
    "https://cartforagents.com/guides/ai-visibility-checker-accuracy"
  ],
  "published": "2026-10-27",
  "updated": "2026-10-27",
  "checked": "2026-10-27",
  "kind": "guide"
}