Twitch.GiftSub
Someone gifts a subscription to another viewer.
- Platform: twitch
- Shape:
giftSub - Source event:
Twitch.GiftSub
Widget.on("Twitch.GiftSub", (event) => { // event.user, event.platform…});Fields
Section titled “Fields”user(string): Display name; «Anonymous» for anonymous gifts.userId(string): User id on its platform.userLogin(string): Login, lowercase.recipient(string): Who receives it.tier(1 | 2 | 3): Subscription tier.anonymous(boolean): Whether the gift is anonymous.giftBombId(string | null): Id of the gift bomb it belongs to, or null.fromGiftBomb(boolean): Whether it comes from a gift bomb: do not count it twice.
It also carries platform (the source platform) and raw (the original payload).
Example
Section titled “Example”The example payload that reaches the Studio simulator:
{ "user": { "role": 1, "badges": [], "color": "#1E90FF", "subscribed": false, "monthsSubscribed": 0, "id": "100000004", "login": "donregalos", "name": "DonRegalos", "type": "twitch" }, "messageId": "00000000-0000-4000-8000-000000000006", "systemMessage": "DonRegalos gifted a Tier 1 sub to GatoNegro! They have given 20 Gift Subs in the channel!", "isTest": false, "broadcaster": { "id": "100000000", "login": "canaldeprueba", "name": "CanalDePrueba", "type": "twitch" }, "isInSharedChat": false, "isSharedChatHost": false, "isFromSharedChatGuest": false, "createdAt": "2026-09-26T05:37:05.2210387Z", "durationMonths": 1, "cumlativeTotal": 20, "recipient": { "id": "100000009", "login": "gatonegro", "name": "GatoNegro", "type": "twitch" }, "subTier": "1000", "communityGiftId": null, "fromCommunitySubGift": false, "randomCommunitySubGift": false, "communitySubGiftCount": 0, "communitySubGiftCumulativeTotal": 0}