AI agents will read your program terms before any human does
Creators are starting to ask assistants "which programs in my niche pay best?". If your terms are a PDF, you are not in the answer.
Your affiliate program terms are now read by software before they are read by people. A creator who wants to monetise a channel no longer searches for "best SaaS affiliate programs" and opens ten tabs; they describe their audience to an assistant and ask it to rank the options by what they would earn. The assistant can only rank what it can read: a public HTML page where the commission rate, the cookie window, the hold period and the minimum payout appear as numbers in a table, not as prose in a PDF or behind a login. Programs that publish terms this way show up in the answer; programs that do not are simply absent, however good their rates are. This post explains what an agent actually extracts, what a machine-readable program page looks like, how an assistant compares two programs with arithmetic, what happens when agents start acting rather than reading, and what you can change this week.
How the question changed
A year ago a creator looking for programs behaved like a searcher. They typed a query, scanned results, opened program pages, and built a spreadsheet by hand. The program page was written for that reader: a hero image, a paragraph about partnership, an "Apply" button, and the numbers somewhere further down or in a linked PDF.
Now the same creator opens an assistant and types something closer to a brief: "I run a YouTube channel about indie game development with about 40,000 subscribers. Which software affiliate programs would pay me the most over a year, and what do they require?" The assistant, whether it is ChatGPT with browsing, Perplexity, or a Claude agent with a web tool, fetches pages, extracts the numbers it can find, applies the creator's assumptions, and returns a ranked list with a sentence of reasoning per program [1][2].
When we ran a handful of these questions ourselves in March 2026, two things stood out. The programs that appeared were the ones whose terms were stated in plain HTML on a page the crawler could reach. Programs whose terms were a downloadable PDF, or were only visible after signing up, did not appear, and when we asked the assistant about them by name it said it could not find the commission rate. This was a small, informal check, not a study, and we would not put a percentage on it. But the mechanism is not subtle: an agent cannot rank a number it cannot read.
The four numbers an agent extracts from affiliate program terms
Across the questions we have seen creators ask, the same fields come up every time. An agent is trying to fill a small table, and it does so for every program it finds before it compares them.
| Field | Why the agent needs it | Where programs usually hide it |
|---|---|---|
| Commission rate and whether it recurs | The core of any earnings estimate | In a sentence like "generous recurring commissions" with no number |
| Number of months the commission recurs | Turns a rate into a yearly figure | In the PDF terms, clause 7 |
| Cookie window | Tells the creator whether a slow-converting audience will be credited | Missing entirely, or only in the dashboard after signup |
| Hold period and minimum payout | Tells the creator when money arrives and whether small months pay at all | Only in the payout FAQ after approval |
| Payout method | A creator outside the US wants to know if Wise is supported | Missing from the public page |
| Partner types accepted | A community moderator wants to know if communities qualify | Implied by the hero image |
Notice that none of these affiliate program terms are secrets. Every program tells approved partners all of them. The difference between appearing in an answer and not appearing is only whether the same numbers are on the public page in a form a parser can lift.
What a machine-readable program page looks like
Machine-readable does not mean an API. It means the page states the terms as data, in three layers, each cheap to add.
- A visible HTML table in the first screen with the fields above as rows. Agents that fetch a page and extract text handle a table well; they handle a marketing paragraph badly. The table is for humans too; the creator who does visit the page will thank you.
- Structured data in JSON-LD. Google documents how structured data is read and which types it supports [3]; the same markup is read by other crawlers. For program terms, an FAQPage block with questions like "What is the commission rate?" and precise answers is the simplest widely-understood shape [4], and it has the side effect of answering the exact questions creators ask.
- A plain-text summary for language models. The llms.txt convention proposes a file at the site root that lists the pages a model should read and summarises them in Markdown [5]. It is not a standard with enforcement, but it costs ten minutes and some agents fetch it first. Make sure robots.txt does not block the program page or the file [6].
RelayWonder publishes affiliate program terms this way from the first day a brand creates a program. The terms table, the JSON-LD and the llms.txt entry are generated from the same program record, so when the brand changes the cookie window from 60 to 90 days, all three update at once and an agent fetching the page tomorrow sees 90.
A worked comparison: two programs, one creator
Here is the kind of arithmetic an assistant performs, written out so you can see what your terms are being compared on. A creator expects to refer 50 paying customers in a year to a $29 per month product. Two programs are available.
- Program A: 20% recurring commission for 12 months, 60-day cookie window, 30-day hold, $50 minimum payout, PayPal and Wise.
- Program B: 30% commission on the first payment only, 30-day cookie window, 60-day hold, $100 minimum payout, PayPal only.
Ignoring churn, Program A pays 50 customers x $29 x 20% x 12 months = $3,480 over the year. Program B pays 50 x $29 x 30% = $435. With a more realistic assumption that the average referred customer stays 8 months, Program A pays 50 x $29 x 20% x 8 = $2,320, still more than five times Program B. The assistant will also note that Program A's 60-day cookie window suits a channel whose viewers take weeks to decide, and that Wise matters if the creator is outside the US.
| Program A | Program B | |
|---|---|---|
| Commission | 20% recurring, 12 months | 30% once |
| Year-one earnings, 50 customers, no churn | $3,480 | $435 |
| Year-one earnings, 8-month average retention | $2,320 | $435 |
| Cookie window | 60 days | 30 days |
| First money arrives | About 30 days after first invoice, once over $50 | About 60 days after first invoice, once over $100 |
| Payout outside the US | Wise | PayPal only |
The uncomfortable part is the last row of the caption. Program A is the better deal by every measure, and it loses the comparison entirely if its terms are not readable, because the assistant does not say "Program A might be better but I could not read it". It says nothing about Program A at all.
Beyond reading: agents that act
Reading is the first step. The next is an assistant that, with the creator's permission, applies to a program, or, on the brand side, finds and invites partners. The Model Context Protocol is the emerging standard for giving an assistant a set of tools with typed inputs and outputs [7]. We are building an MCP endpoint for RelayWonder so that an assistant with a scoped key can read a program's terms, search partners, publish a content campaign and invite partners, each as a tool call over the same data the brand console uses.
We are drawing the line deliberately. Agents will not be able to approve payouts, read or change bank details, change team members or rotate keys. Keys are scoped (read, campaigns, invite) and every call is logged with the key, the tool and the arguments, so a brand can see exactly what an agent did on its behalf. A human still approves the batch and still pays it from the brand's own PayPal or Wise account. The agent can do the reading and the drafting; the money stays out of reach.
For creators the equivalent is an assistant that reads the terms of twenty programs, shortlists three, and drafts an application the creator reviews and sends. That is exactly why terms must be readable: the creator may never visit your page at all. The agent did, and reported back.
What to change this week
None of this needs a new platform. If your affiliate program terms are already published somewhere, you can make them legible to agents in an afternoon.
- Put the four numbers in a table in the first screen of the public program page: commission rate and months, cookie window, hold period, minimum payout. Add payout methods and accepted partner types as two more rows.
- Move the long legal terms out of the PDF into an HTML page, even if it is long. A PDF is readable by some agents and skipped by others; HTML is read by all of them.
- Add an FAQPage JSON-LD block that answers "What is the commission rate?", "How long is the cookie window?", "When are partners paid?" and "Who can join?" with the exact figures.
- Check robots.txt and any bot-blocking in your CDN. Many sites block AI crawlers by default without realising that the program page is the one page they want crawled.
- Add an llms.txt file that lists the program page and the terms page with a one-line summary each.
- Ask an assistant the question a creator would ask, with browsing on, and see whether your program appears and whether the numbers are right. Repeat after every change to the terms.
The same mechanism on the buyer side
Everything above is about creators finding programs. The identical mechanism decides whether buyers find your product. When a buyer asks an assistant "what should I use for X", the assistant cites the pages it can read and trusts. Our sister product InsightWonder finds the buyer questions in your category where assistants cite a competitor, cite nobody, or cite you; RelayWonder syncs those questions hourly through an API key so you can turn them into content campaign briefs for partners [8]. InsightWonder does not estimate how often a question is asked; it tells you who is being cited for it.
A content campaign in RelayWonder is a brief, a bounty per delivered piece, and commission on the sales that follow. The delivered URL is tracked for clicks, for sales and for AI citations, so a brand can see whether the piece a creator made is now one of the pages an assistant cites when a buyer asks the question. Readable program terms get you the creator; the creator's piece gets you the citation. They are the same bet made twice.
FAQ
Why do my affiliate program terms need to be machine-readable if I only accept partners by application?
Because the application comes after discovery, and discovery is increasingly done by an assistant. If the assistant cannot read your terms, the creator never learns you exist and never applies. Making the terms readable does not change your approval process; it changes who hears about you.
Is a PDF really invisible to AI agents?
Not always, but unreliably. Some agents fetch and parse PDFs, others skip them or extract them badly. An HTML table is read correctly by all of them, and the same numbers in JSON-LD are read by search engines as well. There is no reason to make the agent work harder than it needs to.
What structured data type should a program page use?
FAQPage is the simplest widely-supported shape and maps directly onto the questions creators ask. Put each term as a question with a precise answer. Google documents how it reads structured data; other crawlers use the same markup.
Will RelayWonder let an AI agent approve payouts or see bank details?
No. The MCP endpoint we are building exposes reading terms, searching partners, publishing campaigns, reading the ledger and inviting partners, under scoped keys with every call logged. Approving payouts, bank details, team changes and key rotation are not exposed to any agent.
Does InsightWonder tell me how many people ask each question?
No, and we would rather say so than guess. It identifies the buyer questions in your category and shows which pages assistants cite for each one: a competitor, nobody, or you. Volume estimates are not something we can measure honestly, so we do not show them.
Sources
- OpenAI Help Center · Documentation of ChatGPT browsing and search behaviour, including how sources are fetched and cited.
- Perplexity Help Center · How Perplexity answers are built from fetched web pages with citations.
- Google Search Central: Introduction to structured data · How crawlers read JSON-LD and which types are supported.
- schema.org: FAQPage · The structured data type for question-and-answer pages.
- llms.txt proposal · A convention for a root-level Markdown file that points language models at the pages worth reading.
- Google Search Central: Introduction to robots.txt · How crawlers interpret robots.txt rules.
- Model Context Protocol specification · The protocol for exposing typed tools to assistants.
- RelayWonder product facts · Program pages, content campaigns and the InsightWonder sync as described in our own documentation.