PixelSpyer

UTM link builder

UTM parameters tell your analytics where a visit came from. Build tagged links in seconds, use platform presets with dynamic parameters so every ad fills in its own campaign and ad name, and copy either the full URL or just the parameter string for Ads Manager.
Launch utilitiesFreeNo sign-up. Results update as you type.

Build your link

Preset

Paste the parameters into the URL parameters field of each ad in Meta Ads Manager. Meta fills in the {{...}} values when the ad is served.

The platform, e.g. facebook

The channel type, e.g. paid_social or cpc

Campaign name or code

Joins cost data in GA4

Ad set, audience or keyword

The ad or creative

Your tagged link

Full URL

https://yourstore.com/products/best-seller?utm_source=facebook&utm_medium=paid_social&utm_campaign={{campaign.name}}&utm_id={{campaign.id}}&utm_term={{adset.name}}&utm_content={{ad.name}}

Open link
For Meta's URL parameters field

utm_source=facebook&utm_medium=paid_social&utm_campaign={{campaign.name}}&utm_id={{campaign.id}}&utm_term={{adset.name}}&utm_content={{ad.name}}

Parameters in this link
ParameterValue in reports
utm_sourcefacebook
utm_mediumpaid_social
utm_campaign{{campaign.name}}filled in by the platform
utm_id{{campaign.id}}filled in by the platform
utm_term{{adset.name}}filled in by the platform
utm_content{{ad.name}}filled in by the platform
  • Placeholders in braces or underscores are filled in by the ad platform. If you open the link directly they stay as they are.

How to use the UTM link builder

  1. Paste the landing page URL.

  2. Pick a preset for the platform, or start from a blank set of fields.

  3. Adjust source, medium and campaign, and optionally term, content and campaign ID.

  4. Copy the full URL, or copy only the parameters into the URL parameters field in Meta Ads Manager.

Anatomy of a UTM link

  • URL=landing page ? utm_source & utm_medium & utm_campaign & utm_term & utm_content
  • Source / medium=facebook / paid_social
utm_source
Where the traffic comes from: the platform or site, such as facebook, instagram, tiktok or google.
utm_medium
The type of channel, such as paid_social, cpc or email. Analytics tools use it to group traffic into channels.
utm_campaign
The campaign name or a fixed campaign code.
utm_term
Originally the paid search keyword. On social it is commonly used for the ad set or audience.
utm_content
Which ad or creative was clicked, useful for comparing creatives inside a campaign.
utm_id
A campaign ID. Google Analytics 4 uses it to join cost data imports with sessions.

Parameter names are fixed, but values are case-sensitive in most analytics tools, so facebook and Facebook are reported as two sources.

Worked example

One parameter string for every Meta ad

  1. Landing page: https://example.com/products/serum.
  2. Preset: Facebook, which fills in Meta's dynamic parameters.
  3. Result: https://example.com/products/serum?utm_source=facebook&utm_medium=paid_social&utm_campaign={{campaign.name}}&utm_id={{campaign.id}}&utm_term={{adset.name}}&utm_content={{ad.name}}
  4. When the ad is served, Meta replaces each placeholder with the real campaign, ad set and ad names.
Every ad in the account reports to analytics under its own campaign, ad set and ad name without anyone editing links by hand.

Naming conventions that survive scale

UTM values are case-sensitive in most analytics tools, so Facebook, facebook and FB become three different sources. Pick one convention, write it down and enforce it across the team.

  • Lowercase everything.
  • Use underscores or hyphens instead of spaces.
  • Keep source as the platform (facebook, instagram, tiktok, google) and medium as the channel type (paid_social, cpc, email).
  • Put the variable parts, such as campaign, audience and creative, into campaign, term and content rather than source or medium.
  • Prefer IDs for reporting joins: names change when someone renames a campaign, IDs do not.

Meta dynamic parameters

Instead of hard-coding names, Meta can fill values in when the ad is served. Add them in the URL parameters field at the ad level so they apply to every link in the ad.

ParameterFilled with
{{campaign.name}}Campaign name
{{adset.name}}Ad set name
{{ad.name}}Ad name
{{campaign.id}}, {{adset.id}}, {{ad.id}}Numeric IDs that stay the same when you rename things
{{placement}}Where the ad was shown, such as Facebook Feed or Instagram Stories
{{site_source_name}}Which Meta app served the ad: fb, ig, msg or an

Getting traffic into the right GA4 channel

Google Analytics 4 assigns sessions to channels using source and medium. For traffic to land in Paid Social, the source should be a recognised social site, such as facebook or instagram, and the medium should signal paid traffic, for example paid_social, cpc or ppc. A medium of social on its own is generally treated as Organic Social.

  • Never tag internal links on your own site; doing so overwrites the original source of the session.
  • Leave Google Ads auto-tagging on. GA4 relies on it for Google Ads data, and manual UTMs mainly help other analytics tools.
  • Open a tagged link in a private window and check it in real-time reports before launch.

Questions and answers

What are UTM parameters?+

Tags added to the end of a URL that tell analytics tools where a visit came from: utm_source, utm_medium and utm_campaign, plus optional utm_term, utm_content and utm_id.

Which UTM parameters are required?+

Source is the essential one, and most teams treat source, medium and campaign as required so that every visit can be attributed to a channel and a campaign. Term, content and ID are optional but useful for comparing audiences and creatives.

How do I add UTMs to Facebook ads?+

In Ads Manager, open the ad, find the Tracking section and paste the parameter string (everything after the question mark) into the URL parameters field. Meta appends it to your website URL. Use dynamic parameters such as {{campaign.name}} so each ad fills in its own values.

Do UTM parameters affect SEO?+

Not when they are used on paid ad links. Avoid them on internal links and on links you want search engines to index, and set a canonical URL on landing pages so tagged versions are not treated as separate pages.

Should utm_source be facebook or fb?+

Either works if you are consistent. Many teams use facebook and instagram, or let Meta fill in {{site_source_name}}, because recognisable source names map cleanly to analytics channel groups.

Why do my reports show {{campaign.name}} literally?+

The placeholder was not replaced, usually because the link was opened outside an ad, for example when testing it in a browser, or because it was not entered in a format Meta recognises. Put dynamic parameters in the URL parameters field and check the spelling and the double braces.

Related free tools

Numbers rarely travel alone. These tools pick up where this one stops.

See all free tools

See the ads behind the numbers

Find competitors' long-running Facebook and Instagram ads, study their offers and landing pages, and plan campaigns with real examples.

UTM builder: campaign URLs with Facebook and TikTok presets · PixelSpyer