Tutorials

How to Properly Tag LinkedIn Ads with UTMs (Best Practice Guide)

March 22, 2026
Table of Contents

How to Properly Tag LinkedIn Ads with UTMs (Best Practice Guide)

If you're running LinkedIn Ads and care about accurate attribution - this guide is for you.
We'll walk through the right way to implement UTMs, common mistakes to avoid, and the exact tracking template we use at Terrific Digital to ensure clean, reliable data across your entire stack.

Why UTMs Matter (Quickly)

UTMs are the foundation of marketing attribution.
They allow platforms like Google Analytics 4, Amplitude, Mixpanel, HubSpot & CRMs to understand where your traffic is coming from, which campaigns drove it, and what actually worked.

Without UTMs, your data becomes fragmented, inconsistent, or completely unusable.

First, What NOT To Do?

A very common mistake is adding UTMs manually at the destination URL on the Ad level, or on the Ad Set level's tracking parameters settings. This approach creates several problems:

  • Redundant work across multiple assets
  • Possible inconsistent naming conventions
  • Human errors and broken tracking
  • Difficult maintenance and scaling

Most importantly - it’s unnecessary.
You don’t need to manually tag every asset when LinkedIn provides a better solution.

What You SHOULD Do instead (Account-Level)

The correct approach is to implement UTMs once at the account level using LinkedIn’s tracking template.
This ensures:

  • Consistency across all campaigns
  • Zero manual work per ad
  • Scalable tracking as you grow

You can do this by going to "Account settings" > "URL parameters" in LinkedIn's campaign manager:

The Terrific Digital Tracking Template

Here’s the exact template we use for our agency's clients:

utm_source=linkedin&utm_medium=paid_media&utm_campaign={{CAMPAIGN_NAME}}&utm_content={{AD_SET_NAME}}&utm_id={{CAMPAIGN_ID}}&td_src=linkedin&td_med=paid_media&td_cmp={{CAMPAIGN_NAME}}&td_cmp_id={{CAMPAIGN_ID}}&td_grp={{AD_SET_NAME}}&td_grp_id={{AD_SET_ID}}&td_ad={{AD_NAME}}&td_ad_id={{AD_ID}}

You can use our best-practice tracking template by copying and pasting it into your account-level URL parameters settings.
This template dynamically pulls values using LinkedIn macros and applies them automatically to every ad, essentially adding the following URL parameters to all destionation URLs:

  • utm_source = linkedin
  • utm_medium = paid_media
  • utm_campaign = {{CAMPAIGN_NAME}}
  • utm_id = {{CAMPAIGN_ID}}
  • utm_content = {{AD_ SET_NAME}}
  • td_src = linkedin
  • td_med = paid_media
  • td_cmp = {{CAMPAIGN_NAME}}
  • td_cmp_id = {{CAMPAIGN_ID}}
  • td_grp = {{AD_ SET_NAME}}
  • td_grp_id = {{AD_SET_ID}}
  • td_ad = {{AD_NAME}}
  • td_ad_id = {{AD_ID}}

To read more about how to use dynamic parameters in LinkedIn Ads, you can read their official documentation here.

Why We Use "td_x" Parameters (Backup Tracking)

If you look closely, you’ll probably notice we duplicate parameters like:

  • utm_sourcetd_src
  • utm_mediumtd_med
  • utm_campaigntd_cmp
  • utm_idtd_cmp_id
  • utm_contenttd_grp

We do this because UTMs are not always reliable. Why not? BECAUSE UTMS CAN BE DROPPED.

Some browsers and privacy tools strip UTMs before the page even loads. This happens due to privacy protections, tracking prevention mechanisms and URL sanitization. For example:

  • Safari (ITP)
  • Brave Browser
  • Firefox (strict mode)
  • Privacy extensions (Ad-blockers, uBlock, etc.)
  • Other browsers who might jump on the privacy wagon in the future

These can remove standard known UTMs like:
❌ utm_source
❌ utm_medium
❌ utm_campaign
❌ utm_id
❌ utm_content
❌ utm_term

That's why we decided to use our td_x parameters as a backup layer.
This way, even if the standard UTMs are stripped, our td_x parameters remain intact, and you still retain your precious attribution data.

Also, these additional parameters capture values that are not included in the original standard UTMs, such as Ad ID, Ad Name and Ad Set ID.

Why This Matters

If you’re working with raw data (e.g. BigQuery), this becomes extremely powerful.
You can:

  • Detect missing UTMs
  • Reconstruct attribution
  • Map backup parameters back to standard UTMs

For example, you can replace td_src with utm_source to retroactively fix any compromised URLs, and maintain data integrity even if it was lost.
We're usually also doing this in a Google Tag Manager variable that fixes the page's URL, and passes it on to GA4 as the page_location parameter, essentially overriding GA4's default page URL.

Using HubSpot? Please Read This!

If you're using HubSpot Ads integration, there’s an important caveat. HubSpot has an auto-tracking feature that:
💀 Overrides your UTMs
💉 Injects its own tracking template
👎 Is not customizable

This will surely break your clean tracking structure.

Our solution - TURN OFF HUBSPOT'S AUTO-TRACKING FEATURE:

  1. Go to HubSpot → Marketing → Ads
  2. Open Settings
  3. Locate Auto-tracking / Tracking Templates
  4. Turn it OFF

Important Cleanup Step

HubSpot often appends UTMs directly to destination URLs, so after disabling the auto-tracking feature, make sure to audit your ads and ad sets and remove any existing UTMs that might have been added by HubSpot.
Otherwise, you’ll ge duplicate parameters and conflicting attribution.

HubSpot-Compatible Template

If you still want HubSpot to receive its required parameters, use this version instead:

utm_source=linkedin&utm_medium=paid_media&utm_campaign={{CAMPAIGN_NAME}}&utm_content={{AD_SET_NAME}}&utm_id={{CAMPAIGN_ID}}&td_src=linkedin&td_med=paid_media&td_cmp={{CAMPAIGN_NAME}}&td_cmp_id={{CAMPAIGN_ID}}&td_grp={{AD_SET_NAME}}&td_grp_id={{AD_SET_ID}}&td_ad={{AD_NAME}}&td_ad_id={{AD_ID}}&hsa_net=linkedin&hsa_acc={{ACCOUNT_ID}}&hsa_cam={{CAMPAIGN_ID}}&hsa_grp={{AD_SET_NAME}}&hsa_ad={{AD_ID}}&hsa_ver=3

This ensures your UTMs are clean while still providing proper tracking for HubSpot.

Final Thoughts

If you implement LinkedIn tracking correctly:

  • You only do it once
  • You eliminate human error
  • You ensure consistent attribution across all platforms
  • You protect your data against browser-level tracking loss

This is one of those small setup decisions that has a massive long-term impact.

Need any help with your LinkedIn Ads? Feel free to reach out to us, let's figure out how we can help you:

CLICK HERE TO CONTACT US!