How Ambit Signal attributes visits to AI assistants
Ambit Signal measures how AI assistants use a website and how many people they send to it. This page sets out exactly how it works and where its limits are.
What does Ambit Signal measure?
Ambit Signal measures five links in one chain, for each website it watches:
- Visibility: how often a business is named when AI assistants answer its buyers' questions (share of voice, measured by repeated probes).
- Usage: how often an AI assistant fetches the site's pages while answering a real person's request.
- Crawling: how often AI training and AI search crawlers read the site.
- Visits: how many people arrive at the site from an AI assistant.
- Outcomes: which inquiries and leads trace back to an AI source.
How is each request classified?
Ambit Signal assigns every page request on the site to exactly one class:
| Class | What it means |
|---|---|
| AI fetch | An AI assistant retrieved the page to answer a person's request (for example ChatGPT-User, Perplexity-User, Claude-User). |
| AI crawler | An AI training or AI search-index crawler (for example GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot). |
| Search crawler | A classic search crawler (Googlebot, bingbot). Bing's index also feeds AI search. |
| AI referral | A person who arrived from an AI assistant, shown by the referring site or a utm_source tag the assistant added to the link. |
| AI return visit | A person with no AI marker whose hashed IP address arrived from an AI assistant in the previous 30 days. |
| Estimated AI visit | A direct visit to a page that an AI assistant fetched for a user in the previous 10 minutes. |
| Signed agent | A request carrying a Signature-Agent header, sent by AI agents that browse on a person's behalf. |
| Human, other bot | Everything else. Unidentified automated traffic is kept out of visitor counts. |
What do confirmed, probable and estimated mean?
Ambit Signal labels every AI-attributed visit with one of three confidence tiers, reported side by side and never summed:
- Confirmed: the visit carries direct evidence of an AI source. That evidence is the referring site (such as chatgpt.com or perplexity.ai), a
utm_sourcevalue the assistant added, or a first-touch record saved in the visitor's browser when they first landed from an AI answer. - Probable: the visit has no AI marker, but the same hashed IP address arrived from an AI assistant within the previous 30 days. Home and mobile networks can share one address among many people, so this tier is labeled as probable, not confirmed.
- Estimated: the visit arrived with no referrer at all, and an AI assistant fetched that same page for a user in the 10 minutes before. AI apps often strip the referrer, so this captures some of the traffic that would otherwise be invisible. It is an estimate and it is reported as one.
Keeping the tiers apart is what makes the numbers defensible. A report that blended an estimate into a confirmed count would look better and be worth less.
How are AI crawlers verified?
A user-agent string can be copied by anyone, so Ambit Signal verifies each AI crawler against evidence the vendor controls:
- Published IP ranges: OpenAI, Perplexity, Google and Microsoft publish the address ranges their crawlers use. A request that claims to be one of these crawlers but comes from outside the vendor's ranges is marked spoofed and excluded.
- Reverse DNS with forward confirmation: for vendors that verify by hostname (Google, Bing, Apple, Amazon, DuckDuckGo), the requesting address must resolve to the vendor's domain and that hostname must resolve back to the same address.
- User agent only: where a vendor publishes neither, the request is labeled probable, never verified.
The vendor range lists are refreshed every week.
How are signed AI agents handled?
Some AI agents now identify themselves with HTTP message signatures, following the IETF Web Bot Auth drafts (RFC 9421). These agents send a Signature-Agent header. Ambit Signal verifies each signature against the agent's published key directory (/.well-known/http-message-signatures-directory, Ed25519 or RSA-PSS, with created and expires times checked). A valid signature is recorded as verified. A signature that fails is recorded as spoofed, because a forged signature is worse than none. A signature we cannot check, for example from an unknown key, stays claimed.
What data is stored, and for how long?
- No raw IP addresses are stored. Each address is replaced with a salted hash. The secret salt lives only on our server, so the hash cannot be reversed from the data alone.
- Raw server logs, which do contain IP addresses, are deleted after at most 30 days.
- Page-request records are kept for 395 days, to support year-over-year comparison. AI return-visit records are kept for 90 days.
- Location is looked up on our own server from an offline database and kept only as country, region and city. IP geolocation by DB-IP, licensed under CC BY 4.0.
- Nothing is sent to a third party. Collection, classification and storage all run on our server.
What are the known limits?
- Referrer stripping: many AI apps and in-app browsers remove the referrer, so confirmed AI visits undercount the real number. The estimated tier recovers only part of that gap.
- Shared IP addresses: mobile carriers and some offices put many people behind one address, which is why IP-based attribution is capped at probable.
- Agentic browsers: AI browsers that do not sign their requests look like ordinary browsers and cannot be told apart.
- Visibility is sampled: AI answers vary from one run to the next, so share of voice comes from repeated probes. It is not a single snapshot.
Where is the agent registry?
The list of AI agents and AI referrer sources that Signal recognizes is published as open data at ambit.agency/signal/registry.json, under CC BY 4.0. For each agent it gives the class, the user-agent pattern and the verification method, with a link to the vendor's own IP-range source. It is updated when vendors add or change agents.
Common questions
Can you see every visitor an AI sends?
No. Many AI apps and in-app browsers strip the referrer, so some AI-sent visits arrive looking like direct traffic. We report those only as an estimate, in their own tier, and never add them to the confirmed count.
Is a user-triggered AI fetch the same as a visit?
No. A fetch means an AI assistant retrieved the page to answer a person's request. It shows the page was used in an answer, even when nobody clicks through. We count fetches and visits separately.
Do you store IP addresses?
No. Raw server logs, which contain IP addresses, are deleted after at most 30 days. Signal stores only a salted hash of the IP address, which cannot be reversed without a secret key held on our own server, plus coarse location (country, region, city).
Is any data sent to a third party?
No. Collection, classification and storage all happen on our own server. The only outbound requests are downloads of the AI vendors' public IP-range lists and a public geolocation database.
Can I use the agent registry?
Yes. The registry at /signal/registry.json is published under CC BY 4.0. It lists each AI agent, its class, its user-agent pattern and how it can be verified, and links to each vendor's own IP-range source.
Want to know what AI is doing with your site?
We will measure your share of voice and show you which sources AI assistants cite in your category. Free, no obligation.
Get my free auditMethod version 2026-09-23. Changes to this method will be listed on this page with their dates.