Skip to content
locomu.
Analytics & Reporting

How to Build UTM Links for Social Media Campaigns

A UTM link is a URL with tracking parameters appended to it. To build one, choose consistent values for source, medium, campaign, and optional content or term, append them to the destination URL, then test the link before publishing. The goal is…

A UTM link is a destination URL with tracking parameters attached. It tells your analytics tool which campaign, platform, and even which post or creative sent a visitor. For social media campaigns, the practical goal is to create links that are consistent enough to compare across posts and specific enough to separate one placement from another.

This tutorial walks through a repeatable process for building UTM links for social posts, ads, and creator partnerships. The result is a set of tested URLs and a simple record of what each parameter means. The example values below are hypothetical and use example.com so you can see the structure without copying a real campaign.

Goal and expected outcome

By the end, you should be able to produce a UTM link like this:

https://example.com/spring-guide?utm_source=linkedin&utm_medium=social&utm_campaign=spring_launch&utm_content=carousel_1

That link would tell an analytics system that a visitor arrived from LinkedIn, through a social channel, as part of the spring_launch campaign, and from a specific carousel creative. Shopify describes UTM parameters as URL query parameters that distinguish campaign traffic in analytics tools such as Google Analytics 4 (GA4) Shopify’s UTM parameters guide. Plausible likewise supports UTM tags and lists source, medium, campaign, term, and content as the standard parameter types Plausible Analytics’ UTM guide.

Prerequisites

Before you build links, collect four things:

  • A final destination URL. Decide whether the link should go to a landing page, product page, blog post, or form. Do not change the destination after the link is published unless you can update every placement.
  • Access to campaign analytics. You need a tool that reads UTM parameters, such as Google Analytics 4 or Plausible. Plausible notes that it has UTM tag support out of the box Plausible Analytics.
  • A naming plan. Write down approved values for platforms, campaign names, and content variants before anyone starts creating links. This reduces the chance that one person uses linkedin and another uses LinkedIn.
  • A link register. A spreadsheet with columns for date, platform, post or ad name, destination URL, final UTM link, and owner is enough for most solo creators and small teams.

Step 1: Start with a clean destination URL

Open the destination page and copy the base URL. Keep any functional query parameters that the page needs, such as filters or session identifiers, but remove marketing parameters from a previous campaign. A URL should not carry two sets of UTM values unless you have a deliberate reason and a tool that can resolve the conflict.

For example, start with:

https://example.com/spring-guide

If the page already contains a necessary parameter, separate it from the UTM parameters with an ampersand. The first parameter after the question mark uses ?; each additional parameter uses &.

Step 2: Set the five standard UTM parameters

Hootsuite describes UTM parameters as short text codes added to URLs to help track the performance of a marketing campaign Hootsuite’s UTM guide. The five standard parameters are a useful starting point, but not every link needs all five. For social media, source, medium, campaign, and content usually carry the most value. Term is mainly useful when you need to distinguish paid keywords or audience segments.

Standard UTM parameters for social media links
ParameterWhat it identifiesExample valueWhen to use it
utm_sourceThe platform or place that sent the visitorlinkedinAlways, so you can separate LinkedIn from Instagram or a newsletter.
utm_mediumThe marketing channel or type of trafficsocialAlways, to compare social traffic with email, paid search, or referral traffic.
utm_campaignThe campaign or promotionspring_launchAlways, using a name that matches your campaign calendar.
utm_contentThe specific creative, post, or link variantcarousel_1When you need to compare two posts, two creatives, or two calls to action in the same campaign.
utm_termThe keyword or audience segmentsmall_businessMainly for paid search or audience-specific variants; optional for organic social.

Buffer’s UTM guide explains that UTM stands for Urchin tracking module and that the codes work with analytics tools to show where traffic comes from Buffer’s UTM guide. The exact tool does not change the basic parameter names; it changes how the data is displayed and filtered.

Step 3: Apply a naming convention

A UTM link is only useful if the values are readable and consistent. Adopt a short convention and write it down. A common approach is lowercase letters, numbers, hyphens, and underscores, with no spaces. For example:

  • Source: linkedin, instagram, x, tiktok, youtube
  • Medium: social for organic posts, paid_social for ads, creator for influencer partnerships
  • Campaign: spring_launch, webinar_march, product_update_04
  • Content: carousel_1, story_cta, video_short, newsletter_link

Avoid uppercase and lowercase duplicates. Analytics tools often treat LinkedIn and linkedin as different source values, which splits your report. The same risk applies to spaces, trailing slashes, and small spelling differences. Decide on one spelling for each platform and campaign, then reuse it.

Step 4: Assemble the URL

You can build a UTM link manually or with a UTM builder. Manual construction is straightforward when you have only a few links: add ? before the first parameter, & before each additional parameter, and encode spaces or special characters. For example, a campaign name with a space should be written as spring%20launch or, more commonly, replaced with an underscore: spring_launch.

Plausible offers a UTM builder and a UTM checker, which can help validate a link before you publish it Plausible Analytics. A spreadsheet formula or a reusable template can also reduce copy-paste errors. The important output is not the tool you use; it is a final URL with parameter values that match your naming plan.

Here is the hypothetical example assembled step by step:

  1. Base URL: https://example.com/spring-guide
  2. Add source: ?utm_source=linkedin
  3. Add medium: &utm_medium=social
  4. Add campaign: &utm_campaign=spring_launch
  5. Add content: &utm_content=carousel_1
  6. Final link: https://example.com/spring-guide?utm_source=linkedin&utm_medium=social&utm_campaign=spring_launch&utm_content=carousel_1

Example: one campaign across three placements

Suppose a freelance designer is promoting a paid workshop. The campaign name is workshop_may. The destination page is https://example.com/workshop. The designer plans three placements: an organic LinkedIn post, an Instagram story, and a newsletter mention. A simple plan might use these values:

  • LinkedIn organic post: utm_source=linkedin, utm_medium=social, utm_campaign=workshop_may, utm_content=organic_post
  • Instagram story: utm_source=instagram, utm_medium=social, utm_campaign=workshop_may, utm_content=story_link
  • Newsletter: utm_source=newsletter, utm_medium=email, utm_campaign=workshop_may, utm_content=main_cta

This is a hypothetical example, and the results are not measured here. The point is the structure: the campaign stays the same, while source, medium, and content change to match the placement. After the campaign, the designer can compare LinkedIn, Instagram, and newsletter traffic without guessing which link was used where. If the designer runs two LinkedIn posts, utm_content can separate them while keeping the campaign and source consistent.

Open the final URL in a private browsing window or a separate browser profile. Confirm three things:

  1. The destination page loads correctly and shows the expected content.
  2. The URL in the address bar contains the UTM parameters you intended, with no broken characters or duplicated question marks.
  3. Your analytics tool records the visit. If the tool has a real-time or debug view, use it to check that source, medium, and campaign appear as expected.

If the page redirects, check the redirect target. A redirect can strip UTM parameters, which means the visit may be recorded as direct or referral traffic instead of campaign traffic. Test the exact link you will publish, not just the base URL.

Store every UTM link in your link register before it goes live. At minimum, record the date, platform, post or ad name, destination URL, final UTM link, campaign name, and owner. This record helps you answer questions later: which link was used in which post, who approved it, and whether the campaign name matches the report.

For small teams, a shared spreadsheet is usually enough. For recurring campaigns, consider adding a column for status (draft, approved, live, archived) and a column for the creative asset name. The goal is to make the link auditable, not to create a second analytics system.

Common mistakes to avoid

  • Using the same UTM link for every post. You lose the ability to compare individual posts or creatives within a campaign.
  • Mixing naming styles. LinkedIn, linkedin, and linked-in become separate rows in reports.
  • Adding UTM parameters to internal links. Internal links with UTMs can overwrite the original campaign attribution. Use them for external campaign links, not navigation inside your own site.
  • Leaving spaces unencoded. Spaces can break the URL or create inconsistent values. Use underscores or hyphens instead.
  • Changing the destination after publication. If the landing page changes, update every live link or create a redirect that preserves the UTM parameters.

Verification checklist

Before you hand a UTM link to a scheduler, publisher, or client, confirm:

  • The destination URL is final and returns the expected page.
  • utm_source matches the platform naming convention.
  • utm_medium separates organic social, paid social, or creator traffic according to your plan.
  • utm_campaign matches the campaign calendar or brief.
  • Optional parameters such as utm_content and utm_term are used only when they add a meaningful comparison.
  • The link has been opened and tested in a private window.
  • The final link and its metadata are recorded in the link register.

Once these checks pass, the link is ready to publish. The next step is to review the campaign report after enough traffic has accumulated, compare social sources and content variants, and adjust the next round of links based on what the data shows. For teams that need a place to start, the Locomu analytics tool directory lists categories of reporting tools that can read campaign parameters.

FAQ

Should I use uppercase or lowercase UTM values?

Use one consistent case, preferably lowercase, because analytics tools may treat different cases as separate values.

Do I need all five UTM parameters?

No. For social media, source, medium, campaign, and content usually matter most; term is mainly for paid keywords or audience segments.

What happens if a link redirects?

Redirects can strip UTM parameters. Test the exact final link and verify in analytics that campaign values appear.

Sources & further reading

  1. Shopify — UTM Parameters: How To Use UTM Tracking Links (2026) — https://www.shopify.com/blog/utm-parameters
  2. Plausible Analytics — How to use UTM parameters to track your campaigns and understand dark traffic — https://plausible.io/blog/utm-tracking-tags
  3. Hootsuite — How to Use UTM Parameters to Track Social Media Success — https://blog.hootsuite.com/how-to-use-utm-parameters/
  4. Buffer — UTM Code Guide: How to Track Your Links on Social Media — https://buffer.com/resources/utm-guide/

Leave a Reply

Your email address will not be published. Required fields are marked *