Skip to content
Search

UTM tracking code: how to tag links for analytics

A UTM tracking code is a set of query parameters appended to a destination URL (utm_source, utm_medium, utm_campaign, utm_term, utm_content) that analytics platforms such as GA4 use to attribute traffic and campaign metadata.

UTM Tracking Code: What Is It & How It Works

What is a UTM tracking code?

A UTM tracking code is a compact set of standardized query parameters added to a URL so analytics systems can label where a click came from and which campaign it belongs to. The most common parameters are utm_source, utm_medium, utm_campaign, utm_term and utm_content. UTM parameters are used by analytics platforms (for example, Google Analytics 4) to group sessions and attribute conversions; they do not change server-side content by themselves.

Why UTM tracking codes matter for SEO

UTM parameters primarily affect measurement and reporting, not search engine ranking signals. That said, they can indirectly affect SEO outcomes because: if UTM-tagged URLs are indexed as distinct pages, they can create URL duplication and dilute internal link equity; inconsistent UTM usage can break clean analytics attribution and mislead decisions about which content or channels to optimize; and poor tagging on external placements can obscure which publisher pages deliver real organic engagement. Always separate the measurement role of UTMs (attribution) from crawling, indexing and ranking: UTMs influence analytics and potential indexation behavior if left unchecked, but they do not directly change how search engines order results.

How UTM tracking codes work

When a user clicks a link that contains UTM parameters, the browser requests the full URL (including the query string). Client-side measurement libraries (page analytics snippets or tag managers) read those query parameters and attach the values to the session or event that gets sent to the analytics backend. Server logs and gateway systems will also record the raw URL including UTM parameters unless a redirect strips them. Analytics platforms then map those parameter values to reports (channel grouping, campaigns, etc.).

Example URL with UTM parameters: https://example.com/landing?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale&utm_content=cta1

Types of UTM tracking code

Common UTM parameters and their purpose:

utm_source — identifies the referrer (example: newsletter, google, twitter)

utm_medium — identifies the marketing medium (example: email, cpc, social)

utm_campaign — names the campaign (example: spring_sale)

utm_term — used for paid search keywords or any term-level segmentation

utm_content — differentiates similar links or creatives (example: cta1, hero-banner)

How to get started with UTM tracking code

Start with a naming plan and a small pilot: define consistent lowercase conventions, separators (hyphens or underscores), and a list of accepted values for source and medium. Use a URL-builder (internal spreadsheet or a staging tool) so everyone copies the same strings. Instrument analytics (GA4), test links in a QA environment, and document the mapping between campaigns and reports so stakeholders know which reports to consult.

Common UTM tracking code mistakes

- Inconsistent naming — where to verify — passes when all URLs use the same lowercase, delimiter and taxonomy for source/medium/campaign.
- Tagging internal links unnecessarily — where to verify — passes when internal navigation uses clean URLs or internal campaign tags that are excluded from channel grouping.
- Forgetting to canonicalize — where to verify — passes when canonical tags point to the preferred URL without UTM parameters or when redirect rules normalize UTM variants.
- Over-tagging paid redirects — where to verify — passes when redirects preserve UTM parameters only when required and channels remain accurately attributed in analytics.
- Using UTM on canonical short internal redirects — where to verify — passes when short links don’t create indexable duplicates or false referral paths.

UTM verification: technical checklist

**Page request records** — where to verify — passes when server logs or curl show the query string intact: use curl without -I to fetch the HTML and observe the requested URL (example: curl -L "https://example.com/page?utm_source=newsletter&utm_medium=email").

**Analytics ingestion** — where to verify — passes when GA4 DebugView or Real-time report shows an event/session attributed to the UTM values within moments of a test click.

**Rendered link visibility** — where to verify — passes when Chrome DevTools Elements panel shows the anchor with the UTM query string or when network requests include the parameter.

**Indexation risk** — where to verify — passes when the preferred canonical tag points to the untagged URL or when server redirects normalize query parameters; check via the page HTML and Search Console for pages you own.

Quick verification commands and tools

Fetch headers only (to inspect redirects and response codes): curl -I "https://example.com/page?utm_source=test". Fetch the full HTML to confirm anchor hrefs: curl -L "https://example.com/page?utm_source=test". Use Chrome DevTools → Network to watch the full requested URL and Tag Assistant or GA4 DebugView to confirm the analytics event contains UTM values.

Note: for pages you do not own you cannot use Google Search Console URL Inspection; instead use public signals (site: queries) and direct fetches to check how a publisher serves the tagged URL.

Read the Technical SEO Guide

Read the Technical SEO Guide

Frequently asked questions

Build authority with a topical measurement approach and consistent tagging. Build authority with quality backlinks

Q: Do UTM parameters affect search rankings?

A: UTM parameters themselves are measurement metadata and do not directly change ranking signals. However, if multiple UTM-tagged URLs become indexable duplicates and canonicalization is not set, that can affect how search engines index and consolidate signals. Address canonical tags and redirects to avoid indexation issues.

Q: Should I put UTM parameters on internal links?

A: Generally avoid tagging routine internal navigation, because UTMs create session breaks and can produce self-referrals. Reserve UTMs for external marketing links or controlled campaign landing links and use internal tracking mechanisms where needed.

Q: What about case sensitivity and separators?

A: Use a strict naming convention (lowercase, consistent separators) to prevent the analytics platform from treating similar values as distinct. Document and enforce the taxonomy.

Q: Can search engines index URLs with UTMs?

A: Yes—search engines can crawl and index URLs that include query parameters. To avoid unintentional indexation of tagged variants, implement rel=canonical, parameter handling, or redirect rules. Distinguish between crawling/indexing concerns and analytics attribution: canonicalization affects the index; UTMs affect measurement.

Q: Which analytics tools support UTM attribution?

A: Most modern analytics systems accept UTM-style parameters; Google Analytics 4 (GA4) remains a primary analytics platform and will parse standard UTM fields. Confirm your analytics implementation (tag manager or direct snippet) reads and maps the parameters correctly.

Q: Should paid links use UTM parameters?

A: Yes, tagging paid placements helps measure performance, but be mindful of publisher policies and search engine guidance: tagging a paid placement does not excuse violating webmaster guidelines. For paid links, ensure proper disclosure at the publisher level and focus on editorial context and audience relevance.

Related terms