How to attribute ChatGPT and other LLM traffic

LLM attribution is how you credit a visit from ChatGPT, Claude, Perplexity, or Gemini all the way to a meeting and a closed deal. If those referrals sit in Direct, you will fund the last branded search click and starve the pages the model actually cited.
Most B2B stacks never named this source. The person asked a model for a vendor, clicked a citation, and landed on your site with no UTM and no click ID. GA4 files it as Direct. The ad platform never saw it. The CRM source field is still the form that fired later. Yesterday we wrote about where marketing attribution stops. This piece is the gap that opened after that: how LLM traffic reaches revenue.
What is LLM attribution?
LLM attribution treats a referral from a large language model as its own source, the same way you already treat paid search or a conference meeting. The visit is the start of a path. The meeting and the closed deal are later events on that same path.
It is not a new model that replaces multi-touch. It is a missing event type. If ChatGPT sent the first session and a sales-assisted form closed the deal a month later, last-click will hand the whole thing to the form. The model disappears. You cannot answer a simple question: did the answer engines send us customers, or only anonymous sessions?
That question is now a budget question. Teams are writing comparison pages for humans and for the models that quote those pages. If the only report you have is campaign conversions, you will never see whether those pages produced pipeline. We covered what B2B attribution has to connect: visits, page views, meetings, and closed deals. LLM referrals belong on that list.
Why does ChatGPT traffic land in Direct?
Browser referrals from answer engines are messy. Some visits arrive with a referrer. Many arrive as Direct. There is no gclid. There is no UTM unless you added one to a cited URL, and most citations are your canonical page, not a tagged campaign link.

Platforms were built around ads and search. Google Ads credits a click ID. Analytics credits a referrer or a UTM. HubSpot credits the first form or the campaign a rep typed in. None of those systems were designed to say "this session started because Claude named you in an answer."
The result is a hole that looks like branded search doing more work than it did. Someone asks ChatGPT for a category. The model cites your comparison page. They read it, leave, and come back two weeks later from your brand term. Last-click paid search looks like a hero. The citation never appears. Next quarter you cut the pages that fed the model and keep the brand campaign that harvested the leftover demand.
You cannot fix that by stuffing UTMs into every URL. The model chooses the URL. You fix it by stitching the first visit to the person and the account, even when the referrer is blank or "chatgpt.com", and keeping that stitch until the deal closes.
How do you connect an LLM visit to a deal?
Start with identity, not with a new dashboard. You need the anonymous session, the later identified user, the meeting that opened the opportunity, and the closed-won amount. Those four records have to share a journey.
On the site, one pixel (or the GTM tags you already run) captures the visit and the pages. When the same person books a call, that calendar event has to join the journey. When the CRM marks the deal closed, that revenue event has to join it too. You do not need a warehouse for this. You need the events on one path.

Then give LLM referrals their own source. If the referrer is ChatGPT, Claude, Perplexity, or Gemini, name it. If the visit is Direct but the landing page is a comparison or docs URL that answer engines cite, keep that landing page on the path even if the source stays Direct. The page is evidence. The named LLM source is better evidence.
Once the path exists, you can run last-click, first-touch, or multi-touch on it. The model is a lens. The data is the visit-to-deal graph. If you only score campaign conversions, LLM traffic will keep vanishing into Direct no matter which lens you pick.
Ask the product a question after that. Which pages did answer-engine visitors read before they booked? Which of those sessions became closed revenue? That is the report a B2B team actually needs, not a new Direct bucket with a prettier name.
Where do view-through and CAC show up?
View-through is the cousin of LLM attribution. Someone can see an ad, never click it, and still arrive later from a brand search or a colleague's link. Someone can also read a ChatGPT answer, never click the citation, and still type your URL. If you only credit the click, both of those impressions did not happen.
Put view-through on the same path as the LLM visit. An impression is not a deal. It is a prior event. When the deal closes, you can see whether that person ever saw the ad, ever came from a model, or both. Cutting either one because it did not produce the last click is how you delete the work that created demand.
For the paid version of that hole, see what view-through attribution means in B2B. An impression with no click is the same family of missing event as an answer with no citation click.
CAC is where this turns into a number finance will accept. Cost per click and cost per form fill are lead costs. Real CAC needs closed customers and the spend that sat on their path. LLM traffic usually has no spend line. That does not make it free. The cost is the pages, the product, and the time it took to get cited. If those visits never join a closed deal, you cannot tell whether that cost returned anything.
Channel quality follows. A source that sends a lot of Direct-looking sessions and no meetings is noise. A source that sends fewer sessions and more closed deals is the one you keep writing for. You only see that when spend, visits, meetings, and revenue share a journey, including the visits that never had a UTM.
A check you can run this week
Pull Direct sessions from the last 30 days. Split out landing pages that a model would cite: comparison posts, pricing, docs, the homepage. For each closed-won deal in that window, ask whether the first visit was one of those pages, a named LLM referrer, or a later branded search.
If the CRM source is "Paid Search" and the first visit was a comparison URL with no UTM, you are looking at LLM or organic demand that last-click reassigned. Write the first visit down. Then look at whether you have been funding the harvest channel and starving the cited page.
You do not need a warehouse to close that gap. One pixel on the site, plus the GTM tools you already run, is enough to stitch visits, page views, meetings, and closed deals. You can chat with the data, get an AI recommendation, and receive a daily report in Slack.
Source is built that way. Drop in one pixel and it connects across the tools you already use. Multi-touch, view-through, offline activity, and LLM attribution sit on the same path as a real CAC, a goal, and a read on channel quality.
Customer data is not used to train external models. Source is SOC 2 Type II and ISO 27001 certified.
If you want ChatGPT traffic on the same path as the meeting and the closed deal, start at Source. Attribution is broken. So we rebuilt it.