A 2026 field guide to agentic commerce attribution — what breaks when an AI agent (ChatGPT Operator, Claude Computer Use, agentic checkout) buys on a human's behalf, why the referrer is the agent not the discovery source, and how to even see agent purchases with user-agent fingerprinting plus a Stripe join.
Part of the AI Search Hub — browse all 35 AI Search guides.
A founder I work with — DTC, mid-five-figures monthly Stripe volume — pinged me in March with a screenshot. A $214 order had landed with a billing email he half-recognized as a customer, but his GA4 ecommerce report showed the session source as (direct)/(none), the device as an unfamiliar headless-Chrome string, and a single-page path that went homepage → product → checkout → thank-you in eleven seconds with zero scroll events. His first instinct was fraud. Stripe Radar had passed it clean. The customer confirmed by email that yes, she had asked ChatGPT to "just buy the refill I get every month" and it had. That was an agent purchase. It was real revenue, it converted in eleven seconds, and his entire analytics stack had no idea what it was looking at.
That eleven-second order is the whole article in miniature. The buyer was a human. The browser was an agent. The discovery had happened weeks earlier in a chat the founder never saw. And every assumption his attribution stack was built on — that the browser is the buyer, that the referer is the reason, that human cadence separates real traffic from bots — was wrong at the same time.
This piece is the agentic-commerce companion to two earlier posts: the ChatGPT referral analytics guide, which covers humans clicking AI citations, and the AI crawler and agent tracking field guide, which covers the bots. Agentic commerce is a third thing that sits between them: not a crawler indexing your content, not a human clicking a citation, but a software agent transacting on a human's behalf. It needs its own detection logic and its own attribution model, and almost nobody has built either yet. I am going to be honest throughout about what is real in 2026 and what is forecast, because the gap between the two is the single most important thing to get right on this topic.
Quick Facts
Metric
Value
Source
ChatGPT Operator launch (research preview)
January 23, 2025
OpenAI [1]
Anthropic Computer Use availability
Public beta Oct 2024, on the API
Anthropic [2]
Stripe Agent Toolkit
Shipped 2025, supports agent payments
Stripe [3]
Agentic Commerce Protocol (ACP)
OpenAI + Stripe, published 2025
OpenAI / Stripe [4]
ChatGPT weekly active users (late 2025)
~400 million+
OpenAI [5]
Visa agentic payments program
Announced 2025 (Intelligent Commerce)
Visa [6]
Mastercard Agent Pay
Announced 2025
Mastercard [7]
Google agent payments protocol (AP2)
Announced 2025
Google [8]
Agent-driven share of AI-referred sessions (SMB, 2026)
Single-digit %, category-skewed
Attrifast aggregate
Median agent-checkout completion time
<15 seconds (machine cadence)
Attrifast aggregate
Share of agent sessions GA4 filters or mislabels
~90%+
Attrifast aggregate
Agent purchases that are human-supervised (2026)
Vast majority
Attrifast aggregate
Two numbers anchor the whole topic. The launch dates in the top rows are the demand-side reality: the tooling for agent purchases shipped in 2024-2025, so the channel exists. The ">90% filtered or mislabeled" number is the supply-side reality: almost none of it shows up correctly in the analytics tool most operators use. Between those two facts sits a measurement gap that is currently nobody's job to close.
What "agentic commerce" actually means in 2026 (hype vs reality)
The phrase "agentic commerce" gets used to mean three quite different things, and conflating them is the fastest way to make bad decisions. Let me separate them.
Layer
What it means
Real in 2026?
Who ships it
AI-assisted discovery
Human reads an AI answer, decides, buys themselves
Yes, at scale
ChatGPT, Perplexity, Claude, Gemini
AI-assisted checkout (agent does the clicks)
Human delegates the mechanical checkout to an agent, approves payment
Yes, growing
ChatGPT Operator, Claude Computer Use
In-surface instant checkout
Purchase completes inside the AI app via a protocol
Yes, narrow
ChatGPT Instant Checkout via ACP
Autonomous procurement
Agent decides what/when/from whom, no human in the final loop
Rare, narrow
Custom agents, scheduled reorder bots
The first layer is the subject of the ChatGPT referral analytics guide and the ChatGPT shopping attribution post. It is the largest by volume and it is a human-click problem. This article is about layers two through four — the cases where a piece of software, not a human hand, drives the browser and the checkout.
Here is the honest reality check, because the forecasts on this topic are wildly inflated. In 2026, on the SMB SaaS and DTC sites I instrument, agent-driven checkout is a single-digit percentage of AI-referred sessions, and AI-referred sessions are themselves a minority of total traffic on most sites. It is not zero. It is not the majority of anything. It is an emerging channel with a steep slope and a low absolute base.
Claim you will hear in 2026
What is actually true
"Agents are buying everything now"
Agents complete a small, category-skewed share of purchases; humans still click most of them
"Autonomous agents run B2B procurement"
Almost all agent buying in 2026 is human-supervised, consumer-scale
"Operator is mainstream"
Operator launched as a research preview to Pro users; reach is growing but bounded
"ACP means you must rebuild checkout"
You can receive agent traffic over your normal web checkout today
"This is too early to matter"
The measurement is hard to retrofit, so instrument early even at low volume
The last row is the one I will defend hardest. The reason to care about agentic attribution in 2026 is not that it is paying your bills — it is not. The reason is that attribution data cannot be reconstructed after the fact. If an agent buys from you today and you filtered the session as a bot, that revenue is permanently miscategorized in your history. The cost of instrumenting early is a few hours; the cost of waiting until the volume is undeniable is a year of unrecoverable misattributed data. That asymmetry is the entire case.
Why attribution breaks completely when an agent is the buyer
Every attribution model in production today rests on three assumptions. Agentic commerce violates all three at once.
Assumption
Why it holds for human traffic
Why it breaks for agents
The browser is the buyer
A human clicks, browses, and pays in one session
The agent browses and pays; the human decided elsewhere
The referer is the reason
The referring page is what sent the visitor
The referer is the agent's context, not the discovery source
Human cadence = real traffic
Bots are filtered by non-human behavior
The agent IS the buyer and has non-human cadence
Take them one at a time, because each failure compounds the next.
The browser is not the buyer. When ChatGPT Operator completes a checkout, the entity touching your server is a cloud-hosted browser controlled by OpenAI's agent. The entity who decided to buy is a human who may have made that decision days earlier, in a different app, on a different device. Your session row records the agent. The buyer is invisible to it. This is the deepest break: attribution is the science of connecting a purchase to the thing that caused it, and the agent severs the purchase from its cause by inserting a machine in between.
The referer is not the reason. In the human case, the Referer header is a usable (if imperfect) signal of where the visit came from. In the agent case, the referer — when present at all — points at the agent's own context: an OpenAI or Anthropic egress, an in-app navigation, or nothing. The thing that actually caused the purchase, an AI chat answer the human read last Tuesday, leaves no trace on the agent's HTTP request. You can have perfect referer logging and still have zero information about why the sale happened.
Human cadence does not separate the agent from the bot. This is the cruelest one. The standard defense against junk traffic is behavioral filtering: bots don't move the mouse like humans, don't type at human speed, don't dwell on pages. Agents fail every one of those checks — because they are software. So the exact heuristics that protect your analytics from scrapers also delete your legitimate agent buyers. GA4's bot filtering, applied naively, throws the agent purchase in the same bin as a credential-stuffing script.
The diagram is the problem in one frame. GA4 sees the bottom path: a fast, referer-less session ending in a payment, which it labels Direct or discards. The top path — the human, the chat answer, the decision — is the real cause and it never reaches your server at all. No configuration change in GA4 recovers the top path, because the data was never there to recover.
The agent landscape: who actually drives purchases in 2026
There are roughly five families of agent that can drive a checkout on your site. They behave differently and need different detection rules. This is the working reference table I keep.
Agent
Owner
What it is
Drives web checkout?
Self-identifies?
ChatGPT Operator
OpenAI
Cloud-hosted browsing agent (research preview)
Yes, via its own browser
Partially (agent-class UA / egress IP) [1]
ChatGPT Instant Checkout
OpenAI
In-chat purchase via ACP
Yes, via protocol not browser
Via ACP handshake [4]
Claude Computer Use
Anthropic
Model controls a sandboxed desktop/browser
Yes, depends on harness
Depends on integrator [2]
Gemini / Google agent
Google
Agentic browsing + AP2 payments
Emerging
Via AP2 / UA [8]
Copilot agent
Microsoft
Agentic actions in Copilot
Emerging
Via UA
Custom LangChain / CrewAI / AutoGPT
Anyone
Self-hosted browser-driving agents
Yes, fully
Rarely (operator-set UA)
A few things to read out of this table. The two that matter most by volume in 2026 are ChatGPT Operator and Claude Computer Use, because they are the ones a non-technical human can actually point at a store and say "buy this." The custom-agent row (LangChain, CrewAI, AutoGPT, browser-use, and similar) is the wild west: these run from arbitrary IPs with whatever user-agent the developer sets, so they are the hardest to detect and the most likely to look like generic headless Chrome.
The user-agent strings, as observed in production logs through early 2026 (these drift — match prefixes, not exact versions):
Agent
User-Agent signal
Notes
ChatGPT-User (live fetch)
ChatGPT-User/1.0 or /2.0
Fires when the model fetches a URL on a user's behalf [9]
Operator-class browsing
Headless-Chrome UA from OpenAI egress
Verify by IP range, not UA alone [1]
Claude (live fetch)
Claude-User / Claude-Web
User-triggered fetch [2]
Perplexity-User
Perplexity-User/1.0
User-triggered, ignores robots per policy [9]
Google agent
Googlebot-class UA or AP2 context
Differentiate by behavior + AP2 signals [8]
Generic agent harness
HeadlessChrome, python-requests, Playwright UA
Highest false-positive risk
The single most important operational fact in that table: for the cloud-browser agents (Operator especially), the user-agent alone is not enough. You verify by reverse-DNS against the published egress IP ranges, the same discipline covered for crawlers in the AI crawler tracking guide. A headless-Chrome string from an OpenAI-published range is a strong agent signal; the same string from a random residential IP is more likely a scraper.
What each agent does at checkout
Agent
Discovery
Cart
Payment
Human in loop?
ChatGPT Operator
Browses, may use search
Fills via DOM
Enters details / approves
Yes (approves payment)
ChatGPT Instant Checkout
In-chat product surface
ACP order object
Shared Payment Token
Yes (confirms in chat)
Claude Computer Use
Depends on harness prompt
Fills via screenshots+clicks
Depends on integrator
Usually yes
Custom autonomous agent
Programmatic
Programmatic
Stored credential / token
Often no
The "human in loop?" column is the one that determines your attribution strategy. For everything except the custom-autonomous row, there is a human whose intent and discovery path is the real story — the agent is the hands, not the brain. For the autonomous row, the agent's selection logic is the funnel. In 2026 the vast majority of your agent traffic is in the first three rows, so design for assisted-agent checkout first.
Agent behavior vs human behavior: the detection signals
Since the user-agent is spoofable and the referer is unreliable, behavioral fingerprinting carries a lot of the detection weight. The contrast between agent and human sessions is stark once you know what to measure.
Signal
Typical human
Typical agent
Detection weight
Time to checkout
2-20 minutes
<15 seconds
High
Mouse-movement entropy
Continuous, jittery
None or synthetic
High
Scroll-depth events
Variable, partial
Often zero or instant-full
Medium
Page-transition timing
Irregular (reading)
Machine-regular
High
Form-fill cadence
Human keystroke timing
Instant paste / programmatic
High
Navigation path
Wandering, back-button
Direct-to-target
Medium
Entry page
Homepage, category, blog
Deep product / pricing URL
Medium
Tab/focus events
Frequent blur/focus
None
Low
Viewport size
Real device sizes
Default headless sizes
Low
Referer
Mixed
Empty or agent-context
Medium
No single row is conclusive — a fast power-user with a saved card can complete checkout in under a minute, and a privacy browser strips referers — but the combination is highly separable. The classifier I run weights time-to-checkout, page-transition regularity, and input cadence highest, because those three are the hardest for a human to fake accidentally and the hardest for an agent to disguise.
A worked contrast, anonymized from two real sessions on the same DTC store:
Attribute
Human session
Agent session
Total duration
7m 42s
11s
Pages viewed
9
3
Scroll events
34
0
Mouse-move events
1,200+
0
Time on checkout form
1m 18s
1.4s
Referer
google.com
empty
User-agent
Safari / iPhone
HeadlessChrome / cloud IP
Outcome
$58 order
$214 order
The agent session is not subtle once you instrument for it. The problem is not that agent sessions are indistinguishable from humans — they are quite distinguishable. The problem is that GA4's default behavior is to either filter them (because they look like bots) or bucket them as Direct (because they have no referer), and neither of those is "flag as agent purchase and attribute it." The signal is there; the standard tooling is built to discard it.
A confidence-tiered classifier
Rather than a binary human/agent flag, I score sessions into tiers, because the cost of a false positive (mislabeling a fast human as an agent) is real.
Tier
Criteria
Action
Confirmed agent
Verified agent UA + published egress IP
Flag as agent, attribute
High-confidence agent
Agent-shaped behavior + (UA signal OR cloud IP)
Flag as agent, attribute, monitor
Suspected agent
Agent-shaped behavior, no UA/IP corroboration
Tag suspected-agent, lower confidence
Fast human
Some agent-like signals but human input cadence
Treat as human
Human
Normal behavioral profile
Treat as human
The payment-protocol layer: ACP, Agent Toolkit, and the card networks
Detection tells you an agent is on your site. The payment layer is how the agent actually pays, and in 2026 several competing-but-overlapping standards are settling here. You do not need to implement all of them, but you need to know which surface each one unlocks.
Standard / tool
Owner
What it does
Status 2026
Agentic Commerce Protocol (ACP)
OpenAI + Stripe
How an agent completes a purchase with a merchant; powers ChatGPT Instant Checkout
Published 2025, adopting [4]
Stripe Agent Toolkit
Stripe
Lets agents create Checkout Sessions, payment links, charges via tools
Shipped, GA [3]
Shared Payment Token
Stripe
Agent pays without holding raw card details
Part of ACP rollout [3][4]
Visa Intelligent Commerce
Visa
Tokenized agentic payments on Visa rails
Announced 2025 [6]
Mastercard Agent Pay
Mastercard
Agentic payment program on Mastercard rails
Announced 2025 [7]
Google AP2 (Agent Payments Protocol)
Google
Open protocol for agent-initiated payments
Announced 2025 [8]
PayPal agent commerce
PayPal
Agent-ready checkout
Announced 2025
The way to read this layer: ACP plus the Stripe Agent Toolkit is the OpenAI-centric path (it powers ChatGPT Instant Checkout), AP2 is the Google-centric path, and Visa and Mastercard are building the network-level rails underneath both so a tokenized agentic payment clears the same way a card payment does. They are not mutually exclusive — Stripe sits on top of Visa and Mastercard rails, and an ACP checkout ultimately settles through a card network.
For a Stripe-native SMB, the practical implication is narrow and reassuring: if you are already on Stripe, the Agent Toolkit and ACP are an opt-in layer on top of the Checkout Sessions you already create, not a rebuild. And critically for attribution, ACP and the Agent Toolkit both flow through Stripe Checkout, which means the metadata-join pattern Attrifast already uses works on agent purchases the same way it works on human ones.
Your situation
What to do about the payment layer in 2026
Stripe-native SMB SaaS
Keep normal Checkout; optionally adopt Agent Toolkit for in-chat surfaces
DTC store, want ChatGPT Instant Checkout
Evaluate ACP + Shared Payment Token
High agent volume, fraud-sensitive
Keep Radar on, rate-limit checkout creation, monitor agent-tier sessions
No agent traffic yet
Instrument detection now, defer protocol adoption until volume justifies it
The bottom row is the default for most readers. You do not need to adopt any payment protocol to start measuring agent commerce — agents drive your existing web checkout today. Adopt the protocols when the in-surface checkout volume justifies the integration cost, not before.
How to detect and attribute an agent purchase: the implementation
Here is the architecture end to end. It is the same four-layer pattern from the ChatGPT referral analytics guide, extended with the agent-specific behavioral and IP-verification layers.
The four jobs, in order:
Classify the session at the edge: UA match, IP reverse-DNS, behavioral shape.
Persist a first-party session row with the agent tier and any upstream discovery signal you can salvage.
Carry the session id into the Stripe Checkout Session as metadata at create time.
Join on the webhook: when checkout.session.completed fires, read the metadata and attribute the settled payment to the agent class (and, where possible, the human's upstream discovery source).
A minimal edge classifier in Next.js middleware (illustrative — the production version does IP CIDR matching against published ranges):
const AGENT_UA = [
/ChatGPT-User\//i,
/Claude-User/i,
/Claude-Web/i,
/Perplexity-User\//i,
/OAI-SearchBot/i,
]
function classifyAgent(req: Request): "confirmed" | "suspected" | "human" {
const ua = req.headers.get("user-agent") || ""
const ref = req.headers.get("referer") || ""
const uaHit = AGENT_UA.some((re) => re.test(ua))
const headless = /HeadlessChrome|Playwright|python-requests/i.test(ua)
const agentReferer = /openai\.com|anthropic\.com|perplexity\.ai/i.test(ref)
// Confirmed requires UA hit AND (verified egress IP — checked downstream)
if (uaHit) return "confirmed"
if (headless || agentReferer) return "suspected"
return "human"
}
The behavioral layer runs client-side and server-side together: the 4 KB script samples input-cadence and transition-timing signals and posts them to the session row, while the edge handles UA and IP. The two reconcile server-side into the confidence tier.
The Stripe join is the part that turns detection into dollars. At Checkout Session create time:
const session = await stripe.checkout.sessions.create({
// ... line items, success_url, etc.
metadata: {
af_session_id: firstPartySessionId,
af_agent_tier: agentTier, // confirmed | suspected | human
af_agent_class: agentClass, // operator | computer-use | custom | none
af_discovery_source: discoverySrc, // best-effort upstream signal, may be empty
},
})
Then on the webhook:
// checkout.session.completed handler
const meta = event.data.object.metadata
const amount = event.data.object.amount_total
// attribute `amount` to af_agent_class, and to af_discovery_source when present
recordAttributedRevenue({
sessionId: meta.af_session_id,
agentClass: meta.af_agent_class,
discoverySource: meta.af_discovery_source || "unknown-upstream",
amountCents: amount,
})
That join is deterministic because you own both ends — the session row and the Stripe metadata. No third-party cookie, no fingerprint hash, no consent banner under most jurisdictions (still run your privacy review). It is the same cookieless Stripe-native architecture described in the revenue attribution feature page and the Stripe integration overview, pointed at agent sessions instead of human ones.
The honest limitation in that last column: if a purchase completes entirely inside an AI surface via a protocol you have not integrated, your detection may never see a session at all. That is the gap ACP integration closes, and it is the reason the in-surface checkout volume is the trigger for adopting the protocol.
The discovery-vs-execution problem: the heart of agent attribution
This deserves its own section because it is the conceptual core and the part nobody has solved.
When a human buys, discovery and execution happen in the same session: they find you, evaluate you, and pay, and the session ties all three together. When an agent buys, discovery and execution are split across two entities and often two points in time. The human discovers (in a chat, days ago). The agent executes (in a browser, now). Your server sees only execution.
Phase
Human-only purchase
Agent-mediated purchase
Discovery
Same session, attributable
Different surface/time, often invisible
Evaluation
Same session
Human's, off your site
Decision
Same session
Human's, off your site
Execution
Same session
Agent's, on your site
Payment
Same session
Agent's, on your site
So what can you actually attribute? Honestly, in 2026, mostly the execution — and that is the wrong half. The execution tells you an agent bought; it does not tell you why. Recovering the discovery half requires one of three imperfect bridges:
Bridge
How it works
Reliability
Human pre-touch stitching
The human visited via a ChatGPT citation earlier; match by identity (email at checkout)
Medium — requires earlier first-party touch
Agent-passed context
The agent surface passes a discovery hint (rare, ACP may improve this)
Low today, improving
Probabilistic category attribution
Attribute agent purchases to AI-discovery channel as a class
Low precision, useful for sizing
The first bridge is the most promising and the one I lean on: if the same human had an earlier referer-tagged or UTM-tagged touch from a ChatGPT or Perplexity citation, and the agent purchase settles to the same customer email in Stripe, you can stitch the discovery touch to the agent execution across sessions. It is not perfect — it requires the earlier touch to have been captured and the identity to match — but it is the only model that reconnects the why to the what.
I want to be plain about this: nobody has fully solved discovery-vs-execution for agent purchases, including us. The pre-touch stitch works when the earlier touch exists and the identity matches, which is a real fraction of cases but not all of them. For the rest, the honest answer in 2026 is "we know an agent bought, we can attribute the execution, and the discovery source is a best-effort estimate." Anyone claiming clean end-to-end agent attribution today is selling you a model that is mostly assumption.
What agent commerce looks like across site types
The volume and shape of agent traffic varies enormously by category. The pattern across the sites I instrument:
Site type
Agent share of AI-referred sessions
Dominant agent pattern
Attribution difficulty
DTC consumables (reorder-friendly)
Highest
Assisted reorder ("buy my usual")
Medium
DTC considered purchase
Low-medium
Assisted checkout after human research
Medium
Subscription SaaS (self-serve)
Low
Assisted signup, rare
High (no SKU)
Developer tools
Low-medium
Agent evaluating/buying API access
High
Marketplace / multi-vendor
Medium
Agent comparison shopping
High
B2B procurement
Very low (2026)
Mostly still human
Very high
Local services
Negligible
Agents rarely transact local
N/A
Two patterns worth pulling out. DTC consumables see the most agent activity because "buy my usual refill" is the single most natural thing to delegate to an agent — it is repetitive, low-stakes, and the human's preference is already established. B2B procurement, despite being the headline use case in every agent-economy forecast, sees almost no real autonomous agent buying in 2026 because the approval, compliance, and trust requirements are not met yet. The forecasts are about B2B; the reality is consumer reorders.
Agent pattern
Time-to-purchase shape
Attribution note
Assisted reorder
Seconds, direct-to-SKU
Stitch to original subscription discovery
Assisted first purchase
Seconds at checkout, prior human research
Pre-touch stitch is essential here
Autonomous scheduled buy
No human session at all
Attribute to whatever configured the agent
Comparison agent
Multiple deep-page hits, may not convert
High crawl, low conversion — measure both
Common mistakes operators make with agent traffic
Patterns I have seen often enough to name, with the fix for each.
Mistake 1: Filtering all non-human-cadence sessions as bots. This is the big one. The default GA4 and many analytics tools drop machine-cadence traffic. For agents, that deletes paying customers. Fix: classify into an agent tier and keep the session; only filter confirmed abuse, not all machine behavior.
Mistake 2: Treating an agent purchase as fraud by default. A fast, referer-less, headless-UA order looks like fraud and sometimes is, but increasingly is a legitimate agent buy. Fix: let Stripe Radar make the fraud call on payment risk signals; do not use "looks like an agent" as a fraud heuristic.
Mistake 3: Attributing the whole conversion to the agent's last hop. Crediting the sale to Direct/(none) because that is what the agent's session shows erases the human's discovery path. Fix: pre-touch stitch by customer identity where possible; otherwise tag as agent-mediated with an unknown-upstream flag rather than pretending it was Direct.
Mistake 4: Building for autonomous procurement before assisted checkout. Teams design elaborate autonomous-agent attribution models for B2B procurement that does not exist at volume yet, while ignoring the assisted-reorder traffic that does. Fix: instrument assisted-agent checkout first; that is where the 2026 revenue is.
Mistake 5: Assuming the user-agent is reliable. Custom agents set arbitrary UAs and cloud-browser agents share generic headless strings. Fix: corroborate UA with reverse-DNS against published egress ranges and behavioral shape; never attribute on UA alone.
Mistake 6: Adopting a payment protocol before you have agent volume. Integrating ACP or the Agent Toolkit before any agent traffic justifies it is premature optimization. Fix: instrument detection first (cheap), adopt protocols when in-surface checkout volume justifies the integration cost.
Mistake 7: Reporting agent sessions without the revenue join. "We saw 200 agent sessions" without "$X settled from agent-mediated checkout" lets the channel look like noise. Fix: always pair the session count with the Stripe-joined revenue, the same discipline as every other channel.
Mistake 8: Over-trusting the discovery attribution. Claiming you know exactly which AI surface drove an agent purchase, when you only have a best-effort estimate, poisons the data. Fix: report discovery source with an explicit confidence level and a large unknown-upstream bucket.
What changes about your analytics when you instrument agents
The shape of your reporting shifts once agent-mediated revenue is visible.
Review element
Before agent instrumentation
After agent instrumentation
Bot filtering
Aggressive, deletes agent buys
Tiered, keeps and flags agents
Direct/(none) bucket
Junk drawer including agents
Agents split out as own class
Fraud review
Agent buys flagged as suspicious
Radar handles fraud; agents attributed
Channel mix
No agent line
Agent-mediated as a tracked class
Discovery attribution
Lost for agent buys
Pre-touch stitched where identity matches
Reorder analysis
Counted as Direct return
Recognized as assisted-agent reorder
Forecasting
No agent signal
Early agent-volume trend visible
Protocol decisions
No data to decide on ACP
In-surface volume informs ACP adoption
The row with the most leverage is the first one. The single highest-value change most operators can make on this topic in 2026 is to stop deleting agent sessions in their bot filter. You cannot attribute revenue you threw away at the door.
What this looks like inside Attrifast
A short product note, because the article should not pretend the author has no interest. Attrifast surfaces agent-mediated sessions as a distinct, confidence-tiered class alongside Google organic, paid social, email, and the AI-chat-referral channels. The detection runs the four-layer pattern — UA match, reverse-DNS IP verification against published egress ranges, behavioral shape, and the Stripe metadata join — and the session-to-payment join happens on every Stripe checkout.session.completed webhook with no manual reconciliation. Where an earlier first-party touch exists for the same Stripe customer, the dashboard stitches the agent execution back to the human's discovery source; where it does not, the revenue is honestly labeled agent-mediated with an unknown upstream, not silently dumped into Direct.
The tracking script is 4 KB, cookieless, ships without a consent banner under most jurisdictions (still verify per your privacy review), and the Stripe connection is OAuth, not API key. Pricing is $29/mo for the base tier. The pitch is narrow and honest: Attrifast is one of the few tools that can even see an agent purchase, because seeing it requires joining a flagged session to a settled payment, and the join is what the product is built around. It does not magically recover the human's discovery path when no earlier touch exists — nothing can — and I am not going to claim otherwise.
The first-person reason I built toward this: I watched that founder's eleven-second $214 order get flagged as probable fraud and nearly refunded, and realized the analytics industry's entire toolkit is built on the assumption that the browser is the buyer. That assumption is now sometimes false, and it will be false more often every quarter. The plumbing to see agent purchases has to exist before the volume arrives, because the data cannot be reconstructed after the fact.
Limitations and honest unknowns
Six things this article does not solve, and you should not extrapolate past them.
Discovery-vs-execution is not fully solved. The pre-touch stitch works only when an earlier first-party touch exists and the customer identity matches at checkout. For agent purchases with no prior touch, the discovery source is a best-effort estimate, not a fact. Nobody has closed this gap end-to-end in 2026, including us.
Custom agents on residential IPs are hard to detect. A self-hosted browser-driving agent with a spoofed UA from a residential IP can be nearly indistinguishable from a fast human. The behavioral classifier catches most but not all; treat the suspected-agent tier as genuinely uncertain.
In-surface checkout can bypass your session entirely. A purchase that completes inside ChatGPT via ACP without the agent driving your web checkout may never create a session your detection sees. ACP integration is the path to visibility there, and it is not yet adopted widely.
Volume numbers are early and category-skewed. The single-digit-percent agent share I cite is a 2026 SMB snapshot, heavily weighted to DTC consumables. Do not generalize it to B2B procurement, which is essentially pre-volume, or treat it as a constant — re-measure quarterly.
Protocol standards are still settling. ACP, AP2, the Agent Toolkit, and the Visa and Mastercard programs are all moving fast. Specifics in the payment-layer tables are accurate as of mid-2026 to the best of my reading; verify against the primary docs before integrating, because this surface changes month to month.
Fraud and abuse vectors are real but narrow. Agents can be a fraud vector (automated card testing, bulk buying abuse). This article is about attribution, not fraud defense; keep Stripe Radar and rate limiting on, and do not let the attribution model double as your fraud model.
FAQ
What is agentic commerce, and is it actually happening in 2026?
Agentic commerce is the pattern where an AI agent — ChatGPT Operator, Claude with Computer Use, a Gemini or Copilot agent, or a custom LangChain/CrewAI bot — navigates a website, fills a cart, and completes checkout on a human's behalf, instead of the human clicking through themselves. In 2026 the honest split is this: assisted agentic checkout IS shipping (OpenAI's Operator research preview launched January 2025, Anthropic's Computer Use went GA on the API, and Stripe shipped an Agent Toolkit that lets agents create Checkout Sessions and payment links). Fully autonomous, unsupervised B2B procurement is mostly NOT here yet — most real agent purchases in 2026 are human-supervised, single-item, consumer-scale transactions with the human approving the final payment. The hype runs ahead of the volume. But the volume is no longer zero, and the attribution problem it creates is already breaking dashboards.
Why does attribution break completely when an AI agent buys on behalf of a human?
Because the entire attribution chain assumes the buyer and the browser are the same entity, and with an agent they are not. When ChatGPT Operator buys a product, the Referer your server sees is the agent's session context (an OpenAI egress IP, an Operator-class user-agent, often no referer at all) — not the discovery source that sent the human to consider the purchase in the first place. The human may have discovered you in a ChatGPT chat answer, decided to buy, then delegated the mechanical checkout to the agent. Your analytics records the agent's last hop and loses the human's discovery path entirely. Worse, the agent frequently lands directly on a deep product or pricing URL it was told to buy from, with no upstream session, so there is no funnel to attribute against at all. The referrer is the agent, not the reason.
How can I even tell that an AI agent made a purchase on my site?
Three signals, joined. First, user-agent and IP fingerprinting: agents increasingly self-identify (OpenAI's ChatGPT-User and Operator-class agents, Anthropic's Claude-User, Perplexity-User) and run from published cloud egress ranges you can reverse-DNS verify. Second, behavioral shape: agent sessions show machine-timed page transitions, no mouse-movement entropy, direct-to-checkout navigation, and form fills with no human typing cadence. Third — and this is the only one that closes the loop to money — a server-side join from that flagged session to the Stripe Checkout Session it created, via metadata you write at create time. None of those three alone is conclusive. Together they let you see agent purchases that GA4 buckets as Direct/(none) or filters out as bot traffic entirely. This is the architecture Attrifast ships, and I want to be honest: it is early, the precision is bounded, and nobody has fully solved it.
Does ChatGPT Operator or Claude Computer Use pass a referer when it buys?
Inconsistently, and you should not build attribution on the assumption that it does. ChatGPT Operator runs a cloud-hosted browser; in my testing through 2025 and early 2026 its outbound navigations frequently arrive with no Referer header or an OpenAI-context referer rather than the human's original discovery source. Claude Computer Use drives a browser in a sandbox you or Anthropic host, so the referer depends on how the navigation was initiated — a tool that types a URL directly produces no referer at all. The reliable signals are the user-agent string and the egress IP range, both of which you can verify against published documentation, not the referer. Treat the referer as a bonus when present and the user-agent plus IP plus behavioral fingerprint as the primary detection layer.
What is the Agentic Commerce Protocol (ACP) and do I need to support it?
The Agentic Commerce Protocol is an open spec OpenAI and Stripe published in 2025 to standardize how an AI agent completes a purchase with a merchant — it defines how product data is shared, how a checkout is initiated from inside an agent surface, and how payment is delegated, initially powering Instant Checkout inside ChatGPT. Stripe's Agent Toolkit and its Shared Payment Token work alongside it so an agent can pay without holding raw card details. In 2026 you do not strictly need to implement ACP to receive agent traffic — agents can and do drive your normal web checkout via a browser. But if you want to appear inside ChatGPT's Instant Checkout surface and have purchases complete without the agent leaving the chat, supporting ACP (and the Stripe Agent Toolkit) is how you opt in. Verify the current spec status against OpenAI's and Stripe's published docs, because this standard is moving fast and the surface area is still settling.
Should I block AI agents from checking out, or let them buy?
For almost every SMB SaaS and DTC store the answer is let them buy, then instrument the purchase — blocking is a future-loss bet. An agent completing a checkout is a paying customer at the other end of an unusual funnel, not a scraper. The legitimate concerns are narrower: card-testing and fraud (agents can be a vector, so keep Stripe Radar on and rate-limit checkout creation), and pricing/inventory abuse on agent-driven bulk buying (rare in 2026). The wrong move is to lump all non-human-cadence sessions into a bot filter that discards them, because then you delete the exact revenue you should be measuring. The right move is to flag agent sessions as a distinct class, let them transact, and attribute them. Blocking is reversible and easy to add later if a specific abuse pattern shows up; deleting the data is not recoverable.
How do agent purchases show up in GA4, and why is that wrong?
Three failure modes, all bad. First, GA4's bot-filtering may drop the agent session entirely if the user-agent matches its known-bots list, so the conversion never appears. Second, if the session survives filtering, it almost always lands in Direct/(none) because the agent strips or omits the referer, so the revenue is credited to Direct with no AI-agent label. Third, GA4 has no concept of buyer-versus-browser, so even when it records the session it attributes the whole conversion to the agent's last hop and loses the human's upstream discovery path. The net effect is that agent-driven revenue is either invisible (filtered) or misattributed (Direct), and in both cases the channel that actually drove the decision — often an AI chat answer the human read days earlier — gets zero credit.
What is the difference between an agent that assists a purchase and one that makes the purchase autonomously?
It is the difference between a power tool and an employee, and it matters enormously for attribution. An assisting agent (the common 2026 case) does the mechanical work — finds the product, fills the cart, navigates checkout — while a human stays in the loop and approves the final payment; the human's intent and discovery path are still the real story, the agent is just the hands. An autonomous agent (rare in 2026, real in narrow cases like scheduled reordering or budget-bounded procurement) decides what to buy, when, and from whom, with no human in the final loop; here the agent's selection logic IS the funnel and you have to attribute to whatever made the agent choose you. Most 2026 traffic is the first kind. Designing your attribution for the second kind before it arrives at volume is a common over-engineering mistake — instrument for assisted-agent checkout first, because that is what is actually generating revenue today.
Can I attribute agent purchases cookielessly and without a consent banner?
Yes, and agentic commerce actually makes the cookieless case stronger, not weaker. Agents frequently run in fresh browser contexts with no cookie persistence, so any attribution model that depends on a third-party cookie or a long-lived client identifier was never going to work for them anyway. The cookieless stack — server-side user-agent and IP fingerprinting, a first-party session id scoped to your own domain, and a Stripe webhook join via Checkout Session metadata — is the only model that survives an agent that clears state between every run. None of those three pieces requires a third-party cookie or a fingerprint hash, and a first-party id scoped to your domain falls outside the cross-site rules ITP and the ePrivacy directive target. Still run your own privacy review, but the architecture is the same cookieless pattern Attrifast already ships for AI chat traffic.
How big is the agent economy actually going to be, and when?
Big eventually, small and noisy in 2026, and you should discount the largest forecasts. McKinsey, a16z, and others have published agent-economy theses arguing agents will mediate a large and growing share of transactions over the back half of the decade, and the directional case is sound: the tooling (Operator, Computer Use, ACP, Stripe Agent Toolkit, Visa and Mastercard agentic-payment pilots) is shipping now. But in 2026 the measured volume on the SMB sites I see is single-digit-percent of AI-referred sessions at most, heavily concentrated in a few categories, and dominated by human-supervised assisted checkout rather than autonomous buying. The honest framing: this is a real emerging channel worth instrumenting early because the measurement is hard to retrofit, not a channel that is paying most of anyone's bills yet. Build the plumbing now; do not rebuild your forecast around it yet.
Why is Attrifast positioned to see agent purchases when GA4 and citation tools are not?
Because the agent-purchase problem is fundamentally a join problem, and the join is the thing Attrifast is built around. Citation-monitoring tools (Profound, Loamly) tell you whether AI mentions your brand — they never see a session or a payment, so they structurally cannot see an agent buying. GA4 sees sessions but filters or misattributes agent ones and never joins to settled Stripe revenue at all. Attrifast detects the agent session server-side (user-agent plus IP plus behavioral shape), persists a first-party session row, and joins that row to the Stripe checkout.session.completed webhook via metadata written at create time. That join from a flagged agent session to a settled payment is the one piece that turns an invisible or misattributed transaction into an attributed dollar. I am not claiming we have solved agentic attribution — nobody has — but the join-first architecture is one of the few that can even see the purchase.
How is this different from ChatGPT Shopping recommendations?
ChatGPT Shopping is a discovery surface: it recommends products to a human who then clicks through and buys themselves, which is the subject of the ChatGPT shopping revenue attribution guide. Agentic commerce is one step further — the agent does not just recommend, it drives the browser and completes the checkout. Shopping is "the AI told me to buy this and I did"; agentic commerce is "the AI bought it for me." The attribution problems overlap (both are AI-driven, both break GA4's referer logic) but the agent case adds the buyer-is-not-the-browser break, which is harder. Many sites will see both: AI-recommended human purchases and agent-mediated checkouts, and they should be tracked as related but distinct classes.
Will the card networks make agent payments easy to attribute?
Not directly — the network programs (Visa Intelligent Commerce, Mastercard Agent Pay, Google AP2) are about making agent payments clear and settle securely with tokenization and verified agent identity, not about telling merchants which AI surface drove the purchase. They solve the trust-and-settlement problem, not the attribution problem. What they may improve indirectly is agent identity: a tokenized, network-verified agent payment carries more reliable signal about the fact that an agent paid, which strengthens the detection layer. But the discovery-to-purchase attribution still falls to you, the merchant, to instrument on your own side. Do not wait for Visa or Mastercard to hand you a channel report; they will not.
What is the single highest-leverage thing to do about agent commerce in 2026?
Stop deleting agent sessions in your bot filter. The most common and most damaging mistake is an aggressive bot filter that throws away machine-cadence traffic, because that filter does not distinguish a scraper from a paying agent buyer. Change the filter from "discard non-human cadence" to "flag non-human cadence as an agent tier and keep it," then join those sessions to Stripe. Everything else — protocol adoption, discovery stitching, fancy classifiers — is secondary to simply not throwing the data away at the door. You cannot attribute revenue you deleted.