Skip to content
OwnBio
Free tool

Free UTM Builder (With the Naming Rules That Keep Your Reports Readable)

A UTM link is a plain link wearing a name tag: five optional parameters that tell the destination's analytics where a visitor came from. The tool builds them correctly and enforces the one discipline that separates readable reports from soup. Free, client-side, output never gated.

Quick start:

Your tagged link

Runs entirely in your browser. Nothing you type is sent to our servers.

What your report will read

SourceMediumCampaign

One clean row instead of soup. The names above become the labels your site's analytics group arrivals by, so keep them lowercase and consistent, forever.

What is a UTM link and when do you need one?

A UTM link is a normal URL with tracking parameters appended, and you need one whenever you place a link to a site whose analytics you control and want to know, later, which placement sent each visitor: the newsletter link versus the Instagram-bio link versus the QR on the flyer, all pointing at the same page, each wearing its own tag, so the site's analytics can split the arrivals by origin. The mechanics are simple enough that the tool above is arguably overkill, the parameters are just text on a URL, and the tool's real service is the part humans get wrong, the naming consistency, which it enforces as you type. When you do not need one: for taps on a bio page's own buttons, which the page counts natively and better, per the honest map two sections down.

What do the five UTM parameters mean?

Three do the work and two refine, and the fastest way to hold them is as the answers to where, what kind, and which push.

utm_source (where): the platform or property the link sits on: instagram, tiktok, newsletter, flyer. If a person tapped it somewhere, source names the somewhere.

utm_medium (what kind): the placement type: bio, story, email, qr, paid. Medium groups sources into kinds, so a report can answer "does social beat email" without listing every platform.

utm_campaign (which push): the effort's name: eid-2026, spring-launch, july-offer. Campaign is the tag that lets one push spanning five placements read as one line.

utm_content (which variant), optional: distinguishes two placements sharing the first three: the story's top link versus its sticker, button A versus button B. Use it when you genuinely run variants; skip it otherwise, because unused precision is clutter. utm_term (which word), optional: historically the paid-search keyword slot; outside paid search, most people should leave it collapsed, exactly as the tool does.

The worked example, built in the tool in ten seconds: your July offer, linked from your Instagram story, becomes yoursite.com/offer?utm_source=instagram&utm_medium=story&utm_campaign=july-offer, and when arrivals appear in your site's analytics labeled with those three answers, the report has already written itself.

What are the naming rules, and why do they matter?

Three rules, and they matter because analytics platforms treat every spelling as a different thing: lowercase always (Instagram and instagram are two rows in your report, forever); dashes, never spaces (spaces become %20 and reports become archaeology); one word per concept, written down (pick instagram or ig, newsletter or email, once, and keep a note of the choices, because the report that splits one channel across three names has quietly lied to you). The tool enforces the first two as you type and the templates encode sensible defaults for the third, and the reason this page treats naming as the headline rather than a footnote is that naming is where UTM projects actually die: not in the tagging, which is easy, but six months later, in a report nobody can read because May's links said IG_Story and June's said instagram-stories. The convention you keep is worth more than the parameters you know, and a small team's whole convention fits on an index card: sources you use, mediums you use, and the campaign-name pattern ([occasion]-[year] wears well).

Bio-page taps count themselves, free

Per-link counting, no tags required

Which tracking job belongs to which instrument?

Three instruments, three jobs, and the honest map is this tool page's most useful paragraph, because the most common UTM mistake is aiming the instrument at the wrong job. UTM tags label arrivals at destinations whose analytics you control: your website, your store, your landing page. They answer "which placement sent this visitor to my site." A bio page's per-link counts measure taps on the page itself, natively, per link, per source, free, per the measurement doctrine; UTM cannot see those taps, because the tap happens before any destination's analytics load. Per-campaign tracked links (Smart Links on OwnBio, referral-unlocked, stated per the standing disclosure) refine the bio page's counting to one-link-per-placement precision when volume earns it.

The practical routing: tagging your bio link itself (?utm_source=instagram&utm_medium=bio) is correct and useful when the link points at your website, tells your site's analytics the visitor came via the bio, and is exactly the native-links workaround this tool exists to serve; measuring which buttons get tapped on a bio page needs no tags at all, the page counts; and the two reports answer different questions about the same funnel's two halves, which is why running both is normal and confusing them is the classic error.

What are the copy-ready conventions per channel?

The template row above encodes these; here they are as a reference, each a source/medium pair with the campaign left to your push's name. Instagram bio: instagram / bio. Instagram story: instagram / story (add utm_content for sticker-versus-mention when you run both). TikTok bio: tiktok / bio. YouTube description: youtube / description. Newsletter: newsletter / email. Printed QR: flyer or packaging or storefront as source, qr as medium, which gives print placements the per-location grading the QR doctrine wants, one code per placement, each tagged before generating (build the link here, then generate the code on OwnQR). Paid placements: keep paid in the medium (instagram / paid) so organic and paid never blur in the same report. The convention's last rule: tag everything or accept fog, because every untagged placement's arrivals land in your report as "direct", and a report that is one-third mystery meat teaches nothing, which is the same completeness logic as the click playbook's surface checklist: the setup is one sitting, and it compounds.

What mistakes ruin UTM tracking?

  • Inconsistent names. The report split across IG, Instagram, and instagram. The index-card convention, kept.
  • Spaces and capitals. %20 archaeology. The tool cleans as you type; let it.
  • Tagging internal links. UTM tags on links within your own site overwrite the visitor's real origin. Tags go on links placed elsewhere, pointing in.
  • Aiming UTM at bio-page taps. The wrong instrument; the page counts its own buttons. The honest map above.
  • Precision nobody reads. utm_term on a story link, utm_content on everything. The trio does the work; add the pair only for real variants.
  • The half-tagged campaign. Three placements tagged, two forgotten, the report a fog of "direct". Tag at placement time, every time.
  • Never reading the report. Tags without the weekly look are decoration. The ritual applies to campaign reports too: one look, one lesson, one change.

Do you need UTM links for a bio page?

For the page's own buttons, no, the page counts every tap natively, per link and per source, which is better data than UTM could produce there; for the links you place elsewhere that point at your own site, yes, and this tool builds them clean. The two instruments together cover the funnel's whole length: the page's counts tell you which buttons earn, the tags tell your site which placements deliver, and the measurement guide turns both into the weekly decisions. Build the links above, keep the index card, and the report you read in December will still make sense, which is the entire promise of the discipline this page exists to enforce. If you want a tool for the other half, the WhatsApp link generator builds the chat-door links these tags cannot replace. And if the links you are tagging are affiliate links, the guide on promoting affiliate links with disclosure done right covers organizing and disclosing them.

UTM builder: FAQ

What is a UTM link?

A normal URL with tracking parameters appended, typically source, medium, and campaign, that tell the destination site's analytics where the visitor came from and which push sent them. yoursite.com/offer?utm_source=instagram&utm_medium=story&utm_campaign=july-offer reads as: from Instagram, via a story, during the July offer.

Which UTM parameters do I actually need?

Three: source (where the link sits), medium (what kind of placement), and campaign (which push). Content and term are optional refinements for distinguishing variants that share the first three. Most small-business tracking runs perfectly on the trio, and unused precision just clutters reports.

Why must UTM tags be lowercase?

Because analytics platforms treat every spelling as a separate value: Instagram and instagram become two rows that never merge, splitting one channel's data across a report. Lowercase-always, dashes-not-spaces, and one-word-per-concept are the three rules, and this builder enforces the first two as you type.

Should I put UTM tags on my link in bio?

On the bio link itself when it points at your own website, yes: instagram / bio tells your site's analytics the visitor arrived via the bio. On a bio page's own buttons, no: the page counts those taps natively, per link, and UTM cannot see them because they happen before any destination loads.

Do UTM links work for QR codes?

Yes, and it is the print world's grading system: tag the URL per placement (source flyer, storefront, or packaging, medium qr) before generating each code, and every placement's scans arrive labeled in your site's analytics. Build the link here, then generate the code on a proper QR tool.

Is this UTM builder really free?

Yes: it runs entirely in your browser, sends nothing to any server, requires no signup, and never gates its output. It also enforces the naming conventions automatically, which is the part humans get wrong, and offers one-tap templates for the common placements.

What is the difference between utm_source and utm_medium?

Source names the property (instagram, newsletter, flyer); medium names the placement kind (bio, story, email, qr). Together they let reports answer both the specific question (did Instagram send visitors?) and the categorical one (does social beat email?) without renaming anything.

Why do my UTM reports show everything as "direct"?

Usually the half-tagged campaign: untagged placements' arrivals fall into "direct", fogging the report. Tag every link you place at placement time, keep one written convention for names, and the fog clears forward from that day. Past untagged traffic cannot be relabeled retroactively.

Can UTM tags track clicks on my bio page buttons?

No; that is the wrong instrument. The tap on a page's button happens before any destination's analytics load, so tags cannot see it. A bio page with built-in per-link counting measures those taps natively, and the two reports together cover the funnel's two halves.

What campaign name should I use?

A pattern you can keep: [occasion]-[year] wears well (eid-2026, spring-launch-2026), lowercase with dashes, specific enough to recognize in December. The name's job is being findable in a report months later, which consistency serves better than cleverness.

Claim your OwnBio handle before someone else does.

Create a free page with links, WhatsApp, bookings, lead forms, QR codes and analytics — no card needed.

Free forever · No credit card · No ads · No forced watermark

Your handle is first-come, first-served. Continue now to claim it while creating your free page.