YouTube revenue attribution: tie each video to the payments it brings in
YouTube Analytics can't see Stripe. Add 1 tracked link per video, join each click to a payment, and rank videos by the MRR they bring in per 100 clicks.
Muzahid Maruf, FounderUpdated
On this page
Explore with AI
Opens this article inside the chosen assistant with a ready-made prompt.
YouTube revenue attribution connects each video to the Stripe payments it brought in.
Every video gets 1 tracked link per placement, your server logs each click, and a first-party visitor ID follows the viewer from the click to the signup to the first charge.
The video's MRR then sits beside its view count, a number neither YouTube Analytics nor Google Analytics 4 can produce.
Key takeaways
- YouTube Analytics reports how viewers reach a video, and its revenue is RPM from ads, memberships and Premium, so a $39 Stripe subscription never appears in it.
- Shorts descriptions and comments are non-clickable, long-form links need advanced features, and cards and end screens need the YouTube Partner Program.
- Rank videos by MRR per 100 clicks: in the invented table a 4,800-view tutorial earns $351 and a 61,000-view launch video earns $117.
- Size the attribution window from your own click-to-payment gaps, since a 30-day window misses a payment on day 31, and treat tracked revenue as a lower bound.
Why YouTube revenue attribution needs more than YouTube Analytics
YouTube Analytics describes how viewers arrive at a video. Its traffic source types (Browse features, Suggested videos, YouTube search, Shorts and external sources) are all inbound.
Its revenue is money YouTube pays you: the RPM metric adds up ads, channel memberships, YouTube Premium, Super Chat and Super Stickers, so a $39 subscription to your product never appears.
Google Analytics 4 sees the other half. Its default channel group files non-ad visits from video sites such as YouTube under Organic Video.
| System | What it records | What it can't tell you |
|---|---|---|
| YouTube Analytics | Views, impressions, watch time and the source of each view | What the viewer did on your site |
| Google Analytics 4 | Sessions and events by source, medium and campaign | Whether a session ended in a Stripe charge |
| Stripe Dashboard | Charges, customers, subscriptions and refunds | Which video sent the customer |
| Tracked link with billing sync | Click, visitor, signup and payment for each video link | Viewers who watched and never clicked |
What each system can say about one video.
How to set up YouTube revenue attribution in 6 steps
The examples follow 1 product at example.com that sells a $39 monthly plan with a 14-day trial. The product, its viewers and its videos are invented.
Step 1: Check where your channel can place a link
YouTube's page on sharing links with your audiences lists what is clickable. External links in long-form descriptions and comments need advanced features, which the verification page ties to phone verification plus either channel history or an ID or video check.
The end screen and info card help pages say external links in those 2 places require YouTube Partner Program membership, and an end screen needs a video of at least 25 seconds.
| Placement | Clickable external link | What YouTube requires | Limit |
|---|---|---|---|
| Long-form description | Yes | Advanced features | 5,000 characters; only the first few lines show before Show more |
| Pinned comment | Yes | Advanced features | Pinning is itself an advanced feature |
| End-screen link element | Yes | YouTube Partner Program | Video of 25 seconds or more; up to 4 elements on 16:9 video |
| Link info card | Yes | YouTube Partner Program | Up to 5 cards per video |
| Channel profile links | Yes | None listed | Up to 14 links |
| Shorts description or comment | No | Not available | URLs are non-clickable |
| Related video on a Short | Yes, to a YouTube video rather than an external site | Listed as clickable | Points at another video |
Link placements as YouTube documents them in October 2026.
I would stop tagging Shorts. Point a Short's related-video link at a long video whose description carries the tracked link.
YouTube's description tips say viewers see only the first lines before tapping more on mobile or Show more on desktop, out of a 5,000-character field, and advise using those lines for a search-friendly summary.
Put the tracked link on line 1 with 1 sentence on why to click, and the summary on line 2.
Step 2: Name one link per video and placement
Make 1 link for every placement of every video, so a description click and a pinned-comment click land on different rows.
Google's campaign URL guide says to set all 3 of utm_source, utm_medium and utm_campaign, that values are case sensitive (Youtube and youtube make 2 sources), and that utm_content exists to tell 2 similar links apart.
| Field | Value | Example |
|---|---|---|
| utm_source | youtube | youtube |
| utm_medium | video | video, which Google Analytics 4 files under Organic Video |
| utm_campaign | Video slug in lowercase | stripe-metadata-tutorial |
| utm_content | Placement | description, pinned-comment, end-screen or card |
A naming scheme for one video's links.
Google Analytics 4 files a session under Organic Video when the medium matches ^(.*video.*)$, so utm_medium=video puts these visits where you would look for them.
In TrackRev a campaign folder rolls a series of links up to a single total, and the channel profile link gets its own link with utm_campaign set to channel-profile.
Step 3: Install the pixel and connect billing
Connect Stripe with a restricted, read-only key and add the pixel, which is 1 script tag, to your site. On Stripe Payment Links and Buy Buttons the pixel adds the visitor ID as client_reference_id.
A click becomes revenue only if the visitor's identity travels to the charge.
| Day | Event | What gets recorded |
|---|---|---|
| 0 | Viewer taps the description link | The redirect logs the click, sets a vid cookie for 365 days and adds _vid to the destination |
| 0 | Landing page loads | The pixel reads _vid and keeps the ID in a first-party cookie |
| 5 | Viewer starts the 14-day trial with an email | Your signup code calls trk.identify(email) and the ID is bound to that email |
| 19 | First $39 charge | The hourly Stripe sync matches the customer's email to the click, inside a 30-day window |
| 49 | First renewal, $39 | The credit carries forward to the same video link |
One invented viewer, from the video to the second invoice.
To build the join without TrackRev, pass the visitor ID as a client_reference_id when your server creates the Checkout Session, and the video slug as metadata.
The Checkout Session API allows 200 characters for the reference ID, so a 36-character UUID fits, and Stripe metadata allows 50 pairs with 40-character keys and 500-character values. The Stripe Checkout attribution guide covers the webhook side.
The signup email also covers Safari.
John Wilander's WebKit post of March 24, 2020 recaps that Intelligent Tracking Prevention caps the expiry of client-side cookies at 7 days, so a cookie written by the pixel can vanish before a slow trial ends, while the email bound at signup keeps the match alive.
Step 4: Pick the attribution model and window
Say 1 buyer clicks a video's description link on day 0 and a newsletter link on day 6, then pays $39 on day 9. Each of the 3 models splits that payment differently.
| Model | YouTube link (day 0) | Newsletter link (day 6) |
|---|---|---|
| Last touch | $0 | $39 |
| First touch | $39 | $0 |
| Linear | $19.50 | $19.50 |
One invented buyer, one $39 payment, split by each model.
TrackRev defaults to last touch, and first touch and linear are 1 setting away. Linear divides credit by clicks, so 2 clicks on one video link count twice. A model change affects new orders only, so choose before payments arrive.
To learn which videos bring buyers in, I would pick first touch, because a video usually introduces the buyer and a newsletter or search closes the sale. The attribution model comparison covers the trade-offs.
The window is a workspace setting from 1 to 365 days, and it defaults to 30. TrackRev's benchmark page reports 41% of workspaces on 30 days and a median configured window of 27 days.
To size yours, list the days from first click to first payment for recent customers, as the table does for 20 invented ones.
| Window | Customers credited | Customers missed | Share credited |
|---|---|---|---|
| 7 days | 11 | 9 | 55% |
| 14 days | 15 | 5 | 75% |
| 21 days | 18 | 2 | 90% |
| 30 days | 19 | 1 | 95% |
| 45 days | 20 | 0 | 100% |
Share of 20 invented customers that each window credits.
Step 5: Create the links in bulk and test them
TrackRev's bulk import takes up to 500 rows per upload, which at 2 placements each covers 250 videos, with url, name and channel columns plus optional utm_campaign, utm_term, utm_content and tags.
Setting the channel to youtube writes utm_source=youtube and utm_medium=video onto the destination unless it already carries its own tags.
The free plan holds 50 links, which is 25 videos at 2 placements each, so start with the videos that still get views. Tap each link from the YouTube app on iOS and Android and confirm the click is logged.
url,name,channel,utm_campaign,utm_term,utm_content,tags
https://example.com/pricing,Stripe metadata tutorial (description),youtube,stripe-metadata-tutorial,,description,youtube
https://example.com/pricing,Stripe metadata tutorial (pinned comment),youtube,stripe-metadata-tutorial,,pinned-comment,youtube
https://example.com/signup,Founder Q&A (description),youtube,founder-qa,,description,youtubeStep 6: Rank videos by MRR per 100 clicks
Wait until trials have ended, then divide each video's MRR by its link clicks and multiply by 100: for the tutorial, $351 over 310 clicks times 100 is $113.23. A video from last week still has 14-day trials running.
| Video | Views | Link clicks | New customers | MRR | MRR per 100 clicks |
|---|---|---|---|---|---|
| Launch walkthrough | 61,000 | 1,830 | 3 | $117 | $6.39 |
| Stripe metadata tutorial | 4,800 | 310 | 9 | $351 | $113.23 |
| Founder Q&A | 12,500 | 540 | 0 | $0 | $0 |
Three invented videos, every customer on a $39 monthly plan, read after trials ended.
The tutorial has 8% of the launch video's views (4,800 of 61,000 is 7.9%) and 3 times its MRR, and the Q&A shows what a views-ranked channel hides: 540 clicks and no paying customer.
Renewals inherit the original click's credit, so the tutorial's $351 (9 customers at $39) keeps growing as they renew, and a refund takes its share back out. Recheck your 5 oldest tutorials every quarter, because old videos keep collecting clicks.
Tracking creator and sponsor videos
Give each creator 1 link of their own, with the creator's name as utm_campaign, or an affiliate link when you pay commission. The guide to influencer attribution covers contracts and reporting.
The FTC's Disclosures 101 for Social Media Influencers says disclosures are likely to be missed behind a click on MORE, at the end of a video, or among hashtags and links.
A creator's description has to hold the disclosure and your link above the fold, so put that in the brief. TrackRev's affiliate program gives each partner a link and reports commissions against the same Stripe payments, from $39 a month.
A promo code per creator catches viewers who type your name.
What link tracking can't see on YouTube
A viewer who watches, says nothing and searches your name 2 weeks later arrives as organic search or direct, so the video gets no credit.
Tapping a link on a phone and signing up on a laptop gives the laptop a second visitor ID with no click behind it. TrackRev's longest window is 365 days, so a sales cycle past 12 months needs CRM-based attribution.
Google Analytics 4 files Google Ads campaigns on the YouTube network under Paid Video, so judge those apart from description links.
Treat each video's tracked revenue as a lower bound, and put a how-did-you-hear question on the signup form with YouTube as 1 of the options, then reconcile the answers using the guide to self-reported versus tracked attribution.
What TrackRev does for YouTube attribution
TrackRev's revenue attribution runs the chain above in 1 product. You create links on your own domain, such as go.yourbrand.com with 1 CNAME record, choose YouTube as the channel and import a back catalog from 1 CSV.
A Stripe, Paddle, Polar or Lemon Squeezy connection supplies the payments, and TrackRev sorts every link by the revenue it produced under the model you chose.
The free plan covers 50 links and 1,000 tracked events a month and shows clicks only. Revenue figures need a paid plan: Starter is $39 a month, Growth $99 and Scale $199.
If you only want sessions by video in Google Analytics 4, tagged links are enough.
Revenue that arrives through the App Store or Google Play is outside those connections, and contracts that take longer than a year to close suit a CRM better. The pricing page lists every plan.
Found this useful? Share it.
Frequently asked questions
- No. It has no link to payment processors, and its revenue columns report YouTube's payouts to you. You need a tracked link plus a billing sync, or your own client_reference_id on Stripe Checkout.
- A Short's description and comments can't hold a clickable URL. Use the related-video link to reach a long video with your tracked link, add a channel profile link (YouTube allows up to 14), or use a spoken domain and a promo code.
- Only for link info cards (up to 5 per video) and end-screen link elements (up to 4). Description and pinned comment links need advanced features, and channel profile links list no requirement.
- Check for a free workspace (revenue figures are hidden), a pixel missing from the signup page, a payment on day 31 of a 30-day window, or a phone click with a laptop signup.
- Yes. TrackRev syncs revenue from Stripe, Paddle, Polar and Lemon Squeezy, and its pixel adds the visitor ID to hosted checkout links, including Stripe Payment Links and Stripe Buy Buttons.
- Last touch credits the video clicked last, first touch credits the earlier one, and linear splits the payment, so a $39 plan gives each of 2 videos $19.50.
- For sessions, yes: UTM-tagged links appear under Organic Video. Without a Stripe import it ranks videos by visits and has no MRR figure.

Written by
Founder, TrackRev.io & Contant.io
Muzahid Maruf is the founder of TrackRev.io and Contant.io. He writes about marketing attribution, link tracking, and revenue analytics for SaaS teams.
Writes about Marketing attribution · Link tracking · Revenue analytics · SaaS growth
Stop guessing where your revenue comes from.
Set up TrackRev in about five minutes. The free plan covers 1,000 events a month, no card needed.
Start free