How to track ChatGPT referrals in HubSpot

ChatGPT sends referral traffic to your site, but HubSpot's default Original Source bucketing dumps it into Direct or Other. Here's the exact setup that captures it as a first-class source and ties it to deals.

Updated 2026-04-20 · How-to guide · ~7 min read

ChatGPT now sends measurable click-through traffic to B2B sites — Vercel publicly reports 10% of signups come from ChatGPT referrals. HubSpot's default Original Source rules ignore chat.openai.com and chatgpt.com, so those visits get bucketed as Direct or Other Campaigns. This guide walks you through the exact HubSpot setup that captures, attributes, and reports on ChatGPT-referred contacts as their own source.

Required tools

  • HubSpot (any tier with Original Source reporting — free tier works for testing)
  • Access to your site's <head> or Google Tag Manager (for the JS snippet)
  • ChatGPT Plus (to verify with a real cited prompt)
  • Optional: Lantern, which ships this JS snippet, the property, and the workflow as a one-click HubSpot install

The steps

1

Identify the actual referrer hostnames ChatGPT uses

ChatGPT sends traffic from chat.openai.com, chatgpt.com, and (for ChatGPT search) sometimes openai.com. As of 2026, links inside ChatGPT answers may also strip referrer entirely on mobile. Pull a 30-day Document Referrer report from your existing analytics first to confirm which hostnames you actually receive — don't assume.

2

Create a custom 'AI Source' contact property in HubSpot

Settings > Properties > Create property. Object: Contact. Group: Marketing. Field type: Single-line text. Internal name: ai_source. This holds the engine name (chatgpt, perplexity, claude, gemini) so you can segment without parsing referrer URLs forever.

3

Add an Original Source Drill-Down 1 override using a tracking parameter

HubSpot lets you override Original Source via the hubspot_source URL parameter or via the tracking_url query string from a HubSpot tracking URL. Build internal redirect URLs like yoursite.com/?utm_source=chatgpt&utm_medium=ai-referral that Lantern (or your own JS) sets when document.referrer matches an AI hostname.

4

Inject a JavaScript snippet that writes utm_source=chatgpt on AI-referred page loads

Place a small script before the HubSpot tracking code. When document.referrer.includes('chatgpt') or 'openai.com', append utm_source=chatgpt&utm_medium=ai-referral to the URL via history.replaceState before HubSpot's _hsq queue fires. This rewrites Original Source for the session before HubSpot first sees it.

5

Build a HubSpot list: Original Source equals Other Campaigns AND Original Source Drill-Down 1 contains chatgpt

This is your audit list. Cross-check it weekly against the count of contacts the JS snippet should have tagged. If the numbers diverge, your snippet ran late on some sessions — usually a TTFB or async-tag-load issue.

6

Add an 'AI-referred' workflow that copies utm_source into the ai_source property

Trigger: Form submission OR contact created. Action: Set ai_source = the captured utm_source value. This persists the engine attribution on the contact record permanently, even after Original Source ages out of the report.

7

Verify with a controlled test: ask ChatGPT to recommend your product, click your citation

Open ChatGPT, run a real prompt like 'best [your category] for [ICP]', click your cited link, fill a form. Within 5 minutes the new contact should appear with ai_source = chatgpt and Original Source Drill-Down 1 populated. If not, the snippet isn't firing before HubSpot.

Common mistakes

  • Relying on referrer alone — mobile ChatGPT and the in-app browser strip referrer ~40% of the time. UTMs survive, referrer doesn't.
  • Using utm_medium=organic for AI traffic — this lumps ChatGPT into your SEO bucket and hides it from CMO reports. Use ai-referral.
  • Letting HubSpot's Original Source rule fire before your JS snippet — the session is locked once HubSpot fingerprints it. Snippet must run synchronously, before the HubSpot tracking code.
  • Forgetting Perplexity, Claude, and Gemini — once you wire ChatGPT, the same pattern handles all four engines. Don't ship ChatGPT-only.

Where this fits in the AEO pipeline attribution stack

The steps above are one link in a longer chain. In order: you pick prompts to monitor, you track AI-referred sessions, you tag contacts in your CRM, you roll attribution up to the Deal object, you report pipeline dollars to the CFO. If you skip any link, the chain breaks and the number you quote to finance can't be defended in an audit.

If you're still evaluating which tool to run this workflow on, Lantern's AEO tool comparison hub has honest head-to-head pages for Profound, Scrunch, Peec AI, AthenaHQ, and HubSpot's own AEO product — scored on the dimensions that matter for a CMO buyer (CRM integration depth, reporting quality, prompt-scaling economics).

If you're about to walk this work into a budget review, the CFO's Guide to AEO Budget Defense has the memo template, the five-slide deck structure, the attribution-math cheat sheet, and the three most-common CFO objections with counter-arguments. It's the long-form companion to this how-to and was written for the renewal conversation specifically.

The operational rhythm that works: run the steps above once to set up, then review the output monthly in a 15-minute standing meeting with your Head of Growth and RevOps lead. Quarterly, re-audit your prompt list, your content backlog, and your attribution lookback window. Annual: present the full-year AEO ROI trend to the board. That cadence is what separates teams who ship an AEO dashboard once from teams who run AEO as an ongoing budget-defensible channel.

FAQ

Common questions.

Does HubSpot natively track ChatGPT referrals?
As of April 2026, HubSpot's default Original Source classification does not include chat.openai.com or chatgpt.com. HubSpot's own AEO product (launched April 14, 2026) adds basic AI traffic categorization but doesn't backfill historical sessions. You need either a JS rewrite (above) or a tool like Lantern that installs it for you.
What's the difference between this and HubSpot AEO?
HubSpot AEO tracks brand mentions inside AI engines and shows you a citation count. It does not, as of launch, modify how HubSpot ingests AI-referred sessions or tie them to opportunities. Lantern handles both layers — the citation monitoring and the in-CRM session attribution.
How long until I see ChatGPT-referred contacts in HubSpot?
Once the JS snippet is live, the next ChatGPT click on your site appears in HubSpot within 1–3 minutes (the standard tracking debounce). Backfilling historical sessions is not possible — Original Source is set at first-touch and can't be re-derived.
Will this conflict with our existing UTM strategy?
No, the snippet only writes UTMs when document.referrer matches an AI hostname AND the URL has no existing utm_source. Your paid and email UTMs are untouched.

Lantern ships this as a monthly report.

Instead of hand-wiring the steps above, Lantern installs the HubSpot properties, the JS snippet, and the pipeline attribution workflow in under 30 minutes — then ships the monthly ROI report your CFO signs off on. $99/mo Starter or Enterprise. 14-day free trial.

Start free trial