UTM builder for Meta ads

UTM builder for Facebook ads
tag your Meta ads without breaking the macros

Preset with paid-social and the right source. Turn normalization off when you paste a dynamic macro - that part has to stay exactly as Meta wrote it.

Start from a channel

Where the traffic comes from

Channel type - analytics groups by this

Which campaign this link belongs to

Paid keyword, usually filled in by the ad platform

Which creative or placement was clicked

Non-standard, supported for teams already using it

Your tagged URL

Enter a destination URL to see the result

QR code for this link

Generated in your browser - the URL is never uploaded.

Build a link above and its QR code appears here.

Logo in the centre

Putting your logo inside the code is a paid Revolink feature.

See plans

Your presets

No presets yet. Fill in the fields above and save the combination you keep retyping.

These presets live in this browser only

They survive a refresh, but they do not follow you to another device and your teammates cannot see them. A free Revolink account stores three UTM templates on the server - unlimited on paid plans.

Save presets to an account

This URL is long, and it only tells you where clicks came from

Shorten it with Revolink and you also get click counts, geography, device breakdown - and the UTMs survive the redirect.

Shorten and track

The one place to switch normalization off

Everywhere else, lowercasing values protects your data. Here it destroys it: {{campaign.name}} lowercased is no longer a macro Meta recognizes, and the literal text ends up in your reports instead of the campaign name.

Meta fills in half the link for you

Facebook Ads is the one channel where you are not writing final values but a template the platform completes at delivery. That is powerful - and it is why the usual tagging advice needs an exception here.

Dynamic macros must keep their exact case

Meta fills in placeholders like {{campaign.name}} and {{ad.id}} at delivery time, and it only recognizes them written exactly that way. Lowercasing them turns the macro into literal text that never gets replaced - this is the one place where normalization has to be switched off.

Paid is not the same medium as organic

Anything you paid to distribute belongs under utm_medium=paid-social. Leaving it as social merges budget with organic reach, and the report can no longer answer whether the spend did anything.

fbclid arrives whether you want it or not

Meta appends its own click identifier to the destination. It does not interfere with your UTM parameters, but it does make the final URL long - worth knowing before you paste that link anywhere a human will see it.

Set parameters at the ad level, not in the destination

The URL parameters field is per-ad, which is exactly the granularity that makes utm_content useful. Putting them into the destination URL by hand means editing every ad separately and eventually missing one.

Running organic posts too? Those belong under Instagram with a different medium, or use the full builder.

Common questions

Meta ads tracking, answered

What utm_source and utm_medium should I use for Facebook Ads?

utm_source=facebook and utm_medium=paid-social. Use instagram as the source when the placement is Instagram and you want to separate the two, and keep paid-social for anything you paid to run - organic posts are the ones that belong under social.

Which dynamic macros does Meta support in URL parameters?

The commonly used ones name the campaign, ad set and ad, in both name and id form - {{campaign.name}}, {{campaign.id}}, {{adset.name}}, {{adset.id}}, {{ad.name}}, {{ad.id}} - along with {{placement}} and {{site_source_name}}. Meta's own ad-setup documentation is the authoritative list, since it changes over time.

Why is my macro showing up literally as {{ad.name}} in reports?

Because something changed its form before delivery - most often lowercasing, a stray space, or the braces being URL-encoded. The macro has to reach Meta character for character. Turn off value normalization in the builder above when you are using them.

Should I use UTM parameters if I already have the Meta pixel?

Yes, they answer different questions. The pixel reports inside Ads Manager, using Meta's own attribution. UTM parameters are what let your analytics platform, your CRM and every other tool see the same traffic in the same terms as every other channel you run.

Route Smarter. Convert More.

Stop sending everyone to the same page. Route by location, device, and time - start free, no credit card required.

Start for Free - No Card Required

Free forever Β· No credit card Β· Cancel anytime

Already have links? Import them