TheDocumentation Index
Fetch the complete documentation index at: https://docs.thrads.ai/llms.txt
Use this file to discover all available pages before exploring further.
config object lets you control how ads are served per request — pacing, creative constraints, and analytics tags. All fields are optional and fall back to defaults set on your chatbot in the platform dashboard.
Ad Pacing
Controls when and how often ads appear in a conversation. Two checks run before any auction logic:- Ad Offset (
ad_offset) — minimum turns before the first ad in a conversation - Max Frequency (
max_frequency) — minimum number of requests between consecutive ads
200 OK with "bid": null and a message indicating the reason — same as a no-bid. Continue without an ad.
| Field | Type | Description |
|---|---|---|
ad_offset | int | Min turn number before first ad. null uses dashboard default. 0 disables the offset check. |
max_frequency | int | Min requests between consecutive ads. For example, 5 means an ad can appear at most once every 5 requests. null uses dashboard default. 0 disables the frequency check. |
Example
turns_from_last_ad.
Creative Constraints
Control what the ad creative looks like to fit your UI.Headline Limit
Whenmax_headline_chars is set, the system guarantees no headline exceeds the limit. If no creative fits, no ad is returned.
Image Control
Whenimage_enabled is false, the response is forced into text mode: placement is "text", the image_url field is omitted entirely, and an advertiser logo is returned in logo_url instead. Render the logo on your card. Use this when your UI doesn’t support product imagery, or when you want a more compact card.
See Ad Formats & Rendering — Sponsored Message for the full text-mode vs image-mode response shapes.
Click Area
Setrestricted_click_area to true if your UI only makes specific elements clickable — logo, advertiser name, CTA button — rather than the entire ad surface. This is an analytics-only signal: the response payload is identical and you wire up the click handlers however you already do. We use the flag to segment performance metrics (CTR, dwell time) by click-zone style so you can compare your restricted layout against fully-clickable peers.
false (full ad surface assumed clickable).
Experiments
Beta — available to all publishers.
experiment_tag to run A/B tests on your integration. Tag each request with a label (max 30 characters) and the tag is recorded on every impression. Compare performance metrics across variants in your dashboard.
| Field | Type | Description |
|---|---|---|
experiment_tag | string (max 30 chars) | A/B test label. Recorded on every impression for analytics segmentation. |
Example
Test whether showing ads after turn 3 vs turn 5 performs better:offset_3 vs offset_5 in your dashboard analytics.