19th Ave New York, NY 95822, USA

UTMs: Best Practices & Structure Post iOS 14.5

UTM structure post iOS

As a part of our long-term strategy to tackle challenges with Facebook Ad tracking, we’ve learned to use UTM’s more efficiently.

And we would like to share our learnings with you.

Our objective was simple – create a clean and simple way to track our Facebook Ad campaign performance.

What is UTM?

So let’s first get the basics right.

Urchin Tracking Module parameters – parameters used by marketers to track the effectiveness of online marketing campaigns across traffic sources and publishing media. They are supported by all advanced tracking platforms (Google Analytics, Formtoro, Hyros, Anytrack etc).

A simple template: utm_source=facebook_ads&utm_medium={{placement}}&utm_campaign={{campaign.name}}&utm_content={{ad.name}}&utm_term={{adset.name}}

Campaign Source – to identify the source of traffic. For example Facebook, Instagram, a search engine or other source.

Campaign Medium – to identify the advertising medium. For example banner, email, Facebook_Feed or Instagram_Story.

Campaign Name – to identify a specific promotion or strategic campaign. For example summer_sale.

*Important to know: name-based URL parameters will be set to the names provided for your campaign, ad set or ad when they are first published. We’ll use those names as the parameter values during replacement. You can still edit your URL and campaign, ad set or ad names, but the parameters will always refer to the original names.

Campaign Content – To differentiate ads or links that point to the same URL. For example: white_logo, black_logo.

Types of UTM parameters

There are two types of UTM parameters – static and dynamic ones.

Static ones can be used only for 1 ad inside the campaign. Example:


In this case, you will need to change it for every single campaign, ad set, ad according to their names.

Dynamic one stays the same for all ad content and changes automatically according to the names of campaigns, ad sets, ads. Example


The definite way to structure your UTMs

According to the platform you’re using UTM parameters can have a different structure. For most analytics and marketing platforms the structure should be:


In this case, an ad will show up in Google Analytics as:

Campaign level:


Campaign level:


Now you’re probably wondering, what is this campaign naming about. I can’t emphasize how important it is that you have a clear cut naming structure for your campaigns. Our example is:

Campaign Name – tcamp101

Ad Set Name – aud10_25_65_sw

Ad Name – ac5_c4_cta2


  • tcamp stands for top of the funnel campaign where 101 stands for market and landing page specifics.
  • aud stands for an audience where 10_25_65_sw stands for the type of audience we’re targeting.
  • ac stands for ad copy where c stands for creative and cta stands for a call to action.


If you are using Formtoro as a part of your customer acquisition and/or retention strategies, your  structure should look slightly differently:



The difference is that we need to use utm_term (equivalent to {ad set name}) separately but in this case, you won’t be able to see the ad set name on any other platforms because the ad will show up as: 

Why is it important to have a good UTM Structure?

Some final thoughts.

Nowadays we simply can not trust Facebook’s data as we could earlier. It either overreports or underreports or just shows random numbers. Facebook could only be used to understand pre-click experience AKA whether people interacted with the ads before landing on the website and/or making a purchase.

UTMs will not resolve Facebook Ad tracking issues on their own. But having a clean UTM structure in place will certainly help you:

  1. Cross-analyse data flow with more confidence (subject to analytical skills)
  2. Make the marketing and media buying decisions based on cleaner data
  3. Effectively leverage marketing platforms such as Formotoro, AnyTrack, Getklar, etc.

A skewed data example is taken for the same period of time:

Tracking platform AnyTrack:


Most agencies focus too much on isolated metrics such as ROAS without understanding how it fits within the overall customer acquisition strategy.

We go beyond that. We take a data-driven and strategy-first approach to the growth of eCommerce brands.

We’d like to offer you a free discovery session. It’s not a sales call and we won’t be pitching you anything. In fact, you’ll get a second pair of eyes on your marketing strategy. And if we’re a good fit you’ll be offered an in-depth audit.