Updated · Built and checked by the PlinzoTools team, formulas tested against published sources
Build a URL with UTM tracking parameters for Google Analytics campaign tracking.
https://www.example.com/?utm_source=newsletter&utm_medium=email&utm_campaign=spring-sale
This tool appends the 5 standard UTM (Urchin Tracking Module) parameters to any URL, the standard Google Analytics convention for tracking which campaigns, sources, and mediums drive traffic.
Enter your website URL and any of the 5 UTM fields (source and medium are the most commonly required). The tagged URL appears instantly.
utm_source -- where the traffic comes from (e.g. "newsletter", "google")
utm_medium -- the marketing medium (e.g. "email", "cpc")
utm_campaign -- the specific campaign name
utm_term -- optional, for paid search keyword tracking
utm_content -- optional, for A/B testing different links/creatives
The base address you enter is parsed as a full URL, so it must include a scheme such as https://; a bare domain like example.com is reported as invalid. Each UTM field you fill in is then set as a query parameter. Empty fields are skipped entirely. If the address already contains a parameter with the same name, for instance an existing utm_source, the new value replaces it rather than adding a duplicate. Any other query parameters already on the link are left in place, and a fragment such as a section anchor stays at the end.
Values are encoded automatically. A space in a value becomes a plus sign in the resulting link, and characters such as an ampersand or accented letter are percent-encoded. That means you can type natural text, but you should still prefer clean, simple values for reporting.
Suppose you send a spring newsletter linking to https://example.com/offers. You enter source as newsletter, medium as email, and campaign as spring_launch, leaving the rest blank. The result is https://example.com/offers?utm_source=newsletter&utm_medium=email&utm_campaign=spring_launch. If you later run two button variants in the same email, you can fill utm_content with button_top for one link and button_bottom for the other, and analytics can separate their clicks.
Do not add UTM parameters to links that point from one page of your own site to another. In many analytics setups that starts a new session and overwrites the real original source of the visit, which corrupts your data. Reserve them for links placed on external channels you control, such as emails, ads, social posts, QR codes and partner placements. Also avoid putting personal information, such as an email address, in a UTM value, because the whole link can be seen, shared and logged.
The tool only builds the link. It does not verify that the page exists, shorten the link, or connect to any analytics account. It also does not enforce naming rules or warn about capitalization. How the values appear in reports depends on how your analytics platform is configured, so check its documentation. If people share your tagged link widely, the tags travel with it, so consider whether that attribution is what you want. The URL Parameter Remover on this site can strip them for a clean share.
They shouldn't affect rankings, but they do create a distinct URL -- pair with a proper canonical tag if the same page is reachable both with and without UTM params. See the Canonical URL Checker.
The tool does not force any of them. Analytics platforms generally expect source and medium to be present for a campaign to be classified sensibly, and campaign is strongly recommended.
Existing parameters are kept and the UTM ones are added. If the link already has a UTM parameter of the same name, its value is replaced.
Query values are encoded automatically. To keep reports tidy, use underscores instead of spaces in your values.
Yes, and that is a good use case since it lets you measure scans separately. Use a unique campaign or content value for each printed placement.
Reference: Google Search Central