Chris Shuptrine · chris@getchatads.com
Today. A reader lands on a publisher's gear roundup. Sovrn //Commerce rewrites the outbound link. Sovrn and the publisher get paid.
Tomorrow. The reader asks ChatGPT, Perplexity, or an on-site AI widget. The answer contains the same product mentions — but no Sovrn link, no publisher, no payout.
The gap. Affiliate monetization assumed a rendered HTML page with anchor tags. AI answers are generated text, not pages. The Sovrn link-rewriting layer doesn't see them.
ChatAds closes that gap — extraction + resolution + tracked affiliate links, on AI-generated text, in under 100ms.
The engine. A REST API that reads AI-generated text, extracts product intent, resolves it against a commerce catalog, and returns a tracked affiliate link. Amazon Associates by default; any catalog via config.
Customer: AI products, chatbots, agent platforms, LLM-native apps. Metered Stripe billing, cak_ API keys, plan-based rate limits.
The distribution. A free embeddable AI chat widget for blogs and publishers. One script tag, full-page-context Q&A. Monetization is opt-in and routes through the ChatAds pipeline.
Customer: exactly the publishers Sovrn already sells to. Free → Pro → Business tiers, rev-share when monetization is on.
One is the API. The other is the on-page surface that uses it. Together, they cover both the supply side (publisher widgets) and the integration side (any AI product calling the API).
When an AI says "I'd grab a good meat thermometer" with no brand, no URL, no model — //Commerce has nothing to rewrite. ChatAds embeds the phrase + surrounding context, searches a 1M-SKU catalog in 20ms, and returns the right product (fish thermometer vs. steak thermometer) given the paragraph. Different problem, different engineering.
| Sovrn //Commerce | ChatAds | |
|---|---|---|
| Input | A URL the user (or publisher) already authored | Generated text — no URL, often no brand, just a phrase + context |
| Core mechanic | URL match → merchant lookup → rewrite for commission | Embed query + context → ANN search 1M SKUs in <20ms → return ranked candidates |
| What it owns | The merchant graph: networks, commission deals, attribution, fraud | The retrieval engine: intent classifier, embedding model, indexed catalog, <100ms speed |
| Where it falls down | Has no retriever — can't pick a SKU when one wasn't named | Single-network catalog today (Amazon only) |
True — //Commerce does keyword-based link insertion on publisher articles. It works because publishers write specific brand names, and the dictionary recognizes them. That mechanism doesn't transfer to AI text. The dictionary isn't too small. The lookup mechanism is wrong.
It assumes the publisher already picked the product. The dictionary's job is to recognize names someone else chose to write.
"Extending the HTML mining" means swapping the dictionary for an embedding model, adding a vector index, building an intent classifier, and rebuilding the runtime for <100ms. That's not extending. That's building ChatAds.
For Sovrn: ChatAside slots into the existing publisher relationship the same way //Commerce does — one line of code, rev-share on monetization, no procurement cycle. Sovrn already sells to these publishers.
Most AI product mentions shouldn't be linked. "Talk to a doctor." "Grab one at any store." The ONNX intent classifier suppresses the noise so the surface stays clean.
"Meat thermometer" in a paragraph about salmon vs. about steak = different products. Embed query + context, ANN search 1M SKUs, 17ms encode + 3ms search. Scales sub-linearly as the catalog grows.
Latency budget is the LLM response, not the page render. Deterministic NLP + sidecar architecture means no LLM round-trip on the hot path. Can't be bolted onto an HTML-era pipeline.
Merchant graph, network coverage, commission rates, fraud, attribution. Sovrn already solved this at scale — for HTML. Plugs into ChatAds's retriever as the catalog source.
This is the half Sovrn brings to the combination.
The combined stack is the first AI-native commerce engine with a real merchant graph behind it.
Stripe metered billing live. Published on npm + PyPI. Documentation, dashboard, admin console all shipped.
Monorepo: Go API, FastAPI/spaCy sidecar, ONNX classifier, TS + Python SDKs, MCP server, React dashboard + admin, widget bundle, Jekyll marketing site, Mintlify docs.
Fly.io, Supabase, Netlify, Modal, Stripe, Amazon Associates tracking IDs, RapidAPI, Linear, GitHub org, both domains.
Intent classifier + training data, context-aware retrieval engine (embedding model + indexed 1M-SKU catalog, <20ms search), <100ms end-to-end pipeline, sidecar architecture, scoring harness (100+ evaluated runs), brand resolution logic.
Two production brands (ChatAds, ChatAside), ~30 indexed blog posts, ~20 listicles, comparison pages, case study (The Copper Pot, 98+ recipes).
The acqui-hire price is roughly the cost of one engineer for one year. You get the engine instead of the salary — plus 18 months of iteration that aren't on the build clock. The window to be there cheap closes fast.
Operator sitting at the exact intersection ChatAds is built on:
The hard part of ChatAds isn't the API — it's the language judgment that decides whether an AI sentence contains a product, which product, and whether to monetize it. That's an extraction-and-validation problem, not an LLM-wrapper problem.
Founder background is writer + classifier engineer. That's the right shape of person to hand the codebase to.
Tech acqui-hire in the ~$1M range. Founder transitions full-time, hands over code, accounts, integrations, brand, and IP. Sovrn gets the AI-monetization stack and the operator who built it.
Chris Shuptrine
One-pager: getchatads.com/pitch
Product: getchatads.com · chataside.com
Docs: docs.getchatads.com