How to Use UTM Parameters to Track Your Marketing Campaigns
You have spent thousands of dollars on marketing across email, social media, paid ads, and partnerships. Traffic is coming to your website. But can you tell exactly which campaigns are driving that traffic and, more importantly, which campaigns are driving conversions? If you are not using UTM parameters consistently, the honest answer is probably no. Understanding how to use UTM parameters is one of the simplest yet most impactful skills in digital marketing.
UTM parameters are small text tags appended to your URLs that tell analytics tools exactly where your traffic is coming from. They bridge the gap between your marketing activities and your analytics data, enabling you to attribute every website visit, lead, and sale to its source campaign with precision. Without them, a significant portion of your traffic appears as “direct” or “unattributed” in Google Analytics, leaving you guessing about what is actually working.
This guide covers everything you need to know about UTM parameters, from the basics of each parameter type through to advanced naming conventions, GA4 reporting, and the common mistakes that undermine even well-intentioned tracking efforts. By the end, you will have a complete UTM strategy that gives you clear, accurate data on every marketing campaign you run.
What Are UTM Parameters and How Do They Work
UTM stands for Urchin Tracking Module, named after Urchin Software Corporation, the company that developed the tracking methodology before being acquired by Google and eventually becoming Google Analytics. UTM parameters are query string tags that you append to the end of a URL. When a user clicks a link with UTM parameters, those tags are sent to your analytics platform, which records them alongside the visit data.
A URL with UTM parameters looks like this: https://www.example.com/landing-page?utm_source=facebook&utm_medium=paid-social&utm_campaign=spring-sale-2026. The portion after the question mark contains the UTM parameters, each consisting of a parameter name (like utm_source) and a value (like facebook) connected by an equals sign. Multiple parameters are separated by ampersands.
When a user clicks this link and arrives on your website, Google Analytics 4 (or any analytics platform that supports UTM parameters) reads the tags and attributes the session to the specified source, medium, and campaign. This data then appears in your traffic acquisition reports, allowing you to see exactly how many sessions, conversions, and revenue each campaign generated.
UTM parameters only work on links that bring users to your website from external sources. You should never use UTM parameters on internal links within your own website, as this will overwrite the original source attribution and corrupt your data. For example, if a user arrives via a Facebook ad and then clicks an internal link with UTM parameters, the session will be incorrectly reattributed to the internal link’s source.
The Five UTM Parameters Explained
There are five UTM parameters, three of which are required and two of which are optional. Understanding the purpose and proper use of each parameter is essential for building a tracking system that provides meaningful, actionable data.
utm_source (required) identifies where the traffic is coming from. This is the referral source: the platform, website, or publication that sends users to your site. Examples include facebook, google, linkedin, newsletter, straits-times, or partner-website. The source tells you which platform or publisher is driving traffic.
utm_medium (required) identifies the marketing medium or channel type. This categorises the type of traffic at a higher level than the source. Examples include paid-social, organic-social, email, cpc, display, referral, or affiliate. The medium tells you what type of marketing effort drove the traffic. Using consistent medium values is critical because GA4 uses them to group traffic into its default channel groupings.
utm_campaign (required) identifies the specific campaign, promotion, or initiative. This is where you name the particular marketing effort. Examples include spring-sale-2026, product-launch-webinar, monthly-newsletter-march, or brand-awareness-q1. The campaign name tells you which specific initiative drove the traffic.
utm_term (optional) identifies the paid search keyword or targeting criteria. This parameter was originally designed for paid search to track which keywords triggered your ad. It can also be used for other purposes, such as identifying the audience segment or targeting criteria in social ads. Examples include running-shoes, cmo-audience, or retargeting-cart-abandoners.
utm_content (optional) differentiates similar content or links within the same campaign. This is used for A/B testing or when a single campaign includes multiple links or ad variations. Examples include hero-banner, sidebar-cta, version-a, blue-button, or video-ad. The content parameter tells you which specific creative or link placement drove the click.
Naming Conventions and Taxonomy
Inconsistent naming is the single biggest problem with UTM tracking. If one team member tags a Facebook campaign as “facebook” and another uses “Facebook” or “fb” or “FB,” your analytics will show four separate sources instead of one. Establishing and enforcing a clear naming convention before you start tagging is absolutely essential.
Use lowercase for all UTM values. UTM parameters are case-sensitive in GA4, meaning “Facebook” and “facebook” will appear as two different sources. Using all lowercase eliminates this problem entirely. Set a firm rule: no capital letters in UTM parameters, ever.
Use hyphens instead of spaces or underscores. Spaces in URLs are converted to “%20” which is ugly and confusing. Underscores work but are less readable. Hyphens are universally used in URL conventions and provide the cleanest, most readable parameter values. “spring-sale-2026” is cleaner than “spring_sale_2026” or “spring%20sale%202026.”
Create a standardised list of approved values for source and medium parameters. This list should be documented and shared with everyone who creates UTM-tagged links. For sources, define a single approved name for each platform: facebook (not fb, FB, or Facebook), google (not Google), linkedin (not LinkedIn or linked-in), newsletter (not email-newsletter or nl). For mediums, align with GA4’s default channel groupings where possible: email, cpc, paid-social, organic-social, display, referral, affiliate.
For campaign names, use a structured format that encodes key information. A good format is: [initiative]-[description]-[date or quarter]. For example, “promo-cny-sale-jan2026” or “launch-new-product-q2-2026.” This structure makes it easy to filter and group campaigns in your reports. Document your campaign naming convention in your UTM guide so that all team members follow the same format.
Create a UTM tracking spreadsheet or database where all tagged URLs are logged. This serves as a central reference, prevents duplicate or inconsistent tagging, and makes it easy to audit your UTM usage over time. Include columns for the full URL, each UTM parameter value, the date created, and the team member responsible. This disciplined approach to tracking complements your broader digital marketing services strategy.
Building UTM URLs Step by Step
Now that you understand the parameters and have your naming conventions in place, it is time to build UTM-tagged URLs. There are several tools available, from Google’s own Campaign URL Builder to more sophisticated options that enforce your naming conventions automatically.
The Google Campaign URL Builder (found at ga-dev-tools.google/ga4/campaign-url-builder/) is the simplest way to create UTM-tagged URLs. Enter your website URL, fill in the parameter values, and the tool generates the complete tagged URL. Copy this URL and use it wherever you want to track traffic from a specific campaign.
For teams that create tagged URLs frequently, consider using a spreadsheet-based URL builder. Create a Google Sheet with columns for the base URL, each UTM parameter, and a formula column that concatenates them into the final URL. This approach is faster than using the web-based builder for bulk URL creation and keeps a record of every tagged URL you create.
Follow these steps for each URL you create. First, determine the base URL, which is the specific page you want to send traffic to. This should be the actual landing page URL, not your homepage (unless you specifically want to drive traffic to the homepage). Second, add the three required parameters: source, medium, and campaign. Use your approved naming convention values. Third, add optional parameters (term and content) if they provide useful additional tracking granularity. Fourth, test the tagged URL by clicking it and verifying that the page loads correctly and the parameters appear in GA4’s real-time reports.
When creating URLs for use in environments where long URLs look unprofessional (such as social media posts, printed materials, or SMS), use a URL shortener to create a clean short link. Tools like Bitly, Rebrandly, or Short.io create short URLs that redirect to your full UTM-tagged URL. The UTM parameters are still captured when the user is redirected. For QR codes, use the full UTM-tagged URL as the QR code destination; the user never sees the long URL.
Always verify your tagged URLs before deploying them. Click each link and ensure it loads the correct page. Check that the UTM parameters appear correctly in GA4’s real-time reports (navigate to Reports, then Real-time, and look for your traffic source). A broken link or a misspelled parameter value can invalidate your tracking data for an entire campaign.
Tracking UTM Data in GA4
Google Analytics 4 captures UTM parameter data automatically when users arrive on your site via tagged URLs. Understanding where to find this data and how to use it for analysis is essential for extracting value from your UTM tracking efforts.
The primary location for UTM data in GA4 is the Traffic Acquisition report (Reports > Acquisition > Traffic Acquisition). This report shows session-level data broken down by source, medium, and campaign. You can use the dropdown at the top of the table to switch between different dimensions: Session source, Session medium, Session campaign, or the combined Session source/medium dimension.
For conversion-focused analysis, use the User Acquisition report to see which sources drove users who eventually converted, regardless of whether the conversion happened in their first session. This is particularly valuable for understanding the full impact of awareness campaigns that may drive first visits but not immediate conversions.
Create custom explorations for deeper UTM analysis. In GA4’s Explore section, you can build free-form reports, funnel explorations, and path analyses filtered by UTM parameters. For example, create a report that shows conversion rate by campaign, filtered to a specific source and medium. This level of granularity helps you identify which specific campaigns within each channel are driving the best results.
GA4 uses UTM medium values to assign sessions to its default channel groupings (Organic Search, Paid Search, Paid Social, Email, etc.). If your utm_medium values do not match GA4’s expected values, your traffic may be misclassified. For example, if you use “social-paid” instead of “paid-social” as your medium, GA4 may classify that traffic as “Unassigned” rather than “Paid Social.” Review GA4’s documentation on default channel grouping rules and align your medium values accordingly.
Set up custom audiences in GA4 based on UTM parameters for remarketing. You can create audiences of users who arrived via specific campaigns or channels and then target them with tailored follow-up campaigns. For example, create an audience of users who arrived via your Chinese New Year promotion but did not convert, and then retarget them with a follow-up offer through Google Ads or social media marketing.
UTM Strategies by Marketing Channel
Each marketing channel has its own UTM tagging considerations. Here is how to approach UTM parameters for the most common channels used by Singapore businesses.
Email Marketing: Tag every link in your marketing emails with UTM parameters. Use utm_source=newsletter (or the specific email list name), utm_medium=email, and utm_campaign with the specific email campaign name. Use utm_content to differentiate between links within the same email, such as “header-cta,” “body-link-1,” or “footer-cta.” Most email marketing platforms (Mailchimp, HubSpot, Brevo) have built-in UTM tagging features that automate this process.
Social Media (Organic): Tag links in your organic social media posts with utm_source set to the platform (facebook, linkedin, instagram) and utm_medium=organic-social. Set utm_campaign to the content theme or initiative. For posts promoting a specific campaign, match the campaign name to your paid campaign for easy comparison of organic versus paid performance from the same platform.
Social Media (Paid): For paid social campaigns, use utm_source for the platform, utm_medium=paid-social, and utm_campaign for the campaign name. Use utm_content to differentiate between ad variations for A/B testing. Both Meta Ads and LinkedIn Ads have auto-tagging options, but manual UTM parameters give you more control over naming conventions and are recommended for maintaining consistent taxonomy.
Google Ads: Google Ads uses auto-tagging (gclid parameter) by default, and this should remain enabled for the best integration with GA4. However, you can also add manual UTM parameters to your Google Ads URLs for additional tracking flexibility. Note that if both auto-tagging and manual UTMs are present, you need to configure GA4 to handle this by going to Admin > Data Streams > [your stream] > More Tagging Settings > and enabling “Allow manual tagging (UTM values) to override auto-tagging.”
QR Codes: For QR codes on printed materials, event signage, product packaging, or in-store displays, use utm_source to identify the placement (for example, “flyer,” “event-booth,” or “product-packaging”), utm_medium=qr-code, and utm_campaign for the specific initiative. QR codes are one of the few ways to track offline-to-online customer journeys, making UTM parameters particularly valuable for bridging the physical and digital worlds.
Partner and Affiliate Links: When partners or affiliates promote your business, provide them with UTM-tagged links using utm_source with the partner name, utm_medium=referral or utm_medium=affiliate, and utm_campaign with the partnership initiative name. This allows you to measure the traffic and conversions driven by each partner individually.
Common UTM Mistakes and How to Avoid Them
Even experienced marketers make UTM mistakes that compromise their data quality. Being aware of these common pitfalls helps you avoid them and maintain clean, reliable campaign tracking data.
Inconsistent naming: As discussed, using different naming conventions across team members or campaigns is the most damaging UTM mistake. “Facebook,” “facebook,” “fb,” and “FB” will all appear as separate sources in your reports. Prevent this by creating a documented naming convention, maintaining a centralised UTM log, and training all team members on the approved values.
Using UTM parameters on internal links: Never add UTM parameters to links within your own website. Internal UTM links override the original traffic source, corrupting your acquisition data. If a user arrives via a Google Ad and then clicks an internal link with utm_source=homepage, the session will be reattributed to “homepage” and the Google Ad will lose credit for the visit (and any subsequent conversion).
Forgetting to tag links: Every external link pointing to your website should have UTM parameters. This includes email links, social media posts, partner referrals, digital ads (where auto-tagging is not used), and QR codes. Untagged links result in traffic being classified as “direct” or “referral” without campaign detail, making it impossible to measure campaign performance accurately.
Over-complicating parameter values: Keep UTM values simple and descriptive. Avoid long, complex values that are hard to read in reports. “promo-cny-2026” is better than “chinese-new-year-promotional-campaign-january-2026-version-final-v2.” Similarly, avoid encoding too much information in a single parameter. Use the five parameters together to provide the full picture.
Not testing tagged URLs: Always click your tagged URLs before deploying them in campaigns. Check that the page loads correctly (sometimes the UTM query string can break dynamic pages), verify the parameters appear in GA4 real-time reports, and confirm the landing page experience is not degraded. A single misplaced character can break a URL entirely.
Ignoring UTM data in analysis: Creating tagged URLs is pointless if you never analyse the data they produce. Build UTM analysis into your regular reporting cadence. Review campaign performance weekly, compare channels monthly, and conduct a comprehensive UTM audit quarterly to ensure data quality. The insights from UTM tracking should directly inform your budget allocation and campaign strategy, feeding into your overall content marketing services effectiveness.
Building UTM Reporting Dashboards
Raw UTM data in GA4 is useful, but a well-designed dashboard transforms it into actionable intelligence that your team can use to make better decisions. Building a dedicated UTM reporting dashboard is the final step in creating a comprehensive campaign tracking system.
Google Looker Studio (formerly Data Studio) is the most popular free tool for building UTM dashboards. Connect it directly to your GA4 property and create visualisations that display campaign performance at a glance. A good UTM dashboard includes an overview of traffic by source and medium, campaign-level performance metrics (sessions, conversions, revenue), trend charts showing performance over time, and comparison tables for A/B tested content variations.
Structure your dashboard in layers. The top layer provides a high-level summary: total sessions, conversions, and revenue from all tracked campaigns, with trend lines and period-over-period comparisons. The middle layer breaks this down by channel (medium): how is email performing versus paid social versus organic social? The bottom layer provides campaign-level detail: which specific campaigns within each channel are driving the best results?
Include calculated metrics that provide actionable context. Conversion rate by campaign (conversions divided by sessions) reveals which campaigns are most effective at driving action, regardless of traffic volume. Cost per acquisition (ad spend divided by conversions) identifies which campaigns are most cost-efficient. Revenue per session helps you understand the quality of traffic from each source. These calculated metrics are far more useful than raw session counts for making optimisation decisions.
Add filters to your dashboard that allow users to drill into specific date ranges, sources, mediums, or campaigns. Time-range filters are essential for comparing different periods. Source and medium filters allow channel managers to focus on their specific area of responsibility. Campaign filters enable deep dives into individual initiatives.
Schedule automated reports to be emailed to stakeholders on a regular basis. Looker Studio allows you to schedule PDF reports to be sent daily, weekly, or monthly. A weekly email summarising campaign performance keeps everyone informed and creates accountability for campaign results. This complements the broader reporting you receive from your SEO services and paid advertising efforts.
Frequently Asked Questions
Do I need UTM parameters if Google Ads auto-tagging is enabled?
Google Ads auto-tagging (gclid) provides excellent tracking within the Google ecosystem, and you should keep it enabled. However, adding UTM parameters to your Google Ads URLs provides additional benefits: consistent naming conventions across all channels, the ability to track Google Ads performance alongside other channels using the same taxonomy, and a backup tracking mechanism if gclid data is lost. If you use both, configure GA4 to allow manual tagging to override auto-tagging when both are present.
How do UTM parameters affect SEO?
UTM parameters do not directly affect your SEO rankings. Search engines understand that URL parameters are used for tracking and do not treat URLs with different UTM parameters as separate pages. However, there are two indirect concerns. First, if UTM-tagged URLs are indexed by search engines, it can create duplicate content issues. This is rare with proper canonical tags, but worth monitoring. Second, never use UTM parameters on internal links, as this disrupts session tracking and can inflate page counts in your analytics.
Can I use UTM parameters with URL shorteners?
Yes, UTM parameters work perfectly with URL shorteners. Create your full UTM-tagged URL first, then shorten it using a service like Bitly, Rebrandly, or Short.io. When a user clicks the short URL, they are redirected to the full tagged URL, and the UTM parameters are captured by your analytics platform. This is the recommended approach for social media posts, SMS messages, and any context where a long URL would look unprofessional or be impractical.
How many UTM parameters should I use per URL?
At minimum, use the three required parameters: utm_source, utm_medium, and utm_campaign. These provide enough granularity for most tracking needs. Add utm_content when you need to differentiate between multiple links within the same campaign, such as different ad creatives or email link placements. Add utm_term when you need to track specific keywords or targeting criteria. Using all five parameters is appropriate for detailed testing scenarios but unnecessary for routine campaign tracking.
What happens if someone shares a UTM-tagged link on social media?
If a user shares your UTM-tagged link with others (for example, copying and pasting it on social media), all subsequent clicks on that shared link will be attributed to the original UTM parameters. This can slightly inflate the traffic attributed to the original campaign. In practice, this is rarely a significant issue for most businesses. If it is a concern, you can use UTM-tagged links that redirect through a clean URL, so the shared URL does not contain UTM parameters.



