UTM URL Generator Free UTM builder

Guide

UTM parameters for Meta Ads

Meta Ads Manager will tell you which ad spent money. GA4 will not, unless the landing URL carries tags. Facebook and Instagram clicks without UTMs are a common reason “paid social is down” when the ads account looks fine. There is no gclid here. The campaign URL is the record.

Recommended values

ParameterUseExample
utm_sourcePlatform people sawfacebook, instagram
utm_mediumPaid social, not cpcpaid_social
utm_campaignThe program, one nameretargeting-spring
utm_contentAd or creativecarousel-a, hook-v3
utm_termOptional ad set or audiencelal-purchasers
utm_idOptional Meta campaign IDthe numeric campaign id

Decide whether Instagram placements use instagram or stay on facebook because the account is one Ads Manager. Either rule works. Two rules in one account do not. Write it in the sheet. Organic posts and bios use utm_medium=social so paid and organic stay split — that lives in UTM for social.

Why not cpc on Meta

GA4 default rules treat cpc as a paid-search-style medium. A facebook source with cpc often looks like Paid Search. That makes Search look like a hero and Paid Social look empty. Use paid_social. Confirm in the channel checker and in Unassigned if you already shipped Paid Social with a space.

Where to put the URL in Ads Manager

Build the full tagged URL in the UTM builder (Meta ads preset), then paste it as the website URL on the ad. If the account uses the URL parameters field, keep the same lowercase keys. Dynamic tokens from Meta can fill campaign or content — if those tokens include spaces or Title Case, either sanitize to slugs or accept fragmentation. After you publish, click the ad on a phone (or use ads preview) and confirm the address bar still has the UTM query after any redirect.

Example:

https://example.com/sale?utm_source=instagram&utm_medium=paid_social&utm_campaign=spring-sale-2026&utm_content=reel-hook-v2

What fbclid does and does not do

Meta appends fbclid for its own measurement. The click ID inspector will show it. GA4 does not turn fbclid into Session campaign. A URL that only has fbclid is still untagged for site reporting. Do not delete fbclid. Do not copy it into a UTM field. Add source, medium, and campaign yourself. Same story as gclid, inverted: Google can import from gclid; Meta cannot import a campaign name into GA4 from fbclid.

What usually breaks

  • A shortener or Instant Experience that drops the query string.
  • A new campaign name for every creative (use content instead).
  • Mixed case: Facebook vs facebook.
  • Medium social on a paid ad, which inflates Organic Social.
  • Advantage+ / catalog ads that inherit an old untagged destination.

Validate a live preview URL in the validator. Compare Google and Meta on the same program: Google Ads UTMs. If Ads Manager and GA4 still disagree after tags exist, read why the numbers differ before you rebuild the account.

FAQ

UTM builder questions

What UTM parameters should I use for Facebook and Instagram ads?

utm_source=facebook or instagram, utm_medium=paid_social, utm_campaign=the program name, utm_content=the ad or creative. Optional: utm_id for the Meta campaign ID. Do not use cpc if you want Paid Social in GA4.

Why does Meta traffic show as Direct in GA4?

Untagged website URLs and some in-app browsers arrive without parameters. fbclid is not a campaign name. Add UTMs on every ad. Confirm the URL after any redirect still includes the query string.

Can I use Meta’s dynamic URL parameters?

Yes. Site source name, campaign name, ad set, and ad name tokens can fill UTM fields. Map them to lowercase slugs or accept that Meta’s human names may include spaces — then decide whether to sanitize in a suffix or live with a split.