Skip to main content
The UTM Report provides detailed analysis of your UTM campaign parameters, helping you track and measure the effectiveness of your marketing campaigns. This is essential for understanding which campaigns, sources, and content variations drive traffic and engagement.

What is a UTM Report?

UTM (Urchin Tracking Module) parameters are tags added to URLs that help you track where your traffic comes from. The UTM Report shows:
  • Traffic breakdown by UTM parameter
  • Page views for each campaign parameter
  • Which campaigns drive the most engagement
  • Performance comparison across sources, mediums, and campaigns

UTM Parameters

Umami tracks five standard UTM parameters:

utm_source

Identifies the traffic source (e.g., google, newsletter, facebook)

utm_medium

Identifies the marketing medium (e.g., cpc, email, social)

utm_campaign

Identifies the specific campaign (e.g., spring_sale_2024)

utm_content

Differentiates similar content or ads (e.g., banner_a, text_ad)

utm_term

Identifies paid search keywords (e.g., privacy_analytics)

How UTM Tracking Works

1

Add UTM Parameters to URLs

Tag your marketing links with UTM parameters before sharing them.
https://yoursite.com/landing?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale
2

Users Click Tagged Links

When users click your tagged links, Umami captures the UTM parameters.
3

Parameters are Tracked

UTM parameters are stored with each page view during the user’s session.
4

Generate Reports

The UTM Report aggregates page views by each parameter value.
UTM parameters persist throughout a user’s session, so you only need to tag the entry link, not every link in your content.
https://yoursite.com/page?utm_source=SOURCE&utm_medium=MEDIUM&utm_campaign=CAMPAIGN

Examples by Marketing Channel

Newsletter Link:
https://yoursite.com/blog/new-post?
  utm_source=newsletter&
  utm_medium=email&
  utm_campaign=weekly_digest_2024&
  utm_content=featured_article
Promotional Email:
https://yoursite.com/sale?
  utm_source=mailchimp&
  utm_medium=email&
  utm_campaign=spring_sale_2024&
  utm_content=hero_banner
Use utm_content to track which links or sections of your email drive the most clicks.

API Usage

curl -X POST https://your-umami-instance.com/api/reports/utm \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "websiteId": "your-website-id",
    "parameters": {
      "startDate": "2024-01-01T00:00:00Z",
      "endDate": "2024-01-31T23:59:59Z"
    },
    "filters": {}
  }'

Response Format

The API returns data for all five UTM parameters:
{
  "utm_source": [
    { "utm": "newsletter", "views": 3450 },
    { "utm": "facebook", "views": 2890 },
    { "utm": "google", "views": 2145 }
  ],
  "utm_medium": [
    { "utm": "email", "views": 3450 },
    { "utm": "cpc", "views": 2890 },
    { "utm": "social", "views": 2145 }
  ],
  "utm_campaign": [
    { "utm": "spring_sale_2024", "views": 5234 },
    { "utm": "product_launch", "views": 2890 }
  ],
  "utm_content": [
    { "utm": "banner_a", "views": 1890 },
    { "utm": "text_ad", "views": 1456 }
  ],
  "utm_term": [
    { "utm": "web analytics", "views": 456 },
    { "utm": "privacy analytics", "views": 234 }
  ]
}

Use Cases and Insights

Compare Campaign Effectiveness

Use utm_campaign to compare different marketing initiatives.Questions to answer:
  • Which campaigns drive the most traffic?
  • Are seasonal campaigns effective?
  • Which campaigns have the best ROI?
  • Should we extend or end a campaign?
Example analysis:
Campaign Performance:
- spring_sale_2024: 5,234 views
- product_launch: 2,890 views
- weekly_newsletter: 3,450 views

Insight: Weekly newsletter drives consistent traffic.
Spring sale was the most successful campaign.
Combine UTM Report with Goal or Revenue Reports to see which campaigns drive actual conversions, not just traffic.

UTM Naming Conventions

Establish consistent naming conventions for your team:

Best Practices

Use Lowercase

Always use lowercase to avoid duplicate entries (Newsletter vs newsletter)

Use Underscores

Separate words with underscores (spring_sale not spring-sale or springsale)

Be Descriptive

Use clear, meaningful names (email_newsletter not nl)

Stay Consistent

Document your conventions and enforce them across your team
// utm_source: Where traffic comes from
Format: platform_or_partner_name
Examples: facebook, google, newsletter, affiliate_john

// utm_medium: Marketing channel type
Format: channel_type
Examples: email, cpc, social, referral, display

// utm_campaign: Specific campaign or initiative
Format: name_timeframe or theme_name
Examples: spring_sale_2024, product_launch_v2, weekly_newsletter

// utm_content: Content or ad variation
Format: descriptive_identifier
Examples: banner_a, hero_cta, footer_link, video_tutorial

// utm_term: Keywords (paid search)
Format: keyword_phrase
Examples: privacy_analytics, web_analytics_tool
Create a shared spreadsheet or document with your UTM naming conventions that all team members can reference.

Common UTM Mistakes to Avoid

Problem: Using different capitalizations creates duplicate entries.Example:
  • utm_source=Newsletter (150 views)
  • utm_source=newsletter (200 views)
  • utm_source=NEWSLETTER (50 views)
Solution: Always use lowercase.
Problem: Special characters can break URLs or get encoded.Bad: utm_campaign=Spring Sale! (2024)Good: utm_campaign=spring_sale_2024Solution: Use only letters, numbers, and underscores.
Problem: Using only some parameters makes tracking inconsistent.Minimum required: utm_source, utm_medium, utm_campaignSolution: Always include at least these three parameters.
// Minimum:
utm_source=facebook&utm_medium=cpc&utm_campaign=spring_sale

// Better (with optional parameters):
utm_source=facebook&utm_medium=cpc&utm_campaign=spring_sale&utm_content=banner_a

UTM Builder Tools

Create properly formatted UTM links using these approaches:

Manual Building

const baseUrl = 'https://yoursite.com/landing';
const params = {
  utm_source: 'newsletter',
  utm_medium: 'email',
  utm_campaign: 'spring_sale_2024',
  utm_content: 'hero_cta'
};

const utmUrl = baseUrl + '?' + new URLSearchParams(params).toString();
// Result: https://yoursite.com/landing?utm_source=newsletter&utm_medium=email...

Using Google’s Campaign URL Builder

Google provides a free UTM builder tool that validates your parameters and generates clean URLs.
Search for “Google Campaign URL Builder” or use ga-dev-tools.google to access Google’s official UTM builder.

Analyzing UTM Data

Calculate Campaign ROI

// Example: Email campaign ROI
const emailViews = 3450; // from UTM report
const emailConversions = 173; // from Goal report filtered by utm_medium=email
const campaignCost = 500; // your cost
const revenuePerConversion = 50; // average order value

const conversionRate = (emailConversions / emailViews) * 100; // 5%
const totalRevenue = emailConversions * revenuePerConversion; // $8,650
const roi = ((totalRevenue - campaignCost) / campaignCost) * 100; // 1,630% ROI

Compare Channel Performance

// Get traffic by channel
const channels = {
  email: 3450,
  cpc: 2890,
  social: 2145
};

const totalTraffic = Object.values(channels).reduce((a, b) => a + b, 0);

// Calculate channel mix
for (const [channel, views] of Object.entries(channels)) {
  const percentage = (views / totalTraffic * 100).toFixed(1);
  console.log(`${channel}: ${percentage}% of traffic`);
}

Best Practices

  1. Always use lowercase: Prevents duplicate entries
  2. Document your conventions: Share standards with your team
  3. Use link shorteners carefully: Ensure they preserve UTM parameters
  4. Test your links: Click them before launching campaigns
  5. Review reports regularly: Weekly analysis helps catch issues early
  6. Combine with other reports: Use with Attribution, Goal, and Revenue reports for complete picture
UTM parameters are visible in URLs. Don’t include sensitive information in your parameter values.

Troubleshooting

Check:
  • Parameters are properly formatted in URL
  • No spaces or special characters
  • Users actually clicked the tagged links
  • Ad blockers aren’t stripping parameters
Test: Click your tagged link and verify parameters appear in the browser URL bar.
Cause: No UTM parameters on the linkSolution: Ensure all campaign links are properly tagged before sharing.

Next Steps

Attribution Report

See how UTM campaigns contribute to conversions

Goal Tracking

Measure conversions from your UTM-tagged campaigns

Build docs developers (and LLMs) love