How Should You Structure UTMs Across Meta, LinkedIn, and TikTok?

If you’re running paid social campaigns across Meta, LinkedIn, and TikTok, your UTM structure can get messy surprisingly quickly.

One campaign might use:

utm_source=facebook&utm_medium=paid

Another:

utm_source=linkedin&utm_medium=cpc

And TikTok might be:

utm_source=tiktok&utm_medium=paid_social

Each URL technically has UTM parameters.

Still managing UTM links in spreadsheets? Create cleaner tracking URLs with less manual work.
Try Free

But when the data reaches Google Analytics 4 (GA4), you’ve created three different ways of describing essentially the same type of traffic.

The solution is to establish a consistent UTM taxonomy across platforms.

The goal isn’t to make every platform look identical. It’s to standardize the parts that should be consistent while preserving the information that makes each campaign, audience, and ad unique.

Here’s a practical way to do it.

A simple paid social UTM structure

For most organizations, I recommend starting with this structure:

ParameterPurposeExample
utm_sourceAdvertising platformfacebook, linkedin, tiktok
utm_mediumMarketing channelpaid_social
utm_campaignCampaign2026_q4_product_launch
utm_contentAd/creativevideo_customer_story
utm_termAudience or targetingmarketing_directors
utm_idUnique campaign IDcmp_1042

The important part is that the rules remain consistent across platforms.

For example:

Meta

?utm_source=facebook&utm_medium=paid_social&utm_campaign=2026_q4_product_launch&utm_content=video_customer_story&utm_term=retargeting_30d

LinkedIn

?utm_source=linkedin&utm_medium=paid_social&utm_campaign=2026_q4_product_launch&utm_content=video_customer_story&utm_term=marketing_directors

TikTok

?utm_source=tiktok&utm_medium=paid_social&utm_campaign=2026_q4_product_launch&utm_content=video_customer_story&utm_term=interest_marketing

Now your GA4 reporting has a predictable structure.

1. Use utm_source for the platform

Your source should answer:

Where did this traffic come from?

For paid social, that usually means the advertising platform.

Examples:

facebook

instagram

linkedin

tiktok

The most important thing is consistency.

Don’t let your organization end up with:

facebook

Facebook

fb

facebook.com

meta

unless those distinctions are intentional.

Should Meta be facebook, instagram, or meta?

This is one of the decisions your organization needs to make.

If knowing whether traffic came from Facebook versus Instagram is important, use:

utm_source=facebook

and

utm_source=instagram

If your reporting treats Meta as one advertising platform, you could instead standardize around:

utm_source=meta

There isn’t one universally correct answer.

What’s important is that you make the decision once and apply it consistently.

Don’t have one campaign using meta, another using facebook, and another using fb.

2. Keep utm_medium consistent across all paid social platforms

This is where I see a lot of unnecessary fragmentation.

One team uses:

utm_medium=cpc

Another uses:

utm_medium=paid

Another:

utm_medium=social

And another:

utm_medium=paid_social

If all of these campaigns are paid social advertising, choose a controlled value and use it everywhere.

For example:

utm_medium=paid_social

Then Meta, LinkedIn, and TikTok all follow the same rule:

facebook / paid_social

instagram / paid_social

linkedin / paid_social

tiktok / paid_social

That makes cross-platform reporting much easier.

Instead of trying to remember five different medium values, you can analyze paid social as a category and then use source to break performance down by platform.

3. Don’t put the platform name in utm_campaign

A common campaign name might look like:

linkedin_q4_product_launch

But if utm_source already tells you that the traffic came from LinkedIn, you’re storing the same information twice.

Consider using:

utm_source=linkedin

utm_medium=paid_social

utm_campaign=2026_q4_product_launch

Now the same campaign can run across multiple platforms.

Meta:

facebook / paid_social / 2026_q4_product_launch

LinkedIn:

linkedin / paid_social / 2026_q4_product_launch

TikTok:

tiktok / paid_social / 2026_q4_product_launch

This makes it much easier to answer:

How did the product launch perform overall?

and then:

How did each platform perform within the product launch?

Your campaign identifies the marketing initiative.

Your source identifies the platform.

Let each parameter do its own job.

4. Create a predictable utm_campaign naming convention

Campaign naming is where things often become complicated.

A useful campaign structure might be:

year_period_initiative

For example:

2026_q4_product_launch

or:

2026_black_friday

or:

2026_webinar_ga4_reporting

Your exact structure depends on your organization.

You might include:

  • Year
  • Quarter or month
  • Product
  • Region
  • Initiative
  • Promotion
  • Campaign type

But don’t automatically put everything into the campaign name.

Something like:

2026_q4_us_productx_awareness_paid_social_launch_v2

may contain lots of information, but it also becomes difficult for humans to create correctly.

A good taxonomy balances useful information with usability.

5. Use utm_content to identify the ad or creative

utm_content is especially useful for paid social because campaigns frequently contain multiple creatives.

For example:

video_customer_story

video_product_demo

carousel_features

static_free_trial

Now you can compare creative performance while keeping source, medium, and campaign consistent.

For example:

utm_source=linkedin

utm_medium=paid_social

utm_campaign=2026_q4_product_launch

utm_content=video_customer_story

versus:

utm_source=linkedin

utm_medium=paid_social

utm_campaign=2026_q4_product_launch

utm_content=carousel_features

That gives utm_content a clear purpose:

Which creative or ad generated the visit?

6. Decide what utm_term means for paid social

Historically, utm_term is commonly associated with paid-search keywords.

But organizations sometimes use it for another useful piece of campaign metadata when keywords aren’t relevant.

For paid social, audience or targeting information can be useful.

For example:

utm_term=marketing_directors

utm_term=retargeting_30d

utm_term=lookalike_customers

utm_term=interest_analytics

This can help you analyze audiences across campaigns.

However, there’s an important governance rule here:

Define what utm_term means before people start using it.

You don’t want one marketer putting audiences there while another uses it for creative names and another uses it for campaign objectives.

The value of a taxonomy comes from everyone assigning the same meaning to the same field.

7. Consider using utm_id as your campaigns scale

Campaign names are useful for people.

Campaign IDs are useful for systems.

For example:

utm_id=cmp_1042

could represent your product-launch campaign regardless of where it runs.

Then you might have:

utm_id=cmp_1042&utm_source=facebook...

utm_id=cmp_1042&utm_source=linkedin...

utm_id=cmp_1042&utm_source=tiktok...

The ID remains stable while the source and other campaign attributes change.

You don’t necessarily need utm_id if you’re running a handful of campaigns.

But as campaign operations become more sophisticated, having a permanent campaign identifier can become valuable—particularly when combining advertising data, GA4, BigQuery, CRM data, or other marketing systems.

8. Use platform macros carefully

Meta, LinkedIn, TikTok, and other advertising platforms can provide dynamic values or macros that help populate tracking parameters automatically.

This can save a tremendous amount of manual work.

Instead of manually creating a different URL for every ad, you may be able to dynamically insert information such as campaign, ad, or other platform identifiers.

But automation doesn’t eliminate the need for governance.

In fact, it makes governance more important.

Before implementing dynamic parameters, decide:

What does each UTM parameter represent?

Then map the appropriate platform value into it.

Otherwise, you can automate inconsistent tracking at enormous scale.

9. Use IDs when platform names can change

There is another issue with automatically inserting campaign and ad names.

Names can change.

An advertiser might rename:

Product Launch

to:

Product Launch - US

or change an ad name after launch.

Depending on how the advertising platform handles dynamic parameters, the values captured in your UTMs may not behave exactly as you expect after those changes.

For more sophisticated implementations, consider capturing stable platform IDs alongside useful human-readable values.

For example, you might want to preserve identifiers for:

  • Campaign
  • Ad set/ad group
  • Ad

This becomes particularly valuable when campaign data eventually lands in a data warehouse such as BigQuery.

Names are great for reporting.

IDs are better for reliably joining data.

10. Don’t let each advertising platform create its own taxonomy

This is probably the most important rule.

It’s tempting to configure Meta one way, LinkedIn another way, and TikTok according to whatever examples each platform provides.

That creates three tracking systems.

Instead, start with your organization’s campaign taxonomy.

Then configure each advertising platform to follow it.

Think of it this way:

Your taxonomy should control the platforms.

The platforms shouldn’t control your taxonomy.

Example cross-platform UTM framework

Here’s a simple framework you could adopt:

PlatformSourceMediumCampaignContentTerm
Meta/Facebookfacebookpaid_social2026_q4_product_launchvideo_demoretargeting_30d
Meta/Instagraminstagrampaid_social2026_q4_product_launchcarousel_featureslookalike_customers
LinkedInlinkedinpaid_social2026_q4_product_launchcustomer_storymarketing_directors
TikToktiktokpaid_social2026_q4_product_launchcreator_videointerest_marketing

Notice what’s consistent.

Medium stays the same.

Campaign stays the same.

Source tells us where the traffic originated.

Content identifies the creative.

Term identifies the audience.

Now the data has a structure.

The real problem isn’t building UTM URLs

Creating one UTM-tagged URL is easy.

Managing 10 is easy.

Managing hundreds or thousands of URLs created by multiple marketers, agencies, departments, and platforms is where things get difficult.

Eventually you see:

paid_social

paidsocial

paid-social

social_paid

cpc

And campaign names like:

q4_launch

Q4-Launch

product_launch_q4

2026_productlaunch

They may all represent the same marketing activity, but your analytics system doesn’t automatically know that.

That’s why UTM governance matters.

A system such as UTM Manager can help teams define approved values, establish naming conventions, reuse campaign structures, and create tagged URLs without relying on every marketer to remember the taxonomy.

Start simple, then enforce it

You don’t need a 50-page UTM governance document.

Start with a few decisions:

Source = platform

Medium = channel

Campaign = marketing initiative

Content = creative

Term = audience/targeting

ID = permanent campaign identifier, when needed

Then document the allowed formats and values.

The hardest part isn’t designing the perfect UTM taxonomy.

It’s getting everyone to use the same one.

Once Meta, LinkedIn, TikTok, your agencies, and your internal marketing team all follow the same structure, your GA4 campaign reports become much easier to understand—and much more useful.

FREE TOOL + EXTENSION

Still Building UTM Links in Spreadsheets?

Create clean campaign URLs faster, save templates, and standardize naming across your team.

×
UTM URL Builder
📋 Templates Required Your organization requires approved templates for all UTM links.
You’re in guest mode — build, copy, and export are available. Sign in or create an account to save and load org rules & templates.