GEO-104·Issue 09·Content & Semantics·104 / 132
Subscriptions, Bundles, and Accessories: Teaching Agents to Upsell
An agent adds only what it can verify fits. Three field sets for bundles, accessories, and subscriptions, plus four compatibility columns worth publishing.
Issue focusReady to Transact: Agentic Commerce and Product Feeds
Composite example. A DTC e-bike brand dry-runs an agent: a Portland buyer asks it to kit out an eight-mile rainy commute. The bike comes back first; the fenders, rear rack, and spare battery go to two competitors. Fitment lived in a PDF behind a support article, and the page said “works with most accessories.”
An agent adds only what it can verify is related — fitment, contents, and renewal period as fields rather than paragraphs — so a pairing you cannot write down is a pairing it will not make.
An add-on is a risk calculation, not a pitch
Upselling a person is persuasion; upselling an agent is combination optimization. Its objective is not order value but a kit that works in the buyer’s hands — a wrong accessory comes back as a refund and a support ticket charged against the recommendation.
Three classes survive the filter: parts the page declares fit a named model, items that ship together (same warehouse, delivery window, returns policy), and consumables with a stated replacement basis. Everything else reads as risk.
Retrieval order settles the rest: feed and structured fields first, then page spans that stand alone, then description prose — the layers in agentic commerce readiness. Compatibility that lives only in images, PDFs, or support scripts leaves layer one blank.
A bundle is also an object of split comparison: write “save $40” and the agent prices the parts separately to check the claim. When the arithmetic fails, it buys them apart — or elsewhere.
Three relations, three field sets
Bundles, accessories, and subscriptions usually share one “related products” module. To an agent they are three questions with three failure modes.
| Relation | The question the agent must answer | Fields that must be structured | Typical break |
|---|---|---|---|
| Bundle | What ships, and what it saves over buying separately | Bundle SKU, contents with quantities, component and bundle prices, out-of-stock substitution | A group photo; the list is for humans only |
| Accessory | Which model, generation, and connector | Compatible models, generation or connector, exclusions, standalone price, stock | “Universal,” “fits many models” |
| Subscription | How often, how much, what renewal costs | Interval, quantity per shipment, first and renewal price, pause and skip, lifespan basis | Terms appear only at checkout |
A bundle is checkable when contents read line by line and the price adds up. An accessory is safe when it can be excluded, not merely included. A subscription is predictable when its interval has a basis: per day, per wash, per charge cycle, not “about a month.”
Compatibility is a list, so write the exclusions
The fix is four columns, not a sentence: models it fits, generation or connector, cases where it does not fit, and the substitute when it is out of stock. The first three decide whether the agent adds the part; the fourth, what happens when your default is gone.
The counterexample: “Compatible with most popular models.” Useful to a shopper, empty to an agent, which cannot map “most popular” to a model number — so it takes the conservative path: no accessory, or a third-party part that names your model.
Substitution matters more than expected. With a part out of stock, the agent hunts a readable alternative — same connector, upgraded; same series, other capacity. Without one it drops the kit, and the main unit with it. One fact per line, with a unit or a model number, as product copy for agents argues.
Example: one robot vacuum, three blocks
Example — brand, models, and prices are invented; no real product is described.
Before: a “you may also like” carousel under the PDP. Four tiles: brush, filter, cleaning solution, dock. No contents, no fitment, no interval.
After, the page carries three blocks. The bundle block: “V7 robot, self-empty dock, and a 12-pack of bags; $899 together against $1,012 bought separately; one warehouse, one returns policy.” The accessory block is a table: fits V7 and V7 Plus; dock connector D2, 100–240 V; does not fit the V5 (D1 dock); substitute is the D2 dock with the larger bin. The subscription block: “Filters every eight weeks, two per shipment; the first ships with the vacuum; renewals at $24; pause or skip anytime. Basis: two runs a week on hard floor, one cat; heavy-shedding dogs, six weeks.”
Nothing was added. Three things became checkable, excludable, and calculable: a shopper sees a product page, an agent reads three field sets.
Four steps from a support ticket to a published field set
| Step | Action | Owner | Passes when |
|---|---|---|---|
| 1 Find pairings | Mine tickets, return reasons, and add-to-cart sequences for real combinations | Support, category | Each pairing has a scenario |
| 2 Classify | Decide bundle, accessory, or subscription; one pairing belongs to exactly one class | Category, content | The three field sets stay separate |
| 3 Fill the fields | Contents, fitment, exclusions, interval, prices, substitutes — one value each | Content, product data | Each value readable in feed and API |
| 4 Ask the agent | “I bought this; what else do I need?” and “how often do I replace it?” | Growth | Your pairing appears, or you can explain why not |
Step 4 is the only falsifiable step. Ask three times, sampling the way an AI visibility baseline would; one screenshot is an anecdote. If the accessory is missing, check the feed before rewriting the page.
Where this breaks
First, a bundle must not hide the unit price. Price it above the sum of its parts and the agent splits it, filing the contradiction as a pricing inconsistency.
Second, subscription rules are local: auto-renewal disclosure, withdrawal rights, and cancellation belong to the target market’s legal review, not a translated template.
Third, open consumable ecosystems resist tying. Buyers already choose third-party filters; force it and the landed cost rises, dragging the main unit out of the shortlist.
Fourth, restraint. Twenty related items is no default pairing, and an out-of-stock offer with no substitute is skipped whole.
This piece sits on the content and semantics line: upstream the answer unit, downstream the checkout field. Which layer you can edit also depends on where you sell — see marketplace versus DTC.
This month, take your best-selling SKU, publish a four-column compatibility table for its first three accessories, and add a bundle block whose price adds up. A week later, ask an agent what else the buyer needs.