ads-twitch
Skill1 starsChanged 5 days agoMITView on GitHub
Use when wiring Twitch Ads through Amazon DSP, answering how to get Twitch inventory, installing the Amazon Ad tag, importing off-Amazon conversions with Amazon DSP Conversions API, or debugging missing Twitch attribution. Twitch has no separate public conversion endpoint. The supported measurement route is Amazon DSP and Amazon Ad tag, with regional access, consent, and reporting limits.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- pooriaarab/skillsword for word, first seen Nov 7, 2026
Other versions1 project uses a version of this.
Word for word · 1
- pooriaarab/skills★ 1100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository325 other files it gives its agents.
- AGENTS.mdAGENTS.md
- accept-x402-paymentsSkill
- ad-auto-optimizerSkill
- ad-conversion-hubSkill
- ad-creative-generationSkill
- ad-creative-templatesSkill
- ad-experimentsSkill
- ad-image-prompt-librarySkill
- adobe-express-addonSkill
- ad-platform-credentialsSkill
- ads-amazonSkill
- ads-apple-searchSkill
- ads-baiduSkill
- ads-bilibiliSkill
- ads-chatgptSkill
- ads-copilotSkill
- ads-criteoSkill
- ads-discordSkill
- ads-douyinSkill
- ads-googleSkill
- ads-hotstarSkill
- ads-kakaoSkill
- ads-kuaishouSkill
- ads-lgSkill
- ads-lineSkill
- ads-linkedinSkill
- ads-mercadolibreSkill
- ads-meta-aiSkill
- ads-metaSkill
- ads-microsoftSkill
- ads-mojSkill
- ads-naverSkill
- ads-nextdoorSkill
- ads-outbrainSkill
- ads-perplexitySkill
- ads-pinterestSkill
- ads-quoraSkill
- ads-redditSkill
- ads-rokuSkill
- ads-samsungSkill
- ads-sharechatSkill
- ads-shopeeSkill
- ads-snapchatSkill
- ads-spotifySkill
- ads-stackadaptSkill
- ads-stravaSkill
- ads-taboolaSkill
- ads-tencentSkill
- ads-tiktokSkill
- ads-trade-deskSkill
- ads-vkSkill
- ads-wazeSkill
- ads-weiboSkill
- ads-xiaohongshuSkill
- ads-xSkill
- ads-yahoo-japanSkill
- ads-yandex-directSkill
- ads-yelpSkill
- agent-avatar-systemSkill
- agent-browser-consolesSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 5 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
Use the Amazon Ad tag or Amazon Ads Conversions API for off-Amazon events.
- Distinctive: line 50
Create one Amazon Ad tag per advertiser in Amazon DSP.
- Distinctive: line 56
After the base code loads, use the documented JavaScript call:
- Distinctive: line 86
Use an OAuth 2.0 bearer access token and the Amazon Ads API client ID.
- Distinctive: line 88
Create definitions with these required fields:
- Very specific: line 146
Use the hub's stable event_id, usually the payment-provider transaction ID.
- Very specific: line 164
Verify the client tag as request proof: trigger an event, filter browser Network by the tag ID, and confirm HTTP 200 from …
- Very specific: line 186
Keep the OAuth client secret, refresh token, and access token in the deployment secret store.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Twitch Ads
Twitch Ads is an Amazon DSP product surface. Twitch does not publish a separate advertiser pixel or conversion API. Use Amazon DSP for buying and measurement. Use the Amazon Ad tag or Amazon Ads Conversions API for off-Amazon events.
The Twitch Developer API covers broadcaster and Twitch product data. It does not document advertiser conversion tracking. Do not use its OAuth scopes or Helix endpoints for ad measurement.
Account and access
Amazon DSP offers self-service and managed-service access to brands, agencies, and tool providers. You do not need to sell on Amazon. Twitch supply varies by region. See Twitch Ads access paths and the Amazon DSP signup page.
- Select Register for self-service access.
- Select the regional view and create an advertiser under the entity.
- Contact Amazon Ads sales or partners for managed service. The managed-service minimum is about USD 50,000. Amazon lists USD 10,000 as the recommended self-service video campaign minimum.
Premium Twitch Video packages have separate inventory rules. The Twitch Premium Video specifications page lists supported locales and approved third-party providers. Console and streaming-device inventory is not clickable.
API access
Direct server integration requires an Amazon Ads API application and approval. Choose Direct advertiser for your own account. Choose the Partner Network route for a tool used by other advertisers. An advertiser using an approved third-party tool does not request API access. See Amazon Ads API access.
Amazon Ads API access uses Login with Amazon and OAuth 2.0. Keep the client ID, client secret, refresh token, and short-lived access token on the server. Use the regional API host for the advertiser:
- NA:
https://advertising-api.amazon.com - EU:
https://advertising-api-eu.amazon.com - FE:
https://advertising-api-fe.amazon.com
See regional API endpoint guidance and the API onboarding guide.
The adapter can use these environment names. Amazon defines the values, not these names:
TWITCH_ADS_TAG_ID: public Amazon Ad tag ID.TWITCH_ADS_API_CLIENT_ID: Login with Amazon application ID.TWITCH_ADS_API_CLIENT_SECRET: Login with Amazon application secret.TWITCH_ADS_REFRESH_TOKEN: long-lived OAuth refresh token.TWITCH_ADS_ACCOUNT_ID: Amazon DSP account ID used in the path.TWITCH_ADS_API_REGION:NA,EU, orFE.TWITCH_ADS_CONVERSION_DEFINITION_<EVENT>_ID: saved definition ID.
See Amazon's token guide.
Client-side Amazon Ad tag
Create one Amazon Ad tag per advertiser in Amazon DSP. Use Events Manager → Create tag → View tag code. Accept the terms first. See Create an Amazon Ad tag.
Store the public tag identifier as TWITCH_ADS_TAG_ID. Amazon calls it the tag ID or advertiser AAT ID. Copy it from View tag code. Do not copy a placeholder ID.
Paste the generated JavaScript base code in the <head> of every advertiser website page. It loads the library and records the initial page view. Do not place it inside an ad creative. See Amazon's privacy FAQ.
After the base code loads, use the documented JavaScript call:
amzn("trackEvent", "Purchase", {
value: 49.99,
currencyCode: "USD",
unitsSold: 1,
productId: "plan-pro",
clientDedupeId: "order_123"
});EVENT_NAME, attribute keys, and values are free-form strings. Keep each within 256 characters and avoid Amazon's documented special characters. Use PageView, Checkout, Signup, Lead, and Purchase when they match the definitions. See the tag event examples.
Amazon also publishes a client-side GTM template. It accepts the Amazon DSP Tag ID, region, event name, transaction ID, value, currency, units, and advanced matching fields.
Server-side Conversions API
Amazon calls this the Conversions API or Events API. It imports off-Amazon website, app, and offline events. Twitch is the media supply. The definition and feed belong to the Amazon DSP advertiser.
Accept the terms in Amazon DSP → advertiser → Events Manager. Record the advertiser ID. Create one definition per separately reported event. Use source: SERVER_TO_SERVER and sourceType: WEBSITE for web events.
The documented endpoints are:
POST {REGIONAL_API_HOST}/accounts/{accountId}/dsp/conversionDefinitions
POST {REGIONAL_API_HOST}/accounts/{accountId}/dsp/conversionDefinitions/eventData
POST {REGIONAL_API_HOST}/accounts/{accountId}/dsp/conversionDefinitions/listUse an OAuth 2.0 bearer access token and the Amazon Ads API client ID. The current API reference controls media-type headers for your version. Do not copy headers from an old SDK. See CAPI event import and the API overview.
Create definitions with these required fields:
name: your event definition name.source:SERVER_TO_SERVER.sourceType:WEBSITE,OFFLINE,ANDROID,FIRE_TV, orIOS.conversionType: the standard Amazon reporting type.countingMethod:EVERYorFIRST.
Send each event with these required fields:
{
"source": "SERVER_TO_SERVER",
"eventData": [{
"name": "Purchase",
"conversionDefinitionID": "<definition-id>",
"clientDedupeId": "order_123",
"timestamp": "2026-08-29T19:20:00Z",
"matchKeys": [{
"type": "EMAIL",
"value": "<sha256-normalized-email>"
}],
"value": 49.99,
"currencyCode": "USD",
"unitsSold": 1
}]
}eventData accepts 1 to 100 events. Amazon limits the feed to five transactions per second per advertiser. Events can be up to seven days old. Older events are not processed. Invalid events in a batch can fail while valid events succeed.
Identity and consent
The feed requires at least one matchKeys item and allows one match key per event. For email, trim whitespace, lowercase, then SHA-256 hash. For phone, remove formatting, use E.164, then hash. Use only types accepted by the current schema. The identity guide documents un-hashed IDFA and GAID for supported app signals. Never send raw email or phone values.
Apply the ad-conversion-hub consent gate first. Require measurement before dispatch. Require ad_user_data before sending hashed identity. Do not reject a purchase because it has no Twitch click ID.
For EEA traffic, Amazon requires a country code for every tag signal and one of TCF, GPP, or Amazon Consent Signal. See the GTM consent guidance. Keep denied consent denied. Do not infer consent from a missing CMP value.
Canonical event mapping
The hub owns canonical names. Create Amazon definitions with these standard conversionType values:
| Hub event | Amazon conversion type | Notes |
page_view | PAGE_VIEW | Use FIRST only when one view per customer per 24 hours is intended. |
view_content | OTHER | No standard content-view type is listed. Use a custom name. |
lead | LEAD | CONTACT is another listed option for contact capture. |
signup | SIGN_UP | Use a completed account creation event. |
begin_checkout | CHECKOUT | Fire when checkout starts. |
purchase | OFF_AMAZON_PURCHASES | Send value, currencyCode, and unitsSold. |
subscription_start | SUBSCRIBE | Use a paid subscription start. |
refund | UNVERIFIED | No refund conversion type appears in the current list. Reconcile refunds in the hub. |
See Amazon's off-Amazon conversion type list. Do not invent a Twitch event name or an Amazon conversion type for a refund.
Deduplication
Use the hub's stable event_id, usually the payment-provider transaction ID. Send it in the browser event's clientDedupeId and the server twin's deduplication field. Amazon's current tag and import docs use clientDedupeId. Its deduplication guide calls the Events API twin eventId.
This naming differs across Amazon documents. Check the current schema after enabling the feed. Never use event_id by assumption. Amazon drops later events with the same ID and near-identical events received within 200 milliseconds. FIRST also drops later matches from the same customer within 24 hours. Use EVERY for purchases unless the business rule requires one daily event.
Click and attribution behavior
UNVERIFIED: no Twitch-specific URL click parameter is documented in the current official sources reviewed here. Do not invent twitchclid, amznclid, or a cookie lifetime.
Amazon documents an ad-system cookie named ad-id, not a URL click parameter. Amazon Ads systems, including the tag, retain data for no longer than 13 months. Let the tag manage its cookie. Store your own UTMs if needed. Do not put ad-id in click_ids without an Amazon-documented use.
Twitch Premium Video is clickable except on consoles and streaming devices. Its third-party 1x1 trackers support impressions, clicks, quartiles, and completes. These are media trackers, not website conversion events. See the Twitch tracking rules.
Amazon DSP generally uses a 14-day lookback. Reports can take up to 12 hours. Unified reporting uses the traffic date, not the conversion date. See campaign attribution and unified reporting.
CTV measurement is not supported on Twitch for any listed third-party vendor. Do not promise device-level conversion measurement for Twitch streaming-TV inventory. See Amazon third-party measurement support.
Verification
Verify the client tag as request proof: trigger an event, filter browser Network by the tag ID, and confirm HTTP 200 from https://s.amazon-adsystem.com. Confirm the event and attributes in Amazon DSP Events. See Validate Amazon Ad tag.
Verify server events as platform proof: open Amazon DSP → advertiser → Events Manager → Conversions, confirm the source is Conversions API, check Last date received and alerts, then confirm off-Amazon metrics in Report Center or the reporting API. Allow for reporting delay. Reconcile counts and value with succeeded charges. A 200 response proves transport only.
Common pitfalls
- Using Twitch Helix OAuth for Amazon DSP. These are different products.
- Expecting a Twitch pixel or a
TWITCH_PIXEL_ID. Use the Amazon DSP tag ID. - Copying an example tag ID. The generated code is advertiser-specific.
- Creating the tag but not accepting the Amazon DSP Events Manager terms.
- Sending raw identity data or using hub hashing without Amazon's exact rules.
- Sending a browser and server event with different deduplication IDs.
- Using the wrong regional API host for the advertiser.
- Sending events more than seven days after they occurred.
- Reading a 0 count before Amazon's reporting delay ends.
- Treating Twitch 1x1 impression trackers as website conversion tags.
- Expecting click attribution from console, streaming-device, or CTV inventory.
- Enabling
FIRSTand then wondering why repeated events disappear. - Retrying an accepted request without checking the deduplication record.
Security
Keep the OAuth client secret, refresh token, and access token in the deployment secret store. Keep them out of browser code, URLs, logs, screenshots, and git. Keep TWITCH_ADS_TAG_ID public, but scope it to the correct advertiser.
Hash identity only after the hub consent gate. Never log raw or normalized identity. Send events over HTTPS. Restrict API permissions to required Amazon DSP resources. Rotate credentials through the Amazon Ads console.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

