In online marketing processes, it is essential that advertisements and/or content originating from different sources are properly tracked, and that user actions performed on websites or apps via these ads and content are monitored effectively. Additionally, the entire process, as well as its individual components, must be systematically tested at defined intervals.
In general, it becomes evident that advertising sources, campaign formats, media platforms, and even devices can introduce variations in the ad tracking process. For instance, fbclid defines a Facebook Ads campaign1, but this unique identifier has no meaning for advertising platforms other than Facebook. Similarly, gclsrc and gclid, used by Google, are meaningless for other platforms23.
Click-id is a parameter automatically appended by advertising platforms (such as Google Ads, Facebook Ads, Bing Ads, etc.) to the campaign’s target URL (final URL), serving to define the campaign and the click’s other attributes for measuring campaign performance. Google also uses the click-id for data exchange between Google Ads and Google Analytics4. This enables the parameter to be used alongside features such as offline conversion tracking.
What is UTM (Urchin Tracking Module)?
In the article titled Marketing Automation and Tracking, I discussed how dynamic URL parameters can be generated for Facebook ads and tracked using UTM (Urchin Tracking Module), enabling different tracking and analytics tools to monitor campaigns. As a reminder, Facebook, Google, Microsoft, and other supported advertising platforms allow both automatic (auto-tagging) click-id parameters and UTM parameters to be defined5.
Target URL: https://domain.com/?utm_source=google&utm_medium=cpc&utm_campaign=spring_sell&utm_term=upsell&utm_content=ads-alt-2
UTM Parameters
In online advertising campaigns or QR codes, email newsletters, content promotions, and other online trackable areas, UTM parameters can be included in the target URL to carry campaign-specific details, enabling us to gather insights about the overall performance of campaigns. For instance, let’s assume we launched a campaign titled Download Summer and distributed it across various sources (source). We would like to evaluate users coming from these sources during the campaign period, as well as after the campaign ends6.
Each advertising platform will provide us with various results through its own tracking definition. However, for a comprehensive analysis, we need a common structure. UTM provides us with this capability. This allows us to compare our ad spending across different sources, identify the most effective sources for our campaigns, and assess campaign performance over time. Additionally, UTM enables us to test ads or create different versions within the campaign context7.
The utm_ prefix is mandatory for all UTM parameter definitions. Within a destination URL, the following parameters can be added under the UTM framework:
utm_source
: Defines the advertising provider, website, social media platform, or similar entities (e.g., google, facebook, newsletter, etc.) that delivered the traffic to the analytics tool (e.g., Google Analytics). This parameter is required for UTM configuration.
utm_medium
: Contains information about the advertising or marketing channel (medium) (e.g., tbm, cpc, ppc, banner, email newsletter, etc.). This parameter is required for UTM configuration.
utm_campaign
: A campaign name, slogan, promotional code, or similar elements indicating a product or service. Required parameter for UTM tagging.
utm_term
: Defines paid/organic search keywords (query). If paid keyword campaigns are manually defined, the utm_term parameter must be used to specify the keyword. Optional parameter.
utm_content
: Used to differentiate similar content or links within the same advertisement. For example, if there are two call-to-action (CTA) links in the same email, different values (e.g., the section where the link appears) can be assigned to each using the utm_content parameter. This enables identification of which message or location is more effective.
Each parameter must be assigned a single value. That is, any UTM parameter can appear only once within a URL. For example, let’s define a parameter-value specification for the Download the Guide campaign.
utm_source=facebook
: Indicates a share made via Facebook for the Download the Guide campaign.
utm_medium=post
: Specifies that the relevant entry was added as a post, not as an ad.
utm_campaign=download-guide
: Links the relevant share to the download-guide campaign.
With these parameters defined, the URL we will share takes the following form:
https://www.domain.com/?utm_source=facebook&utm_medium=post&utm_campaign=download-guide
Whenever appending parameters to a URL, you must always use utm_source, utm_medium, and utm_campaign. The parameters utm_term and utm_content are optional. Special characters should be avoided in parameter values as much as possible, and ideally all characters should be lowercase. However, when dynamic values are retrieved, special characters, spaces, and even separators may be assigned to the parameters.
In such cases, filters available in Google Analytics and similar analytics tools can be utilized to ensure consistency in relevant searches and segmentations8.
Dynamic Usage
Most platforms that use dynamic content in campaign contexts—such as advertising platforms and email service providers—can dynamically assign values to parameters through placeholders they specify. This enables campaign target URLs to be automatically and error-free updated.
Advertising Platforms
Facebook9 allows you to use the URL Parameters (URL Parameters) field under the Tracking (Tracking) header by clicking the Edit (Edit) link in the Ad Management (Ad Management) dashboard10.
By clicking the Build a URL Parameter (Build a URL Parameter) link found in this section, you can dynamically assign values to the relevant parameters through a form11.
The provided dynamic values:
// Ad ID
ad_id={{ad.id}}
// Ad set ID
adset_id={{adset.id}}
// Campaign ID
campaign_id={{campaign.id}}
// Ad name
ad_name={{ad.name}}
// Ad set name
adset_name={{adset.name}}
// Campaign name
campaign_name={{campaign.name}}
// Placement
placement={{placement}}
// Source name
site_source_name={{site_source_name}}
Let’s take an example for Facebook:
https://www.domain.com/?utm_campaign={{campaign.name}}&utm_content={{ad.name}}
Since the source and medium are already defined, there’s no need to add additional parameters. However, you can also modify existing predefined values by specifying them; for example, utm_source=facebook&utm_medium={{adset.name}}.
The rules mentioned above also apply to Google Ads12. Google Ads allows you to manage target URL definitions under the Ad section, specifically within the Ad URL options section13 14.
Google also supports more dynamic values15 16 17.
Other Services
As previously mentioned, the ability to use UTM parameters within URLs and dynamically assign values to them is not limited to advertising platforms. Email marketing services such as MailChimp, and form services such as Typeform, also include UTM parameters in their URL definitions and allow dynamic value assignment18 19 20. In fact, in a previous article titled Typeform - HubSpot Integration and Source Identification, I proposed a solution to the issue of source attribution that arose when integrating with Zapier for Typeform. For additional information on this topic, please refer to that article.
UTM_ID Definition and Campaign Code
If you have Google Analytics integration, you can manage campaign definitions for past or active campaigns through a single parameter.
We can retrieve other parameters such as campaign, source, and term through the utm_id parameter, which is different from standard UTM parameters, by using an ID value. This definition is expressed as a campaign code. Let me illustrate with an example21.
https://www.domain.com/?utm_id=abc123
For this operation to be carried out, the fields corresponding to the ID must also be defined. First, we need to access the Data Import section under the property level in your Google Analytics account.
The data import field we will use is Campaign Data. After selecting and naming the field, and linking it to the appropriate views, we can begin creating the data set schema. The Campaign Code (Campaign Code) will be automatically placed in the key (key) field. The ID definition here, ga:campaignCode, corresponds to the utm_id parameter that will be included in the URL. For the fields where the data to be imported exists, we will define the corresponding field mappings. Typically, the most basic parameters used are source (source) and medium (medium)22.
However, you can also select additional fields. What’s important is that values are provided for these fields in the CSV. In the end, our fields will look like this.
ga:campaignCode,ga:source,ga:medium
Now we can add our campaign ID value and the corresponding source and medium definitions.
ga:campaignCode,ga:source,ga:medium
abc123,twitter,cpc
def456,mailchimp,newsletter
ghi789,instagram,bio
Google Analytics UTM-Related Dimensions
Google Analytics provides us with Acquisition reports containing dimensions and metrics. Specifically, if you’re referring to a report directly related to campaigns, you can follow the Acquisition > Campaigns steps based on campaign-level data.
In campaign reports, you can view user, session, and goal-related information based on the relevant campaign headers. Additionally, if the Campaign Code is being used, it is appropriate to include the Campaign Code dimension as a secondary dimension in the Data table for verification purposes.
If different dimensions are required under a different report (or for report customizations), you can access UTM-related dimensions as follows.
Of course, the Keyword can also be included in the table corresponding to the utm_term parameter, and Source and Medium can be combined into a single dimension.
Google Analytics Channel Groups
Google Analytics provides us with the ability to manage and create new channels at the view level.
This allows us to create new channels based on the parameter values defined in UTM, as well as expand the scope of existing channels.
UTM Mediums
It’s possible to easily generate a target URL containing UTM parameters by combining cell values in Excel or Google Sheets. However, numerous online services can also be considered as alternatives. These types of services can also contribute to the analysis process through additional features they provide (such as tracking, URL shortening, etc.).
Google Analytics Campaign Builder
: One of the most well-known basic tools23. It also includes a URL shortening feature linked with Bit.ly.
Facebook URL Parameters
: Facebook also provides a tool enabling direct parameterization within ads. This allows relevant settings to be quickly transferred to the form fields where actions are performed.
Terminus
: Terminus, a third-party solution that functions as both a UTM generator and a link management tool24. It offers features such as organizing and tracking UTM parameters, as well as grouping and monitoring links.
*[CTA]: Call-to-action
All-in-one UTM Builder and Link Management Platform](https://www.terminusapp.com/?target=_blank&rel=noopner,noreferrer)
Footnotes
- Customer Information Parameters. Facebook for Developers ↩
- About click IDs. Google Search Ads 360 Help ↩
- Auto-tagging of Microsoft Click ID. Tracking in Microsoft Advertising ↩
- Google Click Identifier (GCLID): Definition. Google Ads Help ↩
- How do I add UTM tags to my landing page URL? Tracking in Microsoft Advertising ↩
- UTM parameters. Wikipedia ↩
- Jacqueline Zote. (2019). UTM tracking & URL shortening for social media marketers ↩
- Custom filter fields. Analytics Help ↩
- Add URL Parameters to Your Ads. Facebook for Business ↩
- How to use Dynamic Facebook URL Parameters to tag your campaigns. YouTube ↩
- Specifications for URL Dynamic Parameters. Facebook for Business ↩
- URL parametreleri hakkında. Google Ads Yardım ↩
- Collect campaign data using custom URLs. Analytics Help ↩
- Tracking Templates Explained - All Secrets Revealed. YouTube ↩
- Gelişmiş izleme için özel parametreler oluşturma. Google Ads Yardım, Özel URL’lerle kampanya verisi toplama ile ilgili En İyi Uygulamalar. Analyics Yardım ↩
- [Setting up tracking with ValueTrack parameters. ↩
- How you can use ValueTrack. Google Ads Help ↩
- Create Unique URLs for Subscribers ↩
- What is UTM tracking? Typeform Help Center ↩
- Puru Choudhary. (2020). I Bet You Haven’t Used UTM Parameters Like This ↩
- Campaign data overview. Analytics Help ↩
- Campaign data import example. Analytics Help ↩
- Google Analytics Campaign Builder ↩
- [Terminus. ↩