How do you build a UTM link?
Paste the landing page URL, fill in the five fields or press a platform preset, and copy the tagged URL. The link updates as you type.
- Landing page URL. Paste the page the ad sends people to. If you leave out
https://, the builder adds it. - Fill with platform macros. Press Meta or TikTok to fill the fields with that platform's dynamic parameters. The macro table and its source appear under the result.
- Check source and medium. Source is where the visit came from and medium is how. TikTok's best practices page describes a paid TikTok ad as source TikTok and medium paid.
- Keep lowercase on. It lowercases your values, replaces spaces and symbols with underscores, and leaves macros as typed.
- Read the warnings under the tagged URL, then press Copy URL.
If the URL already has UTM parameters, the builder replaces them. Other parameters on the URL are kept.
Which dynamic parameters do Meta and TikTok support?
Both platforms fill macros at click time with the real campaign, ad set and ad names. These are the macros the presets use, from each platform's help page, checked 12 Oct 2026.
Meta (Facebook and Instagram), from Specifications for dynamic URL parameters:
| Macro | Filled with |
|---|---|
{{campaign.name}} |
Campaign name |
{{campaign.id}} |
Campaign ID |
{{adset.name}} |
Ad set name |
{{adset.id}} |
Ad set ID |
{{ad.name}} |
Ad name |
{{ad.id}} |
Ad ID |
{{placement}} |
Placement |
{{site_source_name}} |
Site source name |
Meta's own example is utm_campaign={{campaign.name}}&utm_content={{ad.name}}. Name parameters keep the name the ad had when it was first published, so renaming an ad later does not change the value in your reports.
TikTok, from About UTM parameters:
| Macro | Filled with |
|---|---|
__CAMPAIGN_NAME__ |
Campaign name |
__CAMPAIGN_ID__ |
Campaign ID |
__AID_NAME__ |
Ad group name |
__AID__ |
Ad group ID |
__CID_NAME__ |
Creative name |
__CID__ |
Creative ID |
__ADID_V2_NAME__ |
Ad name (upgraded Smart+ campaigns only) |
__ADID_V2__ |
Ad ID (upgraded Smart+ campaigns only) |
__PLACEMENT__ |
Placement type (TikTok, TikTok Pangle) |
TikTok's URL Auto-attach fills the source (TikTok) and medium ("Paid") for you, along with campaign ID and name. TikTok suggests utm_term for your own string, such as the ad group name.
What do the presets fill in?
| Field | Meta preset | TikTok preset |
|---|---|---|
| utm_source | Empty: type your own, for example meta | tiktok |
| utm_medium | Empty: type your own, for example paid_social | paid |
| utm_campaign | {{campaign.name}} |
__CAMPAIGN_NAME__ |
| utm_term | {{adset.name}} |
__AID_NAME__ |
| utm_content | {{ad.name}} |
__CID_NAME__ |
Meta's page does not set source or medium, so the Meta preset leaves them for you, and the builder warns until source is filled.
Worked example: one URL with each preset
Paste https://example.com/product, press TikTok, and leave lowercase on. The tagged URL is:
https://example.com/product?utm_source=tiktok&utm_medium=paid&utm_campaign=__CAMPAIGN_NAME__&utm_term=__AID_NAME__&utm_content=__CID_NAME__
No warnings show, because source is set, nothing has capitals outside the macros and there is no # in the URL.
Now press Meta, type meta as source and paid_social as medium. The result is:
https://example.com/product?utm_source=meta&utm_medium=paid_social&utm_campaign={{campaign.name}}&utm_term={{adset.name}}&utm_content={{ad.name}}
Two cases that trigger warnings:
- A # in the URL.
https://example.com/#topwith source meta becomeshttps://example.com/?utm_source=meta#top. The builder moves the # part to the end and warns, because TikTok's best practices page says everything after a # is dropped. - Capitals. With lowercase off, a medium of
Paidand no source gives two warnings: source is empty, and the medium has capital letters.
With lowercase on, a campaign typed as Spring Sale!! 2026 becomes spring_sale_2026.
How do you tag many URLs at once?
Open Many URLs (CSV) and paste either a plain list or CSV rows. The table shows each tagged URL with its warnings, and Download CSV saves anglr-utm-urls.csv with the columns url, tagged_url and warnings.
- Plain list: one URL per line. Every URL gets the shared values, which you can fill with a preset.
- CSV: start with a header row that has a
urlcolumn and any ofutm_source,utm_medium,utm_campaign,utm_termandutm_content. Each row uses its own values, and empty cells fall back to the shared values. Commas or tabs both work, so you can paste straight from a spreadsheet.
Use Paste a CSV example to see a TikTok row and a Meta row side by side.
How do you set an ad naming convention?
Open Ad names, fill in the parts you use, put them in your order with the up and down arrows, and pick a separator: _, | or -. Empty parts are skipped.
The parts are launch date, product, format, angle, hook, creator or editor, and version. Each part is lowercased and its spaces become a joining character that differs from the separator, so the parts stay readable. Fill in an example with _ as the separator gives:
2026-10-12_water-bottle_ugc-selfie_keeps-ice-all-day_h1_creator-initials_v1
Name each ad this way before you publish it, then put {{ad.name}} (Meta) or __CID_NAME__ (TikTok) in utm_content. Each visit then carries the format, angle and hook, so you can compare results by creative in your analytics, for example cost per purchase with the CPA calculator or return on spend with the ROAS calculator. A fixed pattern also makes creative testing easier to read.
What are the limits of the UTM builder?
- It does not check that macros fill. The builder keeps macros as typed. Whether a macro is replaced depends on the platform and campaign type; check the live link in the platform's preview before launch.
- Only the five standard UTM fields. Other parameters already on your URL are kept, but the form has no fields for custom parameters.
- One spelling at a time. Values are case-sensitive. TikTok's Auto-attach writes TikTok and "Paid", while the preset writes tiktok and paid. Pick one spelling and use it on every campaign, and check that each parameter appears only once, since TikTok's best practices page says analytics may keep only the last value of a repeated parameter.
- Nothing is saved. Values stay in the browser tab and are not stored or sent anywhere.
Brands that want a steady supply of ads to test can see how Anglr works for brands: Anglr can run a full analysis of your brand and write the briefs, and videos arrive daily on a rolling basis. All free tools are listed on the tools page.
FAQ
What is a UTM builder?
A UTM builder adds tracking parameters to the end of a link, such as utm_source=tiktok, so your analytics tool can tell which platform, campaign and ad a visit came from. This one runs in your browser and needs no account.
What UTM parameters should I use for Facebook ads?
Meta's own example is utm_campaign={{campaign.name}}&utm_content={{ad.name}}. Add your own utm_source and utm_medium, and optionally utm_term={{adset.name}}. The Meta preset fills the three macros for you.
Does TikTok add UTM parameters automatically?
It can. TikTok's URL Auto-attach fills the campaign source (TikTok), medium (Paid), ID and name, per TikTok's help page. Use this builder when you want a fixed set of parameters or the same pattern across platforms.
Are UTM parameters case-sensitive?
Yes. TikTok's best practices page says analytics tools may treat two links that differ only in capitals as different. Leave the builder's lowercase option on to keep one spelling.
Can I build UTM links in bulk?
Yes. Open Many URLs (CSV), paste one URL per line to apply shared values, or paste CSV rows with a url column to set values per row. Download the result as a CSV.
What is a good ad naming convention?
One fixed order of parts, such as launch date, product, format, angle, hook, creator and version, joined by one separator and written in lowercase. The Ad names tab builds names to the order you set.
Sources
- Meta Business Help Center – Specifications for dynamic URL parameters in Meta Ads Manager
- TikTok Ads Help Center – About UTM parameters
- TikTok Ads Help Center – How to add URL parameters to your website URL in TikTok Ads Manager
- TikTok Ads Help Center – Best practices when adding UTM parameters
Checked: 12 Oct 2026