Does this keep Meta dynamic macros readable?
Yes. Meta-style `{{...}}` macros stay readable in the final URL instead of being collapsed into encoded braces.
Can I still use this for Facebook Ads naming?
Yes. Meta Ads and Facebook Ads workflows overlap here, and this page is tuned for the same paid-social link-building job.
Does it upload URLs anywhere?
No. The builder runs locally in the browser and only prepares the final URL for copying or export.
Where do UTM parameters go in Meta Ads Manager?
In the URL parameters field at ad level, under the destination section. Enter them without a leading question mark: utm_source=meta&utm_medium=paid_social and so on. Meta appends them to the website URL when the ad serves.
What are Meta's dynamic URL parameters?
Double-brace macros that Meta substitutes at delivery: {{campaign.name}}, {{adset.name}}, {{ad.name}}, {{ad.id}}, {{placement}} and {{site_source_name}}. They are the only way to get campaign structure into your analytics without maintaining it by hand.
Should utm_source be facebook or meta?
Either works, as long as you never change your mind. GA4 groups by the exact string, so switching from facebook to meta halfway through a year creates two sources and breaks every year-over-year comparison. This page defaults to meta.
Does fbclid interfere with my UTMs?
No. Meta appends fbclid at click time for its own attribution, and it sits alongside your UTM parameters. It does mean your landing page receives a parameter you did not set, so make sure any redirect or canonical logic on the site does not choke on it.
Why does the tool lowercase my campaign name?
Because GA4 UTM values are case-sensitive, so Summer Sale and summer sale become separate campaign rows. Lowercasing and hyphenating static values stops that fragmentation before it starts. Macros in double braces are left untouched.