An assistant names your brand, praises your product, then hands the buyer a link to Amazon. The recommendation worked. The economics did not. When AI recommends a marketplace over your brand site, you pay the acquisition cost of the mention and a third party collects the margin on the sale.
Most AI visibility reporting stops at "were we mentioned?" That question is answered. The harder question — where did the answer send the buyer — is where DTC brands are quietly losing contribution margin. We tracked it across six engines for 60 days. The gap between being named and being linked is wide, and it is not the same on every engine.

What this article covers: what the behaviour is and what it is not, per-engine and per-category leakage rates from our 60-day study, the four causes we traced in the answers themselves, a 12-week fix test on eight brands with measured lifts, a weekly tracking routine, and the mistakes that make it worse.
What does it mean when AI recommends a marketplace over your brand site?
It means the assistant names your brand in its answer but attaches the purchase link to a retailer listing — Amazon, Walmart, Best Buy, Target — with no link to your own domain. The buyer is convinced by your product and converted on someone else's checkout.
This is distinct from two problems it gets confused with. It is not a visibility problem: you were mentioned. It is not a competitor problem: no rival replaced you — that failure mode is a different diagnosis, covered in why AI recommends competitors and how to win back the shortlist. It is a destination problem, and it sits in the layer between recommendation and transaction that most AI search monitoring never inspects.
We call the metric buy-link leakage rate: the share of answers that name your brand, include at least one marketplace or retailer link, and include zero links to your own domain.
Quick self-diagnosis: which problem do you actually have?
| What the answer does | Problem | Where to start |
|---|---|---|
| Never names you | Visibility | Corroborated presence on sources the engine retrieves |
| Names a rival instead of you | Competitor displacement | Comparison and objection coverage |
| Names you, links only to retailers | Buy-link leakage | Transaction facts on-page + feed reconciliation |
| Names you, links nowhere | Citation gap | Quotable, sourceable page passages |
Run three prompts before reading further: best [category] for [use case], is [your brand] worth it, where to buy [your brand]. Which row you land on decides whether the rest of this article is your problem or someone else's.
How we measured buy-link leakage: 240 prompts, six engines, 60 days
We ran 240 buying-intent prompts against ChatGPT, Gemini, Perplexity, Claude, Copilot and Google AI Mode, daily, for 60 days ending June 2026. The prompt set covered 40 DTC brands across six categories — supplements, apparel and footwear, home and kitchen, pet, skincare, and specialty coffee and food.
Prompts were written the way buyers actually type: "best magnesium supplement for sleep," "where can I buy [brand] running shorts," "is [brand] worth it or is there something cheaper." Each response was parsed for brand name occurrence, every outbound link, and the domain class of each link (brand-owned, marketplace, retailer, editorial, community, other).
Three parsing rules kept the numbers honest. Brand-owned subdomains and regional storefronts counted as brand domains. Affiliate-wrapped retailer links resolved to their destination. Answers that named the brand but contained no links at all were logged separately and excluded from the leakage denominator — roughly 11% of responses.
Total sample: 86,400 engine-prompt observations, of which 31,208 named at least one tracked brand.
Limits worth stating. Sessions were logged-out and US-geolocated, so personalisation and regional shopping surfaces are not represented. Engines ship interface changes without notice; the per-engine figures below are a June 2026 snapshot, not a constant. And 40 brands is a panel, not a census — treat the direction as transferable and the exact percentages as ours.
Which AI engines send buyers to a marketplace most often?
Perplexity leaked hardest, Claude leaked least, and the spread between them was 42 percentage points. Engine choice matters more than category, and far more than brand size.
| Engine | Buy-link leakage rate | Answers containing ≥1 brand-domain link |
|---|---|---|
| Perplexity | 71% | 21% |
| Google AI Mode | 68% | 24% |
| Copilot | 63% | 29% |
| Gemini | 58% | 33% |
| ChatGPT | 44% | 41% |
| Claude | 29% | 58% |
Columns do not sum to 100% because a single answer can carry both a retailer link and a brand link, or neither. Weighted across all observations, 56% of buying answers that named a brand routed the purchase away from that brand's own domain.
Two patterns explain the extremes. Perplexity and Google AI Mode render product cards backed by merchant feeds, and a feed entry is by definition a retailer entry. Claude renders no shopping widget at all, so its links come from whatever page best answered the question — which is often a manufacturer spec page. If you sell into workplace buyers, that behavioural difference is worth reading closely in our breakdown of how Claude's recommendation behavior differs from ChatGPT and Perplexity, and in the mechanics of how Claude searches the web and decides what to cite.
Why this is a margin problem, not a traffic problem
Because the buyer still buys. Leakage does not reduce conversion — it relocates it to a channel where you keep less of the order. That makes it invisible in every dashboard that measures AI referral sessions, and painfully visible in blended contribution margin.
The arithmetic is simple enough to run on your own numbers:
Monthly leaked margin = (AI-originated orders) × (leakage rate) × (direct contribution margin per order − marketplace contribution margin per order)
A worked example from one skincare brand in our panel:
- 900 orders per month traceable to an assistant conversation
- Leakage rate: 61%, so 549 of those orders start on a retailer listing
- Direct contribution margin: $28.56 on a $68 AOV (42%)
- Same SKU through the marketplace after referral fee, fulfilment and ad load: $16.32 (24%)
- Delta: $12.24 per order
549 × $12.24 = $6,720 per month, or roughly $80,600 a year — from answers where the brand already won the recommendation.
The margin delta is not exotic. Amazon's published referral fee schedule runs 8–15% of sale price in most consumer categories before any fulfilment or advertising cost, which is why a 42% direct margin lands near 24% through the marketplace on the same SKU.
The second cost is data. A marketplace order gives you no email, no consent to remarket, no subscription path, and no attribution back to the conversation that created it. For a brand whose LTV depends on repeat purchase, the lost margin on order one understates the loss.
Note what this brand did not have: a visibility problem. Its AI share of voice was healthy. Its buy-link destination was not.
Why assistants choose the retailer link
Four causes explain almost every leaked link we inspected. None are about domain authority, and all four are fixable on your own site.
The retailer page answers the transaction questions your PDP leaves implied
Assistants building a shopping answer need price, availability, shipping window, and return terms as retrievable facts. A retailer listing states all four in text. A typical DTC product page renders price in a JavaScript widget, availability as a greyed-out button, shipping in a footer link, and returns in a policy page three clicks away.
The model does not conclude your page is worse. It concludes your page does not contain the answer, and it cites the one that does.
Your feed and your page disagree
Where product cards are involved, the feed is the primary record and your page is the verification layer. Google's documentation is explicit that merchant listing structured data must include price, priceCurrency, availability and condition, and that product structured data must match what a user actually sees on the page.
When it does not match — a stale price, a missing GTIN, an InStock flag on a sold-out variant — the safest link for the assistant is the retailer whose data reconciles. We saw mismatch and leakage move together in 7 of the 8 brands we later tested.
The four mismatches we found most often, in order of frequency across the panel: sale price live on-page but regular price in the feed; InStock on a variant that was sold out in one size; GTIN absent on bundles and multipacks; and shipping cost stated per-order on-page but per-item in the feed. Each is a reconciliation failure, and each is cheap to fix once you know to look.
Nothing independent corroborates your own page
Assistants weight claims that appear in more than one place. A spec that exists only on your site is an assertion; the same spec on your site, a retailer listing and two review pages is a fact. Retailer listings inherit corroboration for free because reviews, Q&A and third-party price data accumulate on them.
This is the same mechanism behind AI search engines citing competitor pages instead of yours — the model is not preferring the competitor, it is preferring the corroborated source. The corroborating sources that actually feed these answers are broader than the obvious ones; we mapped the earned sources brands overlook separately.
The retailer page is the one the model has seen quoted
Editorial roundups, community threads and comparison articles almost always link out to a marketplace, because that is where affiliate revenue lives. Every one of those pages is a training and retrieval signal that binds your product name to a retailer URL. Over time the association hardens: the model's default representation of "buy this product" is a marketplace listing.

What actually pulled the link back: a 12-week test on eight DTC brands
We ran a controlled fix cycle with eight brands from the panel — two supplements, two apparel, two home, one pet, one skincare. Each shipped one change at a time, two to three weeks apart, while we tracked daily. Median brand-domain link share across the eight moved from 18% to 39%, and median leakage fell from 61% to 42%.
| Change shipped | Median lift in brand-domain link share | Weeks to first observed movement |
|---|---|---|
| Price, stock, ship window and return terms as visible on-page text | +11 pts | 3 |
| Feed ↔ page reconciliation (price, availability, GTIN, variants) | +8 pts | 2 |
| A "buy direct" page naming direct-only SKUs, sizes, bundles, warranty | +7 pts | 5 |
| First-party review text quoting product attributes | +5 pts | 7 |
| Attribute table written in buyer vocabulary, not internal spec names | +4 pts | 4 |
The individual lifts sum to 35 points; the combined result was 21. The effects overlap heavily — most of what the review corpus and the attribute table contributed was already being carried by the transaction-facts block. If you can only ship one thing, ship the first row.
Two brands saw no meaningful movement on Perplexity or Google AI Mode until the feed work landed, which is consistent with those engines drawing product cards from merchant data rather than page retrieval.
One brand went backwards for three weeks. An apparel brand shipped the transaction-facts block behind a client-side rendering path; price and stock were in the DOM after hydration but absent from the server response. Leakage rose four points before we caught it. The fix was rendering the same block server-side, and the lift landed the following cycle. If the fact is not in view-source, it does not exist for the crawler.
The five evidence blocks that move the link
Answer-first version: put the transaction facts in retrievable text, make your feed agree with your page, name what buyers can only get direct, let real review language onto the page, and label attributes the way buyers say them.
- Transaction facts in text. Price, currency, in-stock status per variant, dispatch window, delivery estimate, return window, and who pays return shipping — as sentences or a table, rendered server-side, not injected by script.
- Named direct-only advantages. "Sizes 2XL–4XL are available only on this site." "Subscription pricing is $54 vs $68 one-time." "Registration for the two-year warranty requires a direct purchase." Specific, checkable, and impossible for a retailer listing to reproduce.
- Attribute tables in buyer vocabulary. If buyers ask for "unscented," do not label the field "fragrance profile: neutral." Matching the query language matters more than matching your PIM.
- First-party review text, not just aggregate stars. A rating number is one token of evidence; review sentences that name attributes are dozens. Publish the sentences, not only the average.
- Policy pages with numbers in them. "30-day returns" beats "hassle-free returns" every time, because only one of those is quotable.
Two blocks that apply beyond retail: if you sell a technical product, developer documentation is a citation source that no intermediary listing can duplicate — and answering the downside question head-on wins the objection turn in AI chats, which is where a buyer's last comparison happens before the link is clicked.
None of these are new SEO ideas. What is new is that they now determine link destination, not just ranking — the core practical claim of generative engine optimization.
Where leakage is worst: category patterns
Commodity categories leak hardest, differentiated ones least. The spread across our six categories was 37 percentage points.
| Category | Buy-link leakage rate |
|---|---|
| Supplements & vitamins | 74% |
| Apparel & footwear | 69% |
| Home & kitchen | 63% |
| Pet | 55% |
| Skincare | 48% |
| Specialty coffee & food | 37% |
The pattern tracks substitutability. Where many brands make a functionally similar product, the assistant treats brand choice as secondary and the retailer as the reliable constant. Specialty coffee resisted because roast dates, origin lots and grind options exist only on the roaster's own site — the brand page is the only page that can answer the question.
Practical read: if you are in a high-leakage category, your defensible asset is information the retailer listing structurally cannot carry. Ask what fact about your product changes week to week, varies by variant, or requires you to state it — then put that fact on the page in text. Supplements brands in our panel found it in third-party assay results and lot-level testing dates; apparel found it in per-size fit data and fabric sourcing.
How to track buy-link leakage weekly
- Build a prompt set from real buying language. 20–40 prompts covering category discovery ("best X for Y"), branded intent ("is [brand] worth it"), and purchase intent ("where to buy [brand]").
- Run them on every engine your buyers use, not just ChatGPT. The per-engine spread above is the whole point.
- Log link destinations, not just mentions. Classify each link as brand-owned, marketplace, retailer, editorial or community.
- Calculate leakage rate per engine and per category, weekly. Track the trend line, not the single reading — daily variance is real.
- Attach a dollar figure using the margin formula above, so the number survives a budget conversation.
- Ship one evidence block, then wait three weeks before shipping the next. Changes take two to seven weeks to surface, and stacking them makes attribution impossible.
Sample size, so you do not chase noise. At 20 prompts on one engine, a week-over-week move under about 10 points is inside normal variance — we saw ±7 points on unchanged brands across consecutive weeks. Below 40 prompts per engine, read the four-week trend line and ignore single readings entirely.
An AI visibility tool that captures full answer text and outbound links makes steps 3–4 automatic; a spreadsheet and a recurring calendar block will also work at 20 prompts. What will not work is monitoring that only records whether the brand name appeared.
Three things not to do
Do not fight the marketplace listing. Suppressing your own retailer presence removes corroboration and usually raises leakage on other engines. In two of our test brands, reducing retailer detail measurably lowered mention rate before it lowered leakage.
Do not add markup that contradicts your page. Inflated availability or a stale price is worse than no markup — it costs you the reconciliation the assistant was checking for. Google's Merchant Center structured data guidance treats mismatch as a data quality failure, not a rounding error.
Do not assume in-chat checkout solves this. The Agentic Commerce Protocol released by Stripe and OpenAI does put a merchant checkout inside the conversation, and it is worth adopting. But it changes where the transaction happens, not which brand the assistant chose to recommend or which page it trusted enough to cite. The evidence problem sits upstream of checkout.
Frequently asked questions
Is buy-link leakage the same as the mention-vs-citation gap?
No, though they overlap. The mention-vs-citation gap measures whether your domain is cited anywhere in an answer. Buy-link leakage measures specifically where the purchase link points when your brand is recommended. A brand can be cited for a spec claim and still have every buy link routed to a retailer — we saw that combination in 19% of our observations.
Can a small brand realistically win the link back from Amazon?
Yes, and category matters more than size. Our two smallest test brands — both under $4M annual revenue — posted the largest brand-domain link gains, because they had the most missing transaction data to fix. Marketplace listings win by default, not by authority, and defaults are cheap to beat.
How long does it take to see leakage improve?
Two to seven weeks in our test, depending on the change. Feed reconciliation surfaced fastest, at around two weeks, because merchant-data-backed engines refresh on a feed cycle. Review-corpus changes were slowest, at seven weeks, since they depend on retrieval catching up to new page content.
Should I optimise for every engine or pick one?
Pick by buyer, then by leakage. If your audience researches at work, Claude and Copilot carry disproportionate weight and leak less — meaning the same fix returns more direct traffic. If your audience is consumer and mobile, Google AI Mode and Perplexity dominate and demand feed work first. Tracking brand mentions in ChatGPT alone will misread the destination problem entirely.
Does this apply to B2B SaaS, or only physical products?
The mechanism applies, the marketplace changes. For software, the "retailer" is a review platform or directory — G2, Capterra, an app marketplace listing — and the leak costs you the trial signup and the first-touch data rather than gross margin. The fix is identical: put the facts the intermediary carries onto your own page, in text.
Will blocking AI crawlers stop the leak?
No — it reverses it. Blocking retrieval removes your page from the candidate set entirely, so the assistant falls back on the sources that remain: retailer listings, editorial roundups and community threads, none of which you control. Two panel brands had partial crawler blocks in place at the start; both sat above the category median for leakage until the blocks came off.
What if the marketplace outranks me for my own brand name?
That is a symptom of the same cause, not a separate problem. The retailer listing carries transaction facts, review corroboration and inbound affiliate links; your PDP often carries none of the three in retrievable text. Fix the evidence gap first and measure again in three weeks — outranking the listing is downstream of being the page that answers the question.