Imagine spending R$ 50,000 on a launch, making 247 sales and not knowing where they came from. Without tracking, you know you sold, but you do not know why. You do not know which ad brought the buyers, which email drove the most clicks, which organic channel actually converted. This scenario is more common than it seems, and the solution is something simple most people ignore: UTM parameters.
In this guide, we cover everything you need to structure, implement and analyze UTMs so that every real spent on your launch can be tracked from the first click to the final conversion.
What UTM parameters are and why they matter
UTM (Urchin Tracking Module) parameters are tags added to the end of a URL that identify the exact origin of each visitor. When someone clicks a link with UTMs, that information is captured by your analytics tool and your funnel system, so you can attribute each lead and each sale to its original source.
Without UTMs, your analytics shows generic data: "direct traffic", "referral", "social". With UTMs, you see exactly: "Facebook Ads, retargeting campaign, creative with Maria's testimonial, buyer lookalike audience". The difference between the two scenarios is the difference between guessing and knowing.
Back to the opening example (R$ 50,000 in traffic spend and 247 sales), imagine the team finds out, too late, that it cannot attribute 68% of sales to a specific source. The result: in the next launch, nobody knows where to invest more and where to cut. UTMs would have solved that problem from the first click.
Anatomy of a UTM: the 5 components
Each URL with UTMs can hold up to 5 parameters. Understanding the role of each one is essential to build a consistent structure:
utm_source: identifies the platform or channel the traffic comes from.
Examples: facebook, google, instagram, email, telegram, youtube, tiktok
utm_medium: defines the type of media or delivery mechanism.
Examples: cpc (cost per click), cpm (cost per thousand), email, social, organic, affiliate, stories
utm_campaign: names the specific campaign.
Examples: lc-python-2026-jan, open-cart-retargeting, cpl-01-warmup, email-sequence-d7
utm_content: tells creatives or variations apart within the same campaign.
Examples: testimonial-video-maria, carousel-3-benefits, email-subject-urgency, red-cta-button
utm_term: originally meant for paid search keywords, but can be used for extra segmentation.
Examples: buyer-lookalike-1pct, interest-digital-marketing, retargeting-7days, cold-audience-25-44
A full URL with UTMs looks like this:
https://yoursite.com/capture?utm_source=facebook&utm_medium=cpc&utm_campaign=lc-python-2026-jan&utm_content=testimonial-video-maria&utm_term=buyer-lookalike-1pct
Naming conventions: the secret of consistency
The biggest cause of messy UTM data is not the lack of use: it is the lack of a standard. Without clear conventions, you end up with 14 variations for the same source: "Facebook", "facebook", "fb", "face", "Facebook Ads", "meta", "Meta Ads", "facebook-ads". They all mean the same thing, but show up as different sources in analytics.
Mandatory rules to keep your data sane:
- Always lowercase:
facebook, neverFacebookorFACEBOOK. UTMs are case-sensitive: "Facebook" and "facebook" are treated as different sources. - Hyphens instead of spaces:
testimonial-video-maria, nevertestimonial video mariaortestimonial_video_maria. Spaces become%20in the URL and make it harder to read. - Descriptive and standardized:
lc-python-2026-janis better thancampaign1orlaunch. Include the product, year and month to make historical analysis easier. - Time-based when relevant: for dated campaigns, include the period:
cpl-01-week1,retargeting-d3,email-sequence-d7. - Central spreadsheet: keep a single spreadsheet where the whole team logs the UTMs before creating any link. Columns: destination URL, source, medium, campaign, content, term, owner, creation date.
Structured examples for each channel
Here are ready-made examples for the most common channels in a digital launch:
Facebook Ads ad:
utm_source=facebook
utm_medium=cpc
utm_campaign=lc-copywriting-2026-jan
utm_content=testimonial-video-carlos-60s
utm_term=buyer-lookalike-2pct
Pre-launch sequence email:
utm_source=email
utm_medium=email
utm_campaign=lc-copywriting-2026-jan
utm_content=cpl-02-email-d3-scarcity-subject
utm_term=engaged-list-90days
Instagram story (organic):
utm_source=instagram
utm_medium=stories
utm_campaign=lc-copywriting-2026-jan
utm_content=story-cart-opening-countdown
Telegram group message:
utm_source=telegram
utm_medium=social
utm_campaign=lc-copywriting-2026-jan
utm_content=vip-group-message-live-reminder
Affiliate/partner link:
utm_source=partner-joao-silva
utm_medium=affiliate
utm_campaign=lc-copywriting-2026-jan
utm_content=blog-post-course-review
Most common mistakes (and how to avoid them)
1. Inconsistent naming
Imagine a launch audit that finds 14 variations for Facebook as a source: "facebook", "Facebook", "fb", "face", "facebook-ads", "meta", "Meta", "meta-ads", "Facebook Ads", "FB", "fb-ads", "face-ads", "facebooks", "facebok". Each one shows up as a separate source in analytics, making it impossible to consolidate the data. Solution: a central spreadsheet + naming documented before the launch.
2. Missing UTMs on email links
This is the most expensive mistake. When the links in your emails have no UTMs, the traffic shows up as "direct" in analytics. To get a sense of the size of the problem: in an illustrative scenario, between 35% and 50% of the traffic classified as "direct" could actually come from emails without UTMs. Every link in every email must have UTMs, no exceptions.
3. Not testing links before publishing
A typo in the UTM, utm_souce instead of utm_source, breaks the tracking of that parameter. Always click the final link and check that the parameters show up correctly in the address bar and in your analytics tool.
4. Using UTMs in the site's internal navigation
UTMs should only be used on external links that bring traffic to your site. If you put UTMs on internal links (from one page of the site to another), each internal click starts a new session in analytics, breaking the original attribution. The visitor who came from Facebook starts showing up as "utm_source=internal-site".
5. Not shortening URLs with UTMs
URLs with UTMs are long and ugly. On channels where the URL is visible (Telegram, WhatsApp, Instagram bio), use a shortener that keeps the parameters. Long links with visible parameters lower the click rate and look like spam.
Tools to generate and manage UTMs
Kiron Funnels: a UTM generator built into the funnel system. Parameters are captured automatically when the lead enters the funnel, with no extra setup. Attribution follows the contact from capture to sale, through every stage of the funnel.
Google Campaign URL Builder: Google's free tool to generate URLs with UTMs. It works well for beginners, but you have to copy and paste each generated URL by hand.
Central spreadsheet: whatever the tool, keep a spreadsheet (Google Sheets or similar) with every UTM link of the launch. Include: final URL, all 5 parameters, channel, owner and creation date. That spreadsheet is the definitive record and prevents duplication or inconsistency.
Analyzing the data: from UTMs to decisions
With well-structured UTMs, post-launch analysis becomes extremely powerful. These are the kinds of analysis that become possible:
Conversion by traffic source
| Source | Leads | Sales | Conversion rate | Cost per sale |
|---|---|---|---|---|
| Facebook Ads | 18,500 | 112 | 0.61% | R$ 178 |
| 28,000 | 156 | 0.56% | R$ 2.80 | |
| Telegram | 4,200 | 89 | 2.12% | R$ 0 |
| Organic Instagram | 6,800 | 34 | 0.50% | R$ 0 |
| YouTube | 3,100 | 22 | 0.71% | R$ 0 |
| Affiliates | 2,400 | 18 | 0.75% | R$ 54 |
In this illustrative example, Telegram had the highest conversion rate (2.12%) at zero acquisition cost. That data point alone justifies tripling the investment in building a Telegram community for the next launch.
Analysis by campaign (utm_campaign)
Compare the performance of each launch phase: warm-up, CPLs, cart opening, retargeting, close. Find which phase brought the most buyers and which wasted the most.
Creative performance (utm_content)
By using utm_content to tell creatives apart, you find out which video, which copy, which ad format actually drives sales, not just clicks. One creative may have a high CTR but low conversion, while another has a modest CTR but converts 3x more.
Time analysis
Cross the UTM data with the conversion date. Find the average time between the first click (capture) and the purchase. If Facebook leads take 8 days on average to buy and email leads buy in 2 days, your retargeting strategy needs to account for those different windows.
Conclusion: UTMs are the basis of all attribution
Without UTMs, every launch analysis is superficial. With well-structured UTMs, you know exactly where each real spent paid off, and where it was wasted. The difference between a launch that grows every cycle and one that stalls lies in the quality of the attribution data.
Start with the basics: define your conventions, create the central spreadsheet, train the team. From there, each launch produces data that feeds the next, creating a virtuous cycle of continuous optimization.
Want to capture UTMs automatically on every lead? Kiron Funnels tracks UTM parameters from the first click, connecting each contact to its original source across the whole funnel, from capture to sale, with no manual setup.