Promo Codes, Tracking Links, and UTMs: Showing a Sponsor What Your Stream Drove
A brand sponsors a stream and gives you a code to read out, or a link to put in chat. After the campaign, someone on their side asks what the stream drove. If the only answer is in their dashboard, you're relying on a number you can't see, built from a link you may not have set up.
This post covers the measurement side of a sponsorship: what codes and links count, what they miss, who controls the data, and how to make sure you get a copy. Which deal type you're offered (flat fee, affiliate, bounty, or a mix) is the affiliate vs flat fee post. Proving the stream aired as agreed is proof of delivery.
What a promo code measures
A promo code counts purchases where the buyer typed the code at checkout. That's all it counts. It's a good fit for a live stream because you can say it out loud, put it on an overlay, and repeat it, and viewers who never click anything can still use it.
What a code misses:
- Viewers who buy without it. Someone who heard the read, searched the brand later and checked out without the code doesn't show up.
- Viewers who buy much later. If the code expires before they get around to it, the sale lands without your name on it.
- Codes that spread. A code read on stream can end up shared outside your audience. Then some redemptions aren't yours, and the count runs high instead of low.
So a code count is a floor on what the stream drove, with some noise on top. That's fine as long as both sides treat it that way.
What a tracking link measures
A tracking link counts visits that arrived by clicking that exact link. It goes in your chat command, panel, video description, or pinned message. Depending on what the brand's site tracks, the same link can also tie those visits to signups or purchases.
What a link misses:
- Viewers who don't click. Anyone who typed the brand's name into a search bar instead.
- Device switches. A viewer who watched on a TV or console and bought later on a phone.
- Return visits. Someone who clicked during the stream, left, and came back days later another way.
Like a code, a link gives you a floor. Using both covers more of the audience: the code catches the listeners, and the link catches the clickers.
UTM parameters: how a campaign link is built
Most tracking links are the brand's normal web address with a few labels added to the end. Google Analytics calls these UTM parameters. Its help page explains that by adding them to a destination URL, "you can view which campaigns refer traffic. When a user clicks a referral link, the URL parameters are sent to Analytics, and the parameter values are visible in the Traffic acquisition report."1
The three you'll see most, in Google's own words:1
utm_source: "Referrer, for example: google, newsletter4, billboard"utm_medium: "Marketing medium, for example: cpc, banner, email"utm_campaign: "Product, slogan, promo code, for example: spring_sale"
Google is direct about these three: "When you add parameters to a URL, you should always use utm_source, utm_medium, and utm_campaign."1 There's also utm_content, which Google describes as "Use to differentiate creatives."1 In a stream, that's how you tell the chat-command link apart from the panel link.
A link for a sponsored Twitch stream might look like this:
https://brand.example/?utm_source=twitch&utm_medium=sponsored_stream&utm_campaign=yourchannel_launch&utm_content=chat_command
Three details from Google's page that trip people up:
- Capitalization matters. "Parameter values are case sensitive, e.g.
utm_source=googleis different fromutm_source=Google."1 Google recommends lowercase as standard.1 If the brand's other campaigns usetwitchand your link saysTwitch, your traffic splits into two rows. - Missing labels show up as blanks. Google warns that "Missing UTM parameters will result in (not set) values being present in reporting."1
- You don't have to build it by hand. Google points to its Campaign URL Builder for links to websites.1
The most important thing about UTMs: they report into the brand's analytics, not yours. The traffic shows up in the property that belongs to whoever owns the website. You can build a perfect link and still never see a single number from it unless the brand shares.
Who creates it, and who sees the dashboard
In most deals the brand creates the code in its store and the link in its own system, because both have to work at their checkout. That's normal. The problem is the other half: the brand also holds the only dashboard.
That's not a problem when the deal is a flat fee. Your fee is earned by delivering the stream, and the numbers are for the post-campaign report and the next conversation. It's a real problem when any part of your pay depends on the count. The affiliate vs flat fee post covers why "they own the tracking, you own the risk" is the thing to fix before you sign.
Either way, decide before the stream:
- Who creates the code and link, and what exactly they'll be. Get them in writing before you go live, and test the link once.
- Which window counts. Redemptions during the stream only, or for a set period after?
- What you'll receive. A screenshot or export of the code's redemptions and the link's sessions for the campaign, not a single summary sentence.
- When you'll receive it. A set number of days after the campaign window closes.
Put the reporting line in the contract
None of this happens reliably unless it's written down. A line in the deal memo or contract is enough:
The brand will create the promo code and tracking link for this campaign and send them to the creator before the first sponsored stream. Within [X] days after the campaign window closes, the brand will send the creator a report of code redemptions and tracking-link sessions for the campaign period, as a dashboard screenshot or export.
You set the number of days. If any payment depends on the count, add how a conversion is defined and what happens if your numbers and theirs disagree. The contract checklist has the rest of the clauses that belong next to it. This isn't legal advice. For a deal with real money riding on tracked numbers, have someone qualified read it.
What to do with the numbers
Once the report arrives, it goes three places:
- Your post-campaign report. Put the code and link numbers next to your own stats: average viewers and hours from Twitch analytics or YouTube analytics. Label code and link numbers as what they are: a floor on what the stream drove.
- Your renewal pitch. Concrete results from their own dashboard are the strongest thing you can bring to a renewal.
- Your media kit, with the brand's OK. Don't publish their sales numbers without asking.
And one thing they shouldn't do: change what a flat-fee stream earned. If the code underperformed, that's useful information for the next deal's shape, not a reason for a partial refund. The fee paid for the airtime and the read.
A code read on stream is still a sponsored mention, so the disclosure rules apply every time you say it. The FTC disclosure post covers how.
FAQ
Should I use a promo code or a tracking link for a sponsored stream?
Both, if the brand can set them up. A code works for viewers who only listen, because you can say it out loud. A link works for viewers who click from chat or a panel. Each one misses buyers the other catches.
Can I see the results of my sponsor's UTM link?
Not directly. UTM parameters report into the analytics of whoever owns the website, which is the brand. You only see the numbers if the brand shares them, so put a reporting line in the contract.
What UTM parameters should a sponsorship link use?
Google Analytics says to always use utm_source, utm_medium, and utm_campaign, and to use utm_content to tell creatives apart. Keep values lowercase and consistent, because Google treats different capitalization as different values.
Do promo code numbers show everything my stream drove?
No. A code only counts buyers who typed it at checkout. Viewers who bought later, on another device, or without the code aren't counted, and a code that spreads beyond your audience can add redemptions that aren't yours. Treat the count as a floor with some noise.
Can a sponsor pay me less if my promo code underperforms?
Not on a flat-fee deal. The fee paid for the stream and the read as agreed. Only the parts of a deal that are written as performance-based, like an affiliate cut or a bonus, depend on the count.
Sources
- Google Analytics Help, "URL builders: Collect campaign data with custom URLs": "you can view which campaigns refer traffic. When a user clicks a referral link, the URL parameters are sent to Analytics, and the parameter values are visible in the Traffic acquisition report."; "
utm_source: Referrer, for example: google, newsletter4, billboard"; "utm_medium: Marketing medium, for example: cpc, banner, email"; "utm_campaign: Product, slogan, promo code, for example: spring_sale"; "utm_content: Use to differentiate creatives."; "When you add parameters to a URL, you should always useutm_source,utm_medium, andutm_campaign."; "Use lowercase as a standard practice."; "Links to websites: Use the Campaign URL Builder."; "Parameter values are case sensitive, e.g.utm_source=googleis different fromutm_source=Google."; "Missing UTM parameters will result in (not set) values being present in reporting." Fetched 2026-10-18. https://support.google.com/analytics/answer/10917952?hl=en ↩
Sponsee™ is not affiliated with Twitch, YouTube, TikTok, Kick, or Google.