Overview
Woven Offers is the most natural way to monetize AI chatbots and assistants. Instead of displaying ads in a sidebar or banner, offers are embedded as structured data in the LLM’s system prompt. The model decides which offers are relevant and includes them naturally in its response as linked recommendations.Example LLM response with woven ad: “Based on your requirements, I’d
recommend the Sony WH-1000XM5 for the best noise cancellation.
They offer 30-hour battery life and industry-leading ANC technology. You can
shop them here for $348.”
How It Works
The woven offers flow has 5 steps:Fetch Offers
Request offers from the API with the user’s query and context. Use
limit: 3 or higher to give the LLM multiple options.Build System Prompt Suffix
Serialize the offers into an XML block with weaving instructions. The SDK’s
getSystemPromptOffers() does this automatically.Append to System Prompt
Concatenate the offer XML to your existing system prompt before calling the
LLM.
Call the LLM
Generate the response as usual. The model will naturally include relevant
offers as linked recommendations in its output.
Using the JavaScript SDK
The SDK providesgetSystemPromptOffers() which handles steps 1 and 2 automatically:
Using the REST API Directly
If you’re not using the JS SDK, build the system prompt suffix yourself from the offer response:System Prompt XML Format
ThegetSystemPromptOffers() method generates XML in this format:
Best Practices
- Use 3–5 offers — give the LLM enough options to choose the most relevant ones without overwhelming the context window.
- Track accurately — only report impressions for offers whose
clickUrlactually appeared in the rendered response. - Include the weaving instructions — the “When relevant, naturally reference…” prompt helps the model understand how to use the offers.
- Don’t force inclusion — the weaving instructions tell the model to only include offers that “genuinely add value.” This preserves user trust and response quality.
Improve targeting with signals
Send user intent signals alongside offer requests to get more relevant ads for
your users.