GA4 Standardized • Paid Social Grouping
1-Click Dynamic Macros

Meta & Facebook Ads UTM Campaign Builder & Parameter Generator

Generate standardized, error-free campaign tracking URLs for Meta & Facebook Ads. Pre-populated with utm_source=facebook and utm_medium=paid_social to guarantee accurate GA4 Default Channel Grouping.

Advertisement
AdSense Placeholder: Top Leaderboard Ad (728x90 / 320x50)

Displayed below main page header or above the tool container. • Zero CLS Container

1-Click Platform Presets
Sanitization Controls:
1-Click Dynamic Macros (Click to Insert):
Target Destination URL
Required

The exact destination landing page where visitors arrive after clicking your campaign link.

Primary GA4 Parameters
Standard Attribution Trio
e.g. google, facebook, newsletter
Quick:
e.g. cpc, paid_social, email
Quick:
e.g. summer_growth_2026
Optional Granular Tracking
Keywords, A/B Testing & IDs
Generated Campaign URL
https://omniseotools.com/pricing?utm_source=facebook&utm_medium=paid_social&utm_campaign=summer_promo_2026&utm_source_platform=meta-ads
source: facebookmedium: paid_socialcampaign: summer_promo_2026
Test Link
Bulk Campaign Tagging

Need to tag multiple landing pages at once? Try the Bulk UTM Matrix Generator.

Campaign QR Code
Enter destination URL to generate a live QR Code.
Advertisement
AdSense Placeholder: Native In-Feed Ad (Responsive)

Separates the interactive tool output from the deep technical guide. • Zero CLS Container

GA4 Channel Matching Requirements for Meta Ads

Google Analytics 4 requires all-lowercase utm_source=facebook (or instagram) and utm_medium=paid_social (or paid-social) to classify incoming ad clicks under the Paid Social default channel group. Using non-standard mediums like cpc, uppercase Facebook, or generic social causes Meta traffic to get dumped into the Unassigned bucket.

utm_source:facebook
utm_medium:paid_social
Default Channel:Paid Social

Dynamic URL Macro Tokens for Meta Ads

Supported dynamic placeholders and ValueTrack tokens for automated ad level reporting

Macro TokenTarget UTM ParameterDynamic Value Injected
{{campaign.name}}utm_campaignAutomatically replaces with the active campaign name inside Meta Ads Manager.
{{adset.name}}utm_termInserts the ad set (audience targeting) name into the tracking link.
{{ad.name}}utm_contentCaptures the individual ad creative or copy variant name.
{{placement}}utm_contentIdentifies where the ad was shown (e.g., Facebook_Desktop_Feed, Instagram_Stories).
{{site_source_name}}utm_sourceDynamically outputs 'fb', 'ig', 'msg', or 'an' depending on display network.

Step-by-Step Implementation Guide

How to deploy and verify your tracking links in Meta & Facebook Ads

  1. 1

    Configure Base Destination URL

    Enter your target landing page URL (e.g. https://example.com/shop) into the builder and verify HTTPS protocol.

  2. 2

    Insert Meta Dynamic Macros

    Click the dynamic macro buttons ({{campaign.name}}, {{ad.name}}) to automatically populate campaign and content dimensions.

  3. 3

    Copy the Generated Query String

    Click 'Copy Query String' or 'Copy Full URL' with automatic lowercase sanitization enabled.

  4. 4

    Paste in Meta Ads Manager

    Open Meta Ads Manager, navigate to the Ad Level > Tracking section, and paste into the URL Parameters input box.

  5. 5

    Verify in GA4 Realtime

    Launch your campaign and inspect GA4 Reports > Realtime to confirm session source is facebook / paid_social under Paid Social.

Frequently Asked Questions: Meta Ads UTMs

Detailed technical answers regarding Meta & Facebook Ads tracking, link configuration, and attribution

Why do Meta clicks often drop into GA4 'Unassigned'?

Meta ad clicks frequently land in the 'Unassigned' channel group because marketers either use mixed-case values (e.g. utm_source=Facebook instead of facebook) or use legacy utm_medium=cpc without custom channel rules. GA4's default regex engine strictly matches lowercase paid_social or paid-social for social sources.

Where should I paste UTM parameters inside Meta Ads Manager?

Always paste UTM parameters into the dedicated 'URL parameters' box under the 'Tracking' section at the Ad level, rather than pasting query strings directly into the 'Website URL' field. The dedicated field ensures Meta replaces dynamic tokens like {{campaign.name}} at auction time without double-encoding curly braces.

Does Meta URL-encode dynamic curly bracket macros?

If you paste dynamic curly brackets directly into the main Website URL box, Meta's system may URL-encode them as %7B%7Bcampaign.name%7D%7D, preventing the ad server from replacing the tokens. Pasting them into the dedicated 'URL parameters' field ensures proper dynamic token resolution.

Need tracking for another platform?

Switch to dedicated tracking generators for other major advertising networks

Advertisement
AdSense Placeholder: Top Leaderboard Ad (728x90 / 320x50)

Displayed below main page header or above the tool container. • Zero CLS Container