UTM parameters describe where a visit came from and which campaign, placement, or creative produced it. SubIDs serve a similar purpose in affiliate platforms and tracking systems, but their names and behavior are defined by each platform rather than by one universal standard.
A well-tagged link can distinguish an email header button from a footer banner, one creator from another, or a poster QR code from a leaflet. The parameters do not measure a click by themselves: the destination still needs an analytics tag, and CRM attribution requires explicit capture and storage of the values.
The practical rule: use a documented naming convention, keep source and medium consistent, test the complete redirect chain, and never put personal data or secrets in a URL.
UTM parameters are query-string parameters added to a destination URL. Analytics systems such as Google Analytics 4 and Yandex Metrica can read them and use their values in acquisition reports.
A complete campaign URL might look like this:
https://example.com/offer?utm_source=customer_newsletter&utm_medium=email&utm_campaign=autumn_sale_2026&utm_content=cta_top
The question mark starts the query string. Each parameter is a
key=value pair, and an ampersand separates one pair from the next. If the destination already has a query string, append the first tracking parameter with
& instead of adding a second question mark:
https://example.com/offer?plan=pro&utm_source=customer_newsletter&utm_medium=email&utm_campaign=autumn_sale_2026
A fragment belongs at the end of the URL, after the query string:
https://example.com/offer?utm_source=telegram&utm_medium=social&utm_campaign=product_launch#pricing
The parameters usually lead to the same page content, but they still create distinct URL variants. Use the clean canonical URL in canonical tags, internal navigation, and sitemaps; reserve tagged variants for inbound campaign links.
For manually tagged campaigns in GA4, use utm_source, utm_medium, and utm_campaign together. Add utm_content and utm_term only when they describe a real distinction you intend to analyze.
utm_source identifies the specific source or publisher: google, instagram, telegram, or customer_newsletter.utm_medium identifies the marketing channel or delivery method: cpc, email, social, referral, or another value from your approved taxonomy.utm_campaign identifies the marketing initiative: autumn_sale_2026 or product_launch.utm_content distinguishes links, placements, ads, or creative variants within the same campaign: cta_top, footer_banner, or video_a.utm_term records a paid-search keyword or another intentionally defined term. Do not populate it merely because the field exists.Source and medium answer different questions. Source is where the traffic originated; medium is how it arrived. For example, utm_source=customer_newsletter&utm_medium=email is clearer than reversing those values. Analytics products do not always classify custom values into default channels in the same way, so test the vocabulary in the reporting tools your organization actually uses.
utm_id is a stable campaign ID. It is useful when names may change or when campaign data and costs are imported from another system.utm_source_platform identifies the platform responsible for directing the traffic, such as an advertising or campaign-management platform.utm_creative_format describes a format such as display, native, video, or search.utm_marketing_tactic describes a tactic such as prospecting or remarketing.Do not design reports around fields that are not reported
Google documents utm_creative_format and utm_marketing_tactic, but currently states that they are not reported in Google Analytics properties. Confirm current product behavior before making either field essential to your workflow.
UTM values are case-sensitive and small inconsistencies split one campaign into multiple report rows. A shared dictionary is more valuable than a complicated tagging scheme.
utm_id;utm_content describes, such as placement, creative, or both;For example, choose one form such as paid_social and use it consistently. Treat paid-social, Paid_Social, and paidsocial as different values even if a particular report occasionally groups them into the same channel.
SubID is a general name for parameters used by affiliate networks, CPA platforms, and trackers to carry additional identifiers. Common names include sub1, sub2, aff_sub, s2, click_id, and external_id. There is no universal SubID specification: a network may reserve particular names, limit their length, or assign a special meaning to a click ID.
A generic affiliate link might look like this:
https://partner.example/abc123?sub1=cmp_2026_autumn&sub2=email&sub3=cta_top
A project could define the fields this way:
sub1 — internal campaign ID;sub2 — placement or channel;sub3 — creative or link position;sub4 — audience segment;sub5 — another non-personal reporting dimension accepted by the network.That mapping is only an example. Follow the network's documentation before publishing a link. Affiliate conversion matching often depends on a platform-generated click ID, a cookie, or a server-to-server postback. A SubID alone does not guarantee attribution or payment.
UTM parameters and SubIDs can coexist. UTM values support web analytics; SubIDs support the affiliate or tracking platform. Avoid copying a generated click ID into a UTM field because it creates high-cardinality reports and may expose an identifier where it is not needed.
The goal is to identify both the email campaign and the specific link that produced a lead. The real link must be one continuous line; it is wrapped below only for readability.
https://example.com/consultation
?utm_source=customer_newsletter
&utm_medium=email
&utm_campaign=autumn_consultation_2026
&utm_content=cta_top
&utm_id=cmp_2026_10_01
Use the same source, medium, campaign, and campaign ID for other links in that email. Change utm_content to values such as logo, hero_banner, or cta_footer only when those placements need to be compared.
https://example.com/consultation
?utm_source=instagram
&utm_medium=paid_social
&utm_campaign=autumn_sale_2026
&utm_content=story_video_a
&sub1=partner_042
This separates the platform, channel, campaign, creative, and creator. If your primary analytics product does not place paid_social in the desired default channel, adjust the approved taxonomy or create an appropriate custom channel group before launch.
https://example.com/offer?utm_source=telegram&utm_medium=social&utm_campaign=product_launch&utm_content=cta_top
https://example.com/offer?utm_source=telegram&utm_medium=social&utm_campaign=product_launch&utm_content=cta_bottom
Only utm_content changes, so the report can compare the two placements without fragmenting the rest of the campaign. Yandex Metrica recommends messenger as a medium for messenger traffic; use that value instead if it matches your reporting standard.
https://example.com/expo?utm_source=offline&utm_medium=qr&utm_campaign=expo_2026&utm_content=poster
https://example.com/expo?utm_source=offline&utm_medium=qr&utm_campaign=expo_2026&utm_content=leaflet
Generate a different QR code for each URL and scan the printed proofs with more than one device. A custom channel group may be needed if the analytics product does not classify qr as a default channel.
UTM parameters do not automatically appear on a lead record. The site must deliberately capture them and decide how attribution should work.
Define the precedence rules explicitly. For example, first touch can explain how the lead was originally acquired while latest touch can explain which campaign preceded the form submission. GA4, an affiliate network, and a CRM may use different attribution models, so their totals are not expected to match exactly.
Advertising platforms may add click identifiers automatically. Linked Google Ads accounts, for example, can use auto-tagging to provide richer platform-specific dimensions than manual UTM parameters alone.
Do not disable or duplicate auto-tagging without a reason. When manual and automatic tags coexist, precedence depends on the platform, integration, consent state, and available click identifier. Test the exact configuration in the acquisition reports and preserve all required parameters through redirects.
source=email and medium=newsletter are usually less useful than a specific newsletter source paired with the email medium.instagram, Instagram, and insta can become separate rows.When the built-in UTM fields are insufficient, add clearly named project parameters without pretending that they are standard UTM fields:
audience=vip
geo=vn
funnel_stage=consideration
placement=sidebar
Avoid inventing names with the reserved-looking utm_ prefix, such as utm_group_campaign. Analytics tools will not automatically treat them as campaign dimensions. A tag manager or application must read a custom parameter and send it as an approved event parameter, or the site must store it directly in the CRM or tracker. Register a custom dimension when the analytics product requires one.
Keep every value low-cardinality and useful. Do not send one-off user identifiers, timestamps, email addresses, or unrestricted form input as dimensions.
?, uses & between parameters, and places any #fragment last.Tag the links to pages you own when their performance matters. Keep the campaign-level fields identical and use distinct utm_content values for placements you want to compare. Do not add campaign tags blindly to mailto:, tel:, unsubscribe, authentication, or unrelated third-party links.
Yes, when they are correctly URL-encoded, but lowercase Latin slugs are usually easier to type, copy, compare, and exchange between systems. Consistency matters more than the alphabet itself.
Append the first tracking parameter with an ampersand:
https://example.com/page?
id=5
&utm_source=telegram
&utm_medium=social
&utm_campaign=product_launch
It depends on the system, report scope, attribution model, consent state, and retention settings. GA4 can report first-user, session, and event-scoped acquisition differently. A CRM remembers campaign data only if the site explicitly stored it and later attached it to the lead. Do not promise persistent attribution merely because cookies are enabled.
(direct) / (none)?Direct traffic can be legitimate, such as a typed URL or bookmark. It can also appear when referral or campaign information is unavailable because a link was untagged, a redirect removed parameters, a shortener or offline document hid the referrer, consent was denied, or a blocker interfered with measurement. Test the landing URL before concluding that the report is wrong.
Later visits through the shared URL are normally credited to the values embedded in it, even though the audience has changed. That can distort campaign analysis. Be especially careful with affiliate URLs containing click-specific identifiers: follow the network's rules and never embed personal data.
Yes, if it preserves the complete query string and fragment through every redirect. Test the shortened link on desktop and mobile, and inspect the final address rather than assuming the parameters survived.
A useful tracking system is not the one with the most parameters. It is the one whose names remain consistent from the published link through analytics, the CRM, and any affiliate postback. Start with source, medium, and campaign; add content, term, IDs, or SubIDs only when they answer a real reporting question; and test the complete journey before launch.