Documentation Index
Fetch the complete documentation index at: https://docs.thrads.ai/llms.txt
Use this file to discover all available pages before exploring further.
Sponsored Poll Tracking
Sponsored poll bid responses include signedvote_url and results_url values. Use those URLs exactly as returned by the bid response. The signed token authorizes access to a rendered poll instance and keeps clients from voting against or reading raw poll IDs.
Vote
Request
Signed token from the poll creative’s
vote_url. If the token is already present in the vote_url query string, post to that returned URL and include only option_id in the JSON body.Selected option identifier from the poll creative’s
options[].id.Response
Poll identifier.
Option ID submitted by the user.
Lifetime vote count for the poll.
Lifetime aggregate result rows for each option.
Duplicate Votes
Each signed poll token can record at most one vote for its bid/impression. Duplicate vote attempts are rejected and must not increment aggregate counts. If you need to refresh percentages after a duplicate attempt, call the poll’sresults_url.
Results
Query Parameters
Signed token from the poll creative’s
results_url.Response
Poll identifier.
Lifetime vote count for the poll.
Lifetime aggregate result rows for each option, including
id, text, votes, and percentage.Error Handling
| Status Code | Code | Scenario | Client Behavior |
|---|---|---|---|
400 Bad Request | missing_token | No signed token was provided | Do not render results; request a fresh poll creative |
400 Bad Request | invalid_option | option_id does not match one of the poll options | Keep the poll visible and let the user choose a valid option |
401 Unauthorized | invalid_token | Token is malformed, expired, or not valid for this poll | Do not retry with the same token; request a fresh poll creative |
409 Conflict | duplicate_vote | Token already recorded a vote for this bid/impression | Do not submit another vote; call results_url to refresh aggregate results |
500 Internal Server Error | server_error | Tracking service failed unexpectedly | Continue without blocking the chat experience |
Rendering Flow
- Render the poll question and option buttons from the bid response.
- Fire or load
view_urlaccording to your normal view tracking behavior. - When the user selects an option, submit
option_idtovote_url. - Replace option buttons with returned percentages and total vote count.
- If
cta_urlis present, reveal the advertiser CTA after the vote. - Use
results_urlto refresh percentages without recording another vote.
