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 is the practice of tying each video to the Stripe payments the video 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. The method takes 6 steps.
Per Google's RPM documentation, the revenue columns in YouTube Analytics report only money paid out by YouTube in 2026.
In the invented example below, a tutorial with 4,800 views earns $351 in MRR, while a launch video with 61,000 views earns $117, and only the tracked link shows the gap.
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 does YouTube revenue attribution need 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 (see why GA4 shows no revenue by channel). Its default channel group files non-ad visits from video sites such as YouTube under Organic Video.
The table shows what each of the 4 systems can and cannot say about one video. First, YouTube Analytics shows the view. Second, Google Analytics 4 shows the session. Third, Stripe shows the charge.
Only a tracked link with billing sync joins all 3 in one row for 1 video, which answers which video earned a $39 charge in 2026.
| 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 do you set up YouTube revenue attribution in 6 steps?
Setup is a sequence of 6 steps from untracked descriptions to a ranked list of videos. First, check where the channel can place a link. Second, name one link per video and placement. Third, install the pixel and connect billing.
Fourth, pick the attribution model and window. Fifth, create the links in bulk and test them. Finally, rank videos by MRR per 100 clicks.
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. Expect 2 placements per video, so 100 videos need 200 links in 2026.
Step 1: Where can your channel place a link?
A clickable link placement is a spot on YouTube where an external URL works as 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.
Of the 7 placements in the table, 5 accept a clickable external link in October 2026.
Per YouTube help pages, an end screen allows up to 4 elements, a video carries up to 5 info cards, and a channel profile accepts up to 14 links.
| 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.
How do you handle Shorts and the first lines of a description?
The related-video link is a clickable link on a Short that points at another YouTube video. A Short cannot hold a clickable external URL, so I would stop tagging Shorts.
Point the 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.
For example, a description that opens with the link and a 12-word reason gives mobile viewers the link before the fold, per YouTube Help (Google) in 2026.
Step 2: How do you 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.
The table gives a naming scheme with 4 fields for one video. First, lowercase every value. Second, reuse one slug per video in 2026.
| 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.
In practice, a video with 3 placements has 3 rows and 1 campaign total.
Step 3: How do you install the pixel and connect billing?
A tracking pixel is 1 script tag that reads the visitor ID the redirect hands over. Connect Stripe with a restricted, read-only key and add the pixel 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.
The table follows one invented viewer from the video to the second invoice: a click on day 0, a trial on day 5, a first $39 charge on day 19 and a renewal on day 49.
| 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.
Does the signup email also cover Safari?
Yes, the signup email is the identity left over when Safari deletes a cookie. John Wilander's WebKit post of March 24, 2020 recaps that Intelligent Tracking Prevention caps the expiry of client-side cookies at 7 days.
A cookie written by the pixel can vanish before a slow trial ends, because the 14-day trial in the example outlasts the 7-day cap by 7 days, and the cap covers only 50% of the trial.
First, bind the email at signup. Second, let the hourly Stripe sync match the email to the click. The day-19 charge of $39 then finds the day-0 click in 2026.
In practice, the email covers the Safari gap only for viewers who sign up with the same address they pay with.
Step 4: Which attribution model should you pick?
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, as the table shows: last touch gives 100% of the $39 to the newsletter, first touch gives 100% to the video, and linear gives 50% to each.
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.
| 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.
How long should the attribution window be?
An attribution window is the number of days a click can still earn credit for a payment. The window is a workspace setting from 1 to 365 days, and the window 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.
In the example, a 30-day window credits 19 of 20 customers, or 95%, and a 21-day window credits 18, or 90%. The one customer missed at 30 days paid after day 30, and a 45-day window credits all 20.
A 14-day window misses 25% of the 20 customers, so the slowest ordinary gap decides the setting in 2026.
| 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: How do you create the links in bulk and test them?
Bulk import is a CSV upload that creates many tracked links at once.
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 the destination 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. The 50 free links cover 10% of a full 500-row import. First, import the CSV.
Second, tap each link from the YouTube app on iOS and Android. Finally, confirm the click is logged in 2026.
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: How do you rank videos by MRR per 100 clicks?
MRR per 100 clicks is a video's monthly recurring revenue divided by its link clicks, times 100.
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 the customers renew, and a refund takes the refunded share back out.
Recheck your 5 oldest tutorials every quarter, because old videos keep collecting clicks.
How do you track creator and sponsor videos?
A creator link is a tracked link that belongs to one creator. 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 both in the brief (see affiliate program compliance).
TrackRev's affiliate program gives each partner a link and reports commissions against the same Stripe payments, from $29 a month. A promo code per creator catches viewers who type your name.
For example, a 20% commission on a $39 plan pays a creator $7.80 a month per customer. First, give the creator the link. Second, agree the disclosure wording. Finally, check the creator's report each month of 2026.
What can link tracking not see on YouTube?
Link tracking cannot see a viewer who watches, says nothing and searches your name 2 weeks later, because the viewer arrives as organic search or direct and 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.
For example, a form that shows 30 signups from YouTube against 20 tracked ones means 10 viewers, or 33% of the YouTube total, left no click. Then reconcile the answers using the guide to self-reported versus tracked attribution.
What does TrackRev do for YouTube attribution?
TrackRev is SaaS affiliate software with revenue attribution built in, and TrackRev 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 connection to Stripe or any of 5 other billing systems supplies the payments, and TrackRev sorts every link by the revenue it produced under the model you chose.
We built TrackRev so a creator-led SaaS can see revenue per video without a spreadsheet.
The free plan covers 50 links and 1,000 tracked events a month and shows clicks only.
Revenue figures need a paid plan: Indie is $29 a month for 1 workspace and 1 tracked domain, and Growth is $299 a year for up to 10 workspaces and 10 tracked domains.
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 sits outside the billing connections, and contracts with a sales cycle past a year 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 Billing, Polar, Lemon Squeezy, Creem and Dodo Payments, 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 founded TrackRev.io, SaaS affiliate software with no limit on tracked revenue, and Contant.io. He writes about affiliate programs.
Writes about Marketing attribution · Link tracking · Revenue analytics · SaaS growth
Run your affiliate program without a revenue cap.
Affiliate software for indie hackers and small SaaS teams: $29 a month flat, 0% fees, link tracking and revenue attribution built in. Free to start, no card.