Facebook Ads UTM Builder

Build tracking links so Google Analytics, Shopify and your CRM can show which Facebook and Instagram ads bring sales.

The page your ad sends people to.

Filled in by Meta: fb, ig, msg or an.

The type of traffic. paid_social is the GA4 standard.

Free, no signup. We save your answers and results to improve our tools. Privacy policy

What UTM parameters do

UTM parameters are short tags added to the end of a link, like ?utm_source=fb&utm_campaign=spring_sale. When someone clicks your ad, your analytics tool reads them and records where the visitor came from. Without them, lots of Facebook and Instagram traffic shows up as “direct” or “referral”, and you can't tell which ad made the sale.

  • utm_source: the site, e.g. facebook or ig.
  • utm_medium: the type of traffic, e.g. paid_social.
  • utm_campaign: which campaign.
  • utm_term: which ad set (audience).
  • utm_content: which ad.

Use Meta's dynamic parameters

Typing names by hand into every ad is slow and easy to get wrong. Meta supports dynamic parameters: placeholders in double curly brackets that it replaces with the real names when someone clicks. {{campaign.name}} becomes your campaign's name, {{ad.name}} the ad's name, and {{site_source_name}} tells you whether the click came from Facebook, Instagram, Messenger or the Audience Network. One set of parameters works for every ad you'll ever run.

Tip: give campaigns, ad sets and ads clear names (like “Spring sale – lookalike – video 1”). Whatever you name them is what shows up in your reports.

How to add UTM parameters in Ads Manager

  • Open the ad (or tick several ads and click Edit).
  • Scroll to the Tracking section.
  • Paste the URL parameters from this tool into the URL parameters box. Leave the website URL as your normal link.
  • Publish. Meta adds the parameters to every click from then on.

Checking it works

After the ad has had some clicks, look in Google Analytics 4 under Reports → Acquisition → Traffic acquisition and switch the dimension to Session campaign. You should see your campaign names. If you see the literal {{campaign.name}} text, the link was opened outside a live ad, which is expected for test clicks.

With AdChat connected to your ad account you can ask “which of my ads are missing tracking?” instead of opening every ad. Free for 7 days.

Frequently asked questions

What UTM parameters should I use for Facebook ads?

A common setup is utm_source={{site_source_name}}, utm_medium=paid_social, utm_campaign={{campaign.name}}, utm_term={{adset.name}} and utm_content={{ad.name}}. Meta fills in the names when someone clicks, so the same parameters work on every ad and your analytics shows exactly which ad brought each visitor.

Where do I put UTM parameters in Ads Manager?

Open the ad, scroll to the Tracking section, and paste the parameters into the URL parameters box (not the website URL). Meta adds them to the end of your link automatically. You can also select several ads and edit them together.

Why do I see {{campaign.name}} in my analytics?

That happens when the link was clicked outside a live Meta ad, for example when you opened it yourself or someone shared the link, or when the parameters were pasted into a place that doesn't support dynamic tags. Inside real ads Meta replaces them with the actual names.

Should utm_medium be cpc or paid_social?

For Google Analytics 4, paid_social (or paid) puts the traffic in the Paid Social channel group. cpc works too but GA4 may group it as paid search or other. Pick one and use it on every ad.

Do UTM parameters affect my ad's performance?

No. They only add information to the link so your analytics can tell where visitors came from. They don't change who sees the ad or what you pay.

Know Which Ads Actually Bring Sales

AdChat connects to your ad account and answers questions like "which ad brought the most sales this week?" in plain English. Free for 7 days, no credit card.

No credit card needed. Then $19/month. Cancel anytime.