UTM Tracking for SaaS Revenue: Complete Setup Guide
UTM tracking uses five URL parameters — source, medium, campaign, term, and content — to identify exactly which marketing effort drove a website visit. When combined with revenue attribution, UTMs let SaaS founders trace every dollar of MRR back to the specific email, ad, or social post that started the customer journey.
Most SaaS founders have heard of UTM parameters. Many use them sporadically — adding ?utm_source=twitter to a link here and there. But few use them systematically enough to actually answer the question that matters: "Which of my marketing efforts are generating revenue?"
This guide covers the fundamentals, establishes naming conventions built for SaaS, and shows how to connect UTM data to actual payments.
UTM parameter basics
UTM stands for Urchin Tracking Module, named after Urchin Software (acquired by Google in 2005 to become Google Analytics). UTM parameters are query strings appended to URLs that tell your analytics tool where a click came from.
There are five standard UTM parameters:
utm_source
What it identifies: The platform or website sending the traffic.
Examples: google, twitter, newsletter, producthunt, partner-acme
Rule: This should answer "where did the click physically happen?" The user was on Google, on Twitter, or in their email inbox reading your newsletter.
utm_medium
What it identifies: The marketing channel or mechanism.
Examples: cpc (cost per click), email, social, referral, affiliate, banner
Rule: This should answer "what type of marketing is this?" Paid search, organic social, email marketing, etc. Medium categorizes the type of effort, while source identifies the specific platform.
utm_campaign
What it identifies: The specific campaign, promotion, or initiative.
Examples: spring-launch-2026, onboarding-drip-3, black-friday, hn-launch
Rule: This should answer "which specific effort is this part of?" Campaign names should be descriptive enough that you remember what they refer to six months later.
utm_term
What it identifies: The paid keyword or targeting term (originally for paid search).
Examples: analytics+tool, stripe+revenue+tracking, plausible+alternative
Rule: Primarily used for paid search campaigns to identify which keyword triggered the ad. For SaaS, it is also useful for A/B testing subject lines or ad copy variations.
utm_content
What it identifies: The specific creative or link variation within a campaign.
Examples: hero-cta, sidebar-banner, footer-link, blue-button, text-link
Rule: Used to differentiate between multiple links in the same campaign. If your newsletter has three links to your landing page, use utm_content to identify which link was clicked.
A complete UTM example
Here is a fully tagged URL for a link in an email campaign:
https://datasaas.co/features/revenue-attribution
?utm_source=newsletter
&utm_medium=email
&utm_campaign=onboarding-drip-3
&utm_content=main-cta-button
This URL tells your analytics tool: "This visitor came from our newsletter, via email, as part of the third onboarding drip email, and they clicked the main CTA button."
When this visitor later subscribes to your SaaS product, revenue attribution connects their payment back to this specific email in this specific drip sequence. You now know that onboarding email #3 contributes to revenue — and you can compare its performance to emails #1, #2, #4, and #5.
Naming conventions for SaaS
Inconsistent UTM naming is the number one reason UTM tracking fails. If one team member tags a link with utm_source=Twitter and another uses utm_source=twitter and a third uses utm_source=x, your analytics will show three separate sources instead of one.
Here is a naming convention designed for SaaS companies:
General rules
- Always lowercase —
twitternotTwitter. Analytics tools are case-sensitive. Mixed case creates duplicate entries. - Use hyphens, not spaces or underscores —
black-fridaynotblack_fridayorblack friday. Hyphens are URL-safe and readable. - Be specific but concise —
onboarding-drip-3is better thanemail3(too vague) orcustomer-onboarding-email-sequence-number-three(too long). - Include dates for time-bound campaigns —
spring-launch-2026-04not justspring-launch. You will run another spring launch next year. - Document everything — maintain a shared document (Google Sheet, Notion page, or README) listing every UTM combination your team uses. This is the single most important step.
Recommended source values for SaaS
| Source value | Use for |
|---|---|
| google | Google Ads, Google organic (though organic usually does not need UTMs) |
| twitter | Twitter / X posts and ads |
| linkedin | LinkedIn posts and ads |
| facebook | Facebook and Instagram ads |
| newsletter | Your own email newsletter |
| producthunt | Product Hunt launches |
| reddit | Reddit posts and ads |
| youtube | YouTube video descriptions and cards |
| partner-{name} | Partner and co-marketing links, e.g., partner-acme |
| affiliate-{name} | Affiliate links, e.g., affiliate-johndoe |
Recommended medium values for SaaS
| Medium value | Use for |
|---|---|
| cpc | Paid search (Google Ads, Bing Ads) |
| paid-social | Paid social media ads |
| social | Organic social media posts |
| email | Email campaigns (newsletter, drip sequences, transactional) |
| referral | Partner referral links |
| affiliate | Affiliate links |
| display | Banner ads |
| video | YouTube, Vimeo, embedded video links |
See which campaigns drive revenue
DataSaaS tracks UTM parameters through to payment. See RPV and conversion rates for every campaign, source, and medium. Plans start at $7.99/mo.
Try DataSaaS freeHow UTMs connect to revenue attribution
UTM parameters by themselves tell you which campaign brought a visitor. Revenue attribution tells you which campaign brought a paying customer. The combination is where the real value lies.
Here is how the flow works with DataSaaS revenue attribution:
- Visitor clicks a UTM-tagged link — e.g., from your newsletter with
utm_source=newsletter&utm_medium=email&utm_campaign=onboarding-drip-3 - DataSaaS captures the UTM parameters and stores them on the visitor's session. These are preserved even if the visitor navigates to other pages.
- Visitor signs up — the UTM data from their first touch (or most recent touch, depending on your attribution model) is stored on their visitor profile.
- Visitor subscribes via Stripe — DataSaaS matches the Stripe customer to the visitor profile and attributes the revenue to the original UTM parameters.
- You see revenue by campaign — your dashboard shows that
onboarding-drip-3generated $847 in MRR from 12 conversions.
This is the connection that traditional analytics tools cannot make. Google Analytics can tell you that 200 people clicked your newsletter link. It cannot tell you that those 200 clicks resulted in $847 in MRR. That requires native payment provider integration.
First-touch vs. last-touch attribution
When a visitor interacts with multiple UTM-tagged links before converting, which campaign gets the credit?
- First-touch attribution credits the campaign that originally brought the visitor to your site. This favors awareness channels — the blog post, tweet, or ad that introduced the visitor to your product.
- Last-touch attribution credits the campaign that immediately preceded the conversion. This favors bottom-of-funnel channels — the retargeting ad, onboarding email, or pricing page CTA.
For most SaaS companies, first-touch attribution is more useful for understanding which channels discover customers, while last-touch is more useful for understanding which channels close them. DataSaaS stores the full journey, so you can analyze both.
Tracking email campaigns with UTMs
Email is often the highest-converting channel for SaaS companies. Proper UTM tagging ensures you can measure exactly how much revenue each email generates.
Newsletter issues
utm_source=newsletter
utm_medium=email
utm_campaign=weekly-2026-05-05
utm_content=feature-announcement
Tag every link in every newsletter issue. Use the campaign parameter to identify the specific issue (a date-based naming convention works well for recurring newsletters). Use content to differentiate between multiple links in the same issue.
Onboarding drip sequences
utm_source=onboarding
utm_medium=email
utm_campaign=trial-drip-{number}
utm_content=main-cta
Onboarding emails are some of the most valuable emails a SaaS company sends. Tagging each step in the drip sequence lets you identify which email in the sequence drives the most trial-to-paid conversions.
Transactional and product emails
utm_source=app
utm_medium=email
utm_campaign=weekly-digest
utm_content=upgrade-prompt
Even product emails (weekly reports, usage summaries, upgrade prompts) should be tagged. You may discover that your weekly usage report email drives more upgrades than your dedicated marketing campaigns.
Tracking social media posts with UTMs
Social media tracking requires a balance between thoroughness and practicality. You do not need to tag every tweet, but you should tag any post where you are deliberately driving traffic.
Organic social posts
utm_source=twitter
utm_medium=social
utm_campaign=product-update-2026-05
utm_content=thread-link-1
For planned social campaigns (product launches, feature announcements, promotional threads), tag every link. For casual posts, tagging is optional — but recommended if you want to compare social channels against each other.
Paid social ads
utm_source=twitter
utm_medium=paid-social
utm_campaign=retargeting-trial-users
utm_content=testimonial-ad-v2
Always tag paid social links. The content parameter is particularly useful here for A/B testing ad creatives. You can see not just whether Twitter ads drive revenue, but which specific ad creative performs best.
Tracking partnerships and affiliates
Partnerships and affiliate programs are common SaaS growth channels. UTMs make them measurable.
Partner co-marketing
utm_source=partner-acme
utm_medium=referral
utm_campaign=webinar-cohost-2026-05
When a partner promotes your product (in a blog post, webinar, or email), provide them with pre-tagged links. The source identifies the specific partner, making it easy to calculate the revenue each partnership generates.
Affiliate links
utm_source=affiliate-johndoe
utm_medium=affiliate
utm_campaign=youtube-review
Affiliate links should include the affiliate's identifier in the source parameter. This lets you see which affiliates drive the most revenue, not just the most clicks.
Track UTMs through to revenue
DataSaaS captures UTM parameters and connects them to Stripe payments. See exactly which campaigns generate MRR. Start at $7.99/mo.
Try DataSaaS freeCommon UTM mistakes and how to avoid them
Mistake 1: Inconsistent naming
The problem: utm_source=Twitter, utm_source=twitter, and utm_source=x.com all appear as separate sources in your analytics. Your Twitter traffic is split across three entries, and the data is unreliable.
The fix: Establish a naming convention (see above) and document it in a shared, easy-to-find location. Enforce it with a URL builder tool or template that pre-populates source and medium values.
Mistake 2: No naming convention document
The problem: You remember your UTM convention. Your co-founder does not. Your freelance marketer invents their own. Three months later, your campaign data is a mess of inconsistent names.
The fix: Create a simple shared document — a Google Sheet with columns for source, medium, campaign, and a description of when to use each value. Update it every time you add a new source or campaign type. This document is more important than the UTMs themselves.
Mistake 3: Tagging internal links with UTMs
The problem: You add UTM parameters to links within your own website (e.g., a banner on your homepage linking to a feature page). This overwrites the visitor's original UTM data, making it look like the visitor came from an "internal" campaign instead of their actual source.
The fix: Never use UTM parameters on internal links. UTMs are for external traffic sources only. If you want to track internal link clicks, use event tracking instead.
Mistake 4: Over-tagging organic channels
The problem: You add utm_source=google&utm_medium=organic to pages that rank in search results. This is redundant — analytics tools already identify organic search traffic automatically. Worse, it can interfere with how the tool classifies the traffic.
The fix: Only use UTMs for links you control. Search engine results pages, direct bookmarks, and organic referral links should not be tagged. Use UTMs for emails, social posts, ads, and partner links — places where you construct the URL yourself.
Mistake 5: Forgetting to tag links in the most important places
The problem: You meticulously tag your ad links but forget to tag the links in your onboarding emails, your changelog posts, and your podcast show notes. These unglamorous touchpoints often drive more conversions than ads.
The fix: Audit every place where you link to your website from an external context. Prioritize by conversion potential: onboarding emails, newsletter, documentation CTAs, conference slides, and podcast descriptions often outperform paid channels for SaaS companies.
UTM tracking for specific SaaS scenarios
Beyond the common channels, here are UTM strategies for scenarios that SaaS companies frequently encounter.
Product Hunt launches
Product Hunt is a one-time (or infrequent) event that can drive significant traffic. Tag every link you share during the launch:
utm_source=producthunt
utm_medium=social
utm_campaign=launch-2026-05
utm_content=maker-comment
Use utm_content to differentiate between traffic from your main listing, your maker comments, and any cross-promotional posts you make on other platforms linking back to your PH page. After the launch, you will see not just how many visitors Product Hunt sent, but how much revenue those visitors generated in the following weeks and months.
Conference and event links
When you speak at a conference, include links in your slides and handouts:
utm_source=saasconf-2026
utm_medium=event
utm_campaign=talk-revenue-analytics
utm_content=slide-deck-link
Conference traffic is notoriously hard to measure because attendees often visit days or weeks after the event. UTM-tagged slide deck links give you a persistent tracking mechanism that works regardless of when the attendee clicks.
Documentation and changelog
Your product documentation and changelog are underappreciated marketing channels. Existing users who read your changelog are often your most likely upgraders. Tag links that point from docs to marketing pages:
utm_source=changelog
utm_medium=product
utm_campaign=feature-launch-visitor-id
This helps you measure the revenue impact of new feature announcements and documentation improvements.
Building a UTM system that scales
As your SaaS grows, your UTM tracking needs to scale with it. Here is a practical system:
-
Create a naming convention document — one page, accessible to everyone who creates marketing links. Include approved values for source, medium, and campaign naming patterns.
-
Use a URL builder — Google's Campaign URL Builder works, but a simple spreadsheet template is often more practical. Pre-populate source and medium dropdowns to prevent inconsistencies.
-
Review campaign data monthly — open your analytics dashboard and check for inconsistencies. If you see
twitterandTwitteras separate sources, fix the naming convention and update your documentation. -
Connect UTMs to revenue — UTM tracking without revenue attribution is just a fancier version of traffic counting. Connect your payment provider to see which campaigns generate actual MRR, not just clicks.
-
Archive old campaign names — when a campaign ends, move its entry to an "archived" section in your naming document. This prevents reuse of old campaign names and keeps your active list clean.
The bottom line
UTM parameters are simple technology — just query strings on a URL. But when used consistently and connected to revenue data, they become one of the most powerful tools in a SaaS founder's marketing toolkit.
The key is not the parameters themselves but the system around them: a naming convention, a shared document, and an analytics tool that traces UTMs all the way through to payment.
Without revenue connection, UTMs tell you which campaigns drive clicks. With revenue connection, UTMs tell you which campaigns drive MRR. For a SaaS company, that distinction is everything.
Related reading:
- Revenue Attribution Analytics — how DataSaaS connects UTM data to Stripe payments
- How to Track Which Marketing Channel Drives Revenue — end-to-end setup guide for channel-level attribution
- DataSaaS for SaaS Companies — UTM tracking, revenue attribution, and visitor identification for SaaS teams