---
title: "Where visitors came from (sources, UTM tags, AI assistants, AI agents)"
description: "Every identified person and company shows a first and latest source, including traffic from ChatGPT, Perplexity, and Claude."
url: https://wholayer.com/help/source-attribution
---

# Where visitors came from (sources, UTM tags, AI assistants, AI agents)

> Every identified person and company shows a first and latest source, including traffic from ChatGPT, Perplexity, and Claude.

Category: Visitor ID

WhoLayer records where each visit started, so you can see which channels bring the people you identify.

## What the tag records
On a landing (the start of a visit, or any page view with UTM tags, an ad click, or a link from another site) the tag sends:
- UTM tags: `utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`.
- Whether an ad click id was present (`gclid`, `fbclid`, `li_fat_id`, `msclkid`): yes or no only. The id itself is never sent or stored.
- The referring site, without its query string.

## Sources and categories
Each landing becomes one source, like **Google Ads**, **LinkedIn**, **ChatGPT**, **Organic search**, **Direct**, or **Referral: example.com**, in one of these categories: AI assistant, Paid search, Paid social, Organic search, Social, Email, Campaign, Referral, Direct.

Links from ChatGPT, Perplexity, Claude, Gemini, Copilot, and other AI assistants are **AI assistant**. ChatGPT adds `utm_source=chatgpt.com` to its links, so those count even when the browser hides the referrer.

## Where you see it
- **People**: a Source column and a Source filter (for example, only people who came from an AI assistant).
- **Companies**: the latest source, and how many visitors came from AI assistants.
- **Each person's page**: first and latest source, which visit each came from, and a one-line summary of their journey, like "Compared pricing twice, read the security page, came from LinkedIn". The summary is built by fixed rules, not AI.
- **Slack and Teams alerts**, **CRM notes**, **webhooks** (`data.attribution`), `GET /visitors`, CSV export, and the email digest.

The **first source** is the first landing we saw from that browser, including before the person was identified. The **latest source** moves forward with each new landing.

## AI agents
AI agents that fetch your pages for a person (ChatGPT-User, Claude-User, Perplexity-User, and agents that sign their requests) are not people. They're never stored as visits, identified, or charged. The Overview coverage table counts them as **AI agents**. Automated browsers count as bots. Agentic browsers that look exactly like a normal browser can't be told apart from a person.

## Related

- [Tell WhoLayer who your visitors are (identify, forms, email links)](https://wholayer.com/help/identify-known-users.md)
- [Send only your best visitors (filters)](https://wholayer.com/help/filters-and-hot-leads.md)
- [How Visitor ID identifies people and companies](https://wholayer.com/help/visitor-id-how-it-works.md)
