✨NEW:Agent is hereTry free →
Free tool

UTM Generator

Build tagged campaign links in seconds. Pick a preset for Meta, Google, TikTok, or email, fill in the campaign name, and copy a clean UTM link your analytics will attribute correctly.

Presets

The page people land on. Existing query parameters are kept.

Where the traffic comes from: facebook, google, newsletter.

The channel type: paid_social, cpc, email, affiliate.

The promotion or campaign, e.g. spring_sale or launch_q3.

Keyword or audience, optional.

Ad, creative, or link variant, optional.

Your UTM link

https://www.example.com/landing?utm_source=facebook&utm_medium=paid_social&utm_campaign=spring_sale
utm_source
facebook
utm_medium
paid_social
utm_campaign
spring_sale
utm_term
not set
utm_content
not set

Works with Google Analytics, HubSpot, Cometly, and any tool that reads UTM parameters. Free, instant, no sign-up.

The five UTM parameters

Three are expected by every analytics tool; two add detail for testing. Use the same values every time so reports stay clean.

ParameterWhat it recordsExample valuesRequired
utm_sourceThe platform or site the visitor came from.facebook, instagram, google, tiktok, newsletterYes
utm_mediumThe type of channel.paid_social, cpc, email, affiliate, organic_socialYes
utm_campaignThe promotion, product push, or campaign name.spring_sale, launch_q3, black_fridayYes
utm_termThe keyword or audience, mostly for search and testing.running_shoes, lookalike_1pctNo
utm_contentThe specific ad, creative, or link, to tell variants apart.video_hook_a, carousel_v2, header_ctaNo

Google Analytics 4 also reads utm_id, utm_source_platform, utm_creative_format, and utm_marketing_tactic, but the five above cover almost every reporting need.

UTM naming conventions that keep reports clean

UTM parameters only work if everyone on the team tags links the same way. Analytics tools are case-sensitive and literal, so Facebook, facebook, and FB become three sources, and spring sale and spring_sale become two campaigns. The generator forces lowercase and replaces spaces by default for exactly this reason.

Decide your vocabulary once and write it down: a short list of allowed sources, a shorter list of mediums, and a campaign naming pattern such as objective_offer_date. Put the thing you compare most often, usually the creative or hook, in utm_content so you can see which ad variant drove the result, not just which platform.

For Meta ads, use the URL parameters field in Ads Manager with dynamic placeholders like {{campaign.name}} and {{ad.name}} so every ad is tagged automatically from its own name. Then keep the ad names themselves consistent and the whole account reports cleanly without editing a single link.

Common UTM mistakes

  • Mixed capitalization and spaces, which split one campaign into several rows.

  • Using a platform name as the medium (utm_medium=facebook) instead of the channel type (paid_social).

  • Tagging links on your own site, which turns real sessions into fake campaign traffic.

  • Reusing one campaign name forever, so you cannot compare launches or seasons.

  • Leaving utm_content empty, so you never learn which creative or hook did the work.

UTM Generator FAQ

Start your 7-day free trial

Know which ads actually drove the sale

AdStellar launches campaigns to Meta with clean tracking built in, and Creative Analytics shows which creatives, hooks, and audiences earned the results.