UTM parameters are tags added to campaign URLs to identify where website visitors came from. They tell analytics tools which campaign sent a visitor and whether the link appeared in an email, a social ad, or another marketing channel.
A single promotion can send traffic from several channels to the same page. UTM tags let you compare those visits and, with purchase tracking in place, see which campaigns bring sales.
This guide explains how UTM parameters work, the most commonly used tags, and best practices for keeping your campaign reports organized.
What are UTM parameters?
UTM parameters are URL query parameters used to distinguish campaign traffic in analytics tools like Google Analytics 4 (GA4). Also called UTM codes or tracking tags, they record details about the source, marketing medium, and campaign associated with a visit. URLs containing these tags are often called UTM links.
UTM stands for Urchin Tracking Module. These parameters are used for campaign tracking and methods such as Google Ads auto-tagging, which adds a click identifier to ad URLs.
A clean URL looks like this:
https://www.shopify.com/
The same URL with UTM parameters looks like this:
https://www.shopify.com/?utm_source=instagram&utm_medium=paid_social&utm_campaign=spring_sale
The question mark begins the URL’s query string. In the above example, all three query parameters are UTM parameters. Other URLs can contain query parameters for purposes such as filtering products or searching a website.
Each parameter pairs a name with a value, such as utm_source=instagram. Ampersands (&) separate the pairs. When someone visits a website running GA4 through this link, Analytics uses those values to identify and classify the campaign traffic.
Types of UTM parameters
Google’s GA4 documentation mentions nine UTM parameters. The five below do most of the work in everyday campaigns.
Google recommends using utm_source, utm_medium, and utm_campaign together whenever you manually tag campaign links. Add utm_term and utm_content when you need keywords or creative details.
The table shows how these parameters map to session dimensions in GA4’s Manual report.
| Parameter | When to set it | What it identifies | GA4 dimension | Example value |
|---|---|---|---|---|
| utm_source | Recommended for every manually tagged campaign link | Platform, publication, or referrer | Session manual source | |
| utm_medium | Recommended for every manually tagged campaign link | Marketing channel or traffic type | Session manual medium | paid_social |
| utm_campaign | Recommended for every manually tagged campaign link | Campaign or promotion | Session manual campaign name | spring_2026_sale |
| utm_term | Optional, for keyword details | Paid keyword | Session manual term | handbags |
| utm_content | Optional, for comparing creatives or links | Ad variation or link placement | Session manual ad content | product_feature_image |
The other four parameters are utm_id, utm_source_platform, utm_creative_format, and utm_marketing_tactic. Google recommends adding campaign IDs and source platforms when relevant. The creative format and marketing tactic parameters aren’t currently reported in GA4.
utm_source
The utm_source parameter names the platform or publication that sent the visitor. For an Instagram ad, use instagram.
Keep that value consistent across promotions so traffic from Instagram appears under one source in your reports.
utm_medium
The utm_medium parameter describes how you acquired the visitor. Pair utm_source=instagram with utm_medium=paid_social for an Instagram ad.
An omitted medium can leave the corresponding field labeled “(not set)” in GA4.
utm_campaign
The utm_campaign parameter identifies the promotion associated with a link. Use one name, such as spring_2026_sale, across every channel promoting that offer.
Differences in spelling or capitalization create separate values, splitting the campaign’s results across multiple rows, so be sure to proofread closely.
utm_term (optional)
The utm_term parameter records a paid keyword supplied in the URL. It doesn’t automatically capture the shopper’s search query.
For linked Google Ads accounts, Google recommends auto-tagging for detailed keyword reporting.
utm_content (optional)
The utm_content parameter distinguishes creative variations or links within one campaign.
For example, top_button and footer_link can identify two links in the same email, letting you compare the visits and purchases attributed to each when purchase tracking is configured.
Benefits of UTM tracking
GA4 can identify organic search and website referrals from referrer data. Linked Google Ads accounts with auto-tagging also supply campaign details. UTM parameters add labels where that information is missing, such as the specific newsletter that sent a visitor to your site.
Uniform tags let you separate paid and organic social traffic and compare campaign results. Values such as utm_content=image and utm_content=video identify creative variations. With purchase tracking configured, you can compare the sales attributed to each variation.
Keep personal information out of UTM values, like a customer’s name, email address, or phone number. Google Analytics collects page URLs, so personal details in your tags could be sent with your analytics data.
Where to use UTM parameters
Add UTM tags to campaign links you share outside your website. The examples below show parameter strings to append to your destination URLs.
Email campaigns
Use utm_medium=email for links in newsletters and automated emails. Shopify Messaging includes a UTM tracking link by default. Review it under Messaging > Settings and customize parameters for individual campaigns.
For a custom spring sale campaign:
utm_source=shopify_email&utm_medium=email&utm_campaign=spring_sale_2026
Social media posts
Tag profile and Story links with the platform as utm_source. Use consistent medium values to distinguish organic posts from ads, such as social and paid_social.
For an organic Instagram Story:
utm_source=instagram&utm_medium=social&utm_campaign=product_launch
Paid advertising
Google recommends auto-tagging for linked Google Ads accounts. Platforms such as TikTok have URL parameter settings that can insert campaign names automatically. Define the naming convention and check that generated values match it across campaigns.
For a TikTok ad:
utm_source=tiktok&utm_medium=paid_social&utm_campaign=awareness_video&utm_content=creator_collab_v2
Influencer and affiliate partnerships
Assign each partner a label such as partner_01 to compare referred visits in GA4. Shopify Collabs tracks sales and commissions through its affiliate links and discount codes. Preserve existing affiliate tracking parameters when adding UTM tags.
For an affiliate’s Instagram link:
utm_source=instagram&utm_medium=affiliate&utm_campaign=summer_drop&utm_content=partner_01
Offline-to-online tracking
QR codes on packaging or printed materials can direct customers to tagged landing pages. A short URL gives customers an address they can type. Add UTMs to the full destination URL before creating the QR code or shortened link.
For a QR code on a product insert:
utm_source=product_insert&utm_medium=qr_code&utm_campaign=reorder_reminder
Redirects and URL shorteners can strip tracking information. Test the complete journey before printing: scan the code or open the short link, follow the redirects, and confirm the landing URL retains the UTM parameters. Then check that GA4 receives the expected values.
How to create UTM parameters and build UTM links
A UTM link merges a destination URL with campaign parameters. Your website also needs working analytics to record visits and conversion tracking to measure actions such as purchases.
1. Define the parameters you want to track
Use utm_source, utm_medium, and utm_campaign together for manually tagged campaign links. For a sale promoted through email and Instagram, the campaign name stays the same across both channels. The source and medium identify where each visit originated.
Add utm_content to compare creative variations or link placements. Use utm_term when you need paid keyword details.
2. Create the URL
Google’s free Campaign URL Builder creates a tagged link from the values you enter:
- Enter the destination URL. Paste the full address of the page visitors will land on.
- Add the campaign details. Enter your source, medium, and campaign name.
- Add optional parameters. Include content or term values for the comparisons you planned.
- Copy the generated URL. Check its spelling and destination before adding it to your campaign.
If you build the URL manually, use ? before the first query parameter and & between subsequent parameters. When the destination already contains a query string, append UTMs with &.
For example:
https://www.example.com/products/bag?variant=123&utm_source=instagram&utm_medium=paid_social&utm_campaign=spring_sale_2026
Here, variant=123 stays intact, and the UTM parameters follow it. Any fragment beginning with # belongs after the query string.
Shopify Campaigns also creates campaign links, short links, and QR codes from your admin. Go to Growth > Campaigns > Create campaign, enter a name, and save. Under Shareable links, add a link, select its destination, and enter additional UTM parameters. You can then copy the full or short link, or download its QR code.
3. Use the link in your campaign
Place the tagged URL in your ad, email, or social post. Open the link and confirm that it reaches the intended page with its parameters intact.
Use GA4’s Realtime report to check that activity reaches your property. For closer inspection, enable debug mode with Tag Assistant and open DebugView. Inspect the landing page’s page_view event and its page_location URL.
Realtime and DebugView do limited attribution analysis. After processing, check Session source / medium and Session campaign in the Traffic acquisition report. Google says data processing can take 24 to 48 hours, so an immediate live check doesn’t confirm the finished campaign report.
Best practices for using UTM parameters
A shared naming guide and a complete conversion test prevents campaign traffic from being mislabeled or lost between systems. Follow these best practices to keep your web analytics data clean and accurate.
Consistent naming conventions
Google Analytics treats facebook, fb, and facebook.com as separate source values. Document approved names in a shared spreadsheet or campaign URL builder so everyone uses the same labels.
A simple naming convention could look like this:
| Parameter | Naming rule | Example |
|---|---|---|
| utm_source | Use an approved platform or publication name | |
| utm_medium | Use an approved channel label | paid_social |
| utm_campaign | Follow a promotion_year format | spring_sale_2026 |
| utm_content | Follow a format_subject_version format | video_new_arrivals_v1 |
Keep the campaign name consistent across channels. When comparing creatives within the same channel and campaign, keep source, medium, and campaign fixed, then change utm_content for each variation.
Formatting conventions
UTM values are case-sensitive, so Pinterest and pinterest produce separate values. Use lowercase letters and numbers, with a consistent separator such as an underscore.
Avoid raw spaces, emojis, and reserved URL characters such as & or # inside values. Use a URL builder to encode special characters when needed. Apply your formatting rules to the UTM values, keeping the destination URL intact.
Only use when useful
Use the three recommended campaign fields consistently. Optional parameters add detail for specific comparisons: utm_content identifies creative or placement variations, and utm_term records paid keywords.
A campaign with one creative can omit utm_content unless your reporting process uses that label. Adding unrelated values creates more fields to maintain.
Avoid adding to internal links
Keep UTM tags off links between pages on your own website. In GA4, new campaign parameters don’t start a new session or overwrite its source. They can still affect attribution for individual events, giving an internal promotion credit during a visitor’s conversion journey.
Track internal banners and navigation clicks with dedicated events.
Test before launching
Follow the actual customer path from the campaign link to a completed order or form submission. Confirm that redirects preserve the tags and that the purchase or lead event reaches the intended GA4 property.
For Shopify orders, inspect the available UTM information in the order’s conversion details. For lead forms, verify that the campaign values are passed to the submitted form and the corresponding CRM record. This can involve hidden form fields mapped to contact properties.
Record the test order or submission ID so you can check the same conversion after reporting data has been processed.
How to analyze UTM parameter data
UTM reports help identify which campaigns bring in new customers. Dividing each campaign’s acquisition spend by the number of new customers it attributed gives you the customer acquisition cost (CAC). That lets you compare campaigns by what you paid to acquire a customer.
Shopify’s Q4 2025 Survey of Store Owners* found that 30% of businesses with at least $1 million in annual sales tracked customer acquisition cost, compared with 5% of businesses with low revenue.
Review campaign performance in three steps:
- Open GA4’s Traffic acquisition report. Select a date range, then view Session campaign alongside Session source / medium.
- Compare campaign results. Review sessions, engagement rate, key events, and total revenue.
- Review Shopify’s campaign data. Open Performance by UTM campaign for the same dates. Calculate CAC separately: divide sales and marketing costs by new customers acquired.
Traffic classification
GA4’s default channel rules classify recognized referrals from tools such as ChatGPT under the AI Assistant channel, using the medium ai-assistant. Unpaid clicks from Google’s AI Overviews and AI Mode belong to Organic Search.
How UTM tracking works in Shopify
In Shopify Campaigns, go to Growth > Campaigns and create a campaign. Add UTM values under Shareable links to create tagged URLs, short links, and QR codes.
Review campaign sessions, orders, and sales. For further analysis, go to Analytics > Reports and open Performance by UTM campaign. Check the selected attribution model before comparing results with GA4.
For an individual purchase, open the order’s conversion details and select View full sessions to inspect available UTM values.
Shopify Messaging already includes a UTM tracking link by default. Under Messaging > Settings, review its source (shopify_email), medium (email), and campaign value, which combines the email name and activity ID.
Edit these settings or customize individual campaigns to match your naming convention.
*Based on a 2025 survey of 500 Shopify merchants conducted in English across Australia, Canada, the United Kingdom, Ireland, New Zealand, and the United States. Respondents were established merchants with two or more years on the platform. Results reflect the experiences of this specific sample and may not be representative of all merchants.
UTM parameters FAQ
Do UTM parameters affect SEO?
UTM parameters don’t improve SEO rankings. Tagged links can create several URLs for the same page, so check that those versions identify the page’s preferred canonical URL.
This helps Google consolidate signals from duplicate URLs. Use the clean URL for links within your own site.
How many UTM parameters should be used?
Google recommends using utm_source, utm_medium, and utm_campaign together on manually tagged campaign links. Add utm_content when comparing creatives or link placements, and utm_term for paid keyword details.
GA4 documents nine UTM parameters, but most campaigns don’t need all nine.
How are UTM parameters added to a URL?
Add each parameter as a name and value, such as utm_source=instagram. Put ? before the first parameter and & between subsequent ones. If the destination URL already contains a ?, append the first UTM parameter with &. Google’s Campaign URL Builder can assemble the link for you.
Are UTM parameters case-sensitive?
Yes. GA4 treats Instagram and instagram as different values, splitting visits from the same source across two report rows. Use lowercase values and a consistent naming convention for every campaign. Check capitalization in utm_source, utm_medium, and utm_campaign before publishing the link.
What are common UTM mistakes?
Inconsistent names split campaign data across report rows. Missing source, medium, or campaign values can leave fields labeled “(not set).” Redirects can remove tags before visitors reach your site.
Keep UTMs off internal links, then test the complete click path through to the landing page and conversion record.












