/en/tool/utm-builder/ works browser collection, server-side checks
Enter a URL and tags — the builder creates a link without breaking platform macros such as {campaign_id} and {{adset.name}}, and warns you about anything that can split your report: inconsistent capitalization, spaces, Cyrillic text, and existing tags in the URL. Tag a list of URLs in bulk and export it to CSV, or parse an existing URL back into fields and generate a QR code. A separate button checks the key question: do the tags reach the final page, or does a redirect strip them?
The most common problem with tags is not a typo but a redirect: the site sends visitors from http to https or from a URL without a trailing slash to one with a trailing slash, dropping everything after the question mark along the way. In the report, this looks like “the ad is running, but there are no visits.” Click to have our server follow the redirect chain for the completed link and show what remains in the address at the final step.
Not checked
| Step | Address | Tags | Code |
|---|
Our server performs the check: the link is sent to us, and subsequent requests are made from our server. We do not store it. The server allows thirty requests per hour from a single address.
| № | Address | Tagged link | Characters |
|---|
The last fifty links you copied, checked, or shortened. They are stored in this browser and are never sent anywhere: clearing the browser history also deletes them. “Repeat” restores the link fields.
| When | Link | What to do |
|---|
Select a platform from the presets—source and medium will be filled in automatically, and that system’s substitutions will appear below the fields: {campaign_id} for Yandex Direct, {campaignid} for Google, and {{adset.name}} for Meta. Clicking a substitution adds it to the field where the cursor was positioned.
Paste the full page URL. The builder removes existing utm tags but keeps other parameters and the anchor. If the URL contains gclid, yclid, or fbclid, it will offer to remove those too: they are identifiers for someone else’s click and do not belong in your link.
Check the notes below the link. They also show which GA4 channel your utm_medium will go to: cpc goes to paid search, social goes to organic social, and a made-up value goes to “Other,” where no one will find it.
Click “Check link.” Our server will follow the redirects with your tags and tell you whether they will reach the final page. This is the only check you cannot perform by looking at the URL, and it is what explains reports showing zero clicks.
For a list of URLs, switch to “URL list”: the tags stay the same, and the output is a table with a CSV export. You can reverse-engineer someone else’s link into fields using “Parse someone else’s.”
The input data is the same as the default field values: you can calculate it mentally and confirm that the tool is telling the truth.
The tags follow a fixed order: source, medium, campaign, content, term. Empty ones are skipped, so three will be added to the URL.
The first tag is separated by a question mark; the others use ampersands.
The result is https:\/\/example.com\/page\/?utm_source=yandex&utm_medium=cpc&utm_campaign=spring-sale
The URL is 25 characters long, “?utm_source=yandex” is 18, “&utm_medium=cpc” is 15, and “&utm_campaign=spring-sale” is 25.
The URL has 83 characters: 25 for the address and 58 for the three-tag suffix, because 18 + 15 + 25 = 58. These exact numbers appear in the counters below the link.
Standard URL encoding turns a curly brace into %7B, and the platform dashboard does not recognize that substitution—the report receives “%7Bkeyword%7D” instead of the keyword phrase. Here, braces remain unchanged during encoding. Lowercasing and replacing spaces inside braces are also disabled: {{adset.name}} and __CID_NAME__ are case-sensitive, so normalized versions of them will not work.
The site server responds to your URL with a redirect—from http to https, from a URL without a trailing slash to one with a trailing slash, or from a domain without www to one with www. Some of these rules only carry over the path and discard everything after the question mark. The person reaches the page, but the tags do not, so the campaign looks dead in the report. The checker follows the redirect chain for your URL and shows what remains in the address at the final step.
Yes. Values are passed as entered, so yandex and Yandex will appear as two different sources in the report. That is why the “Lowercase” toggle is enabled by default: standardizing the spelling is cheaper than stitching the strings together in the report later.
It works, but every letter turns into two groups like %D0%B2. The URL becomes three times longer, is no longer readable, and some systems encode it again when passing it between services, corrupting it. “Весенняя распродажа” becomes vesennyaya_rasprodazha after transliteration: the meaning is the same, but you can see what it says.
GA4 organizes traffic into channels using the source and medium pair: cpc with a search source means paid search, cpc with a social network means paid social, social means organic social, email means email, and referral means referral traffic. A value outside this list goes to “Unassigned,” so you have to assemble the channel manually. The hint below the field shows the channel immediately and flags nonstandard values.
These are identifiers for a specific click that the ad system adds automatically. If they are already in the URL you are using to build a link, you are copying someone else’s click: it has already been processed and only gets in the way in your link. The builder detects them and offers to remove them with one click.
No, not for the click—the URL length does not matter. It causes problems elsewhere: a long link is inconvenient to dictate and type. If the link is for a person rather than an ad system, use a QR code—it is generated here—or shorten it with the button below.
Writes the title and description and instantly shows how they appear in search results.
Open
Shows the full path from the URL to the final page and the response codes.
Open