Articles
What Are UTM Tags And How To Use Them
UTM tags are a basic element in the analysis of advertising campaigns. Without them, you can’t find out which ad sent a visitor to your site, can’t associate sessions with ad costs, and can’t build business intelligence.
UTM tags (a.k.a UTM codes or UTM parameters) help you measure the impact of each particular traffic source or marketing channel, and see which advertising campaigns bring you less revenue. If you want to quickly respond to any change in the website traffic and to reallocate your advertising budget, UTM tags are a must have.
In this article, we tell you what UTM tags are, why they’re used, and how they combine data from different sources. We also look at what errors to avoid when creating UTM tags and how to simplify work with dynamic parameters.
Collect quality data with OWOX. Service reports possible errors, recognizes dynamic parameters in UTM tags and converts costs into one currency.
Table of contents
- What are UTM tags and why are they needed?
- Types of UTM parameters
- How to use UTM tags
- UTM tags and their role in business intelligence
- Dynamic URL parameters and their use in advertising services
- How OWOX BI works with UTM tags
- How to create UTM tags to track your ad campaigns
- Mistakes in UTM tags
- Short conclusions
What are UTM tags and why are they needed?
To understand how to add UTM tags correctly, you should first understand what UTM tags are, and what they are made of.
UTM tags are small snippets of code you append to the end of your URL. Each tag consists of two parts — a UTM parameter and its value.
For example:
www://example.com/?utm_source=google&utm_medium=cpc&utm_campaign=utm_tags
In this example, utm_source/utm_medium/utm_campaign are UTM parameters, and google/cpc/utm_tags are their values. These particular values can be described as follows:
- google is the advertising system, a source that has brought a user to your website;
- cpcis the type of traffic medium (cost per click);
- utm_tags is the name of the advertising campaign.
UTM parameters are used to sort the data in a web analytics system. They also help to group values or variables that are sent to the system. UTM parameters are invariable and static. On the contrary, values can be set up and changed at your discretion. Please note that each parameters and values are separated by an equal sign (=), and that multiple "parameter=value" pairs are separated by an ampersand (&).
The acronym UTM stands for Urchin Tracking Module. A bit of history: in 2005, Google bought Urchin Software because of its analytical system Urchin on Demand. This system subsequently formed the basis of Google Analytics. Following the release of Google Analytics, UTM tags have become a standard that marketers use to track transitions across various advertising campaigns, including offline.
Types of UTM parameters
UTM parameters can be divided into two categories: required and optional.
UTM parameter | Explanation | Example |
---|---|---|
Required parameters (you should always add them to your URL) | ||
utm_source | Identifies the website where the traffic is coming from, e.g. an advertising system: Bing Ads Google Ads | utm_source=bing utm_source=google |
utm_medium | Identifies the type of marketing medium. For example: cpc cpm email campaign | utm_medium= cpc utm_medium= cpm utm_medium=email |
utm_campaign | Identifies a specific advertising campaign. For example: Kids toys Kids strollersе | utm_campaign=kids_toys utm_campaign=kids_strollers |
Optional parameters (you can use them when necessary) | ||
utm_term | Identifies the keywords that were paid for in paid keyword campaigns | utm_term=running+shoes utm_term=keyword |
utm_content | Helps to differentiate links or ads that point to the same URL from the same source, medium and campaign | utm_content=text utm_content=text_2 utm_content=banner |
How to use UTM tags
Let's say we want to advertise this article on Google Ads. Take the URL of the article and add the appropriate tags to it. Get a working link
https://www.owox.com/blog/articles/how-to-use-utm-tags/?utm_source=google&utm_medium=cpc&utm_campaign=utm_metki
Next, we need to add this link to the advertisement. When a user clicks on a link from an ad, Google Analytics will receive information about the visit and the traffic source. In our example, this is google/cpc.
You need to create different UTM tags for each source. For example, if you published a post on Instagram, then the link leading to your website from that post would look like this:
https://www.mywebsite.com/?utm_source=instagram&utm_medium=social&utm_campaign=sunday_sale
UTM tags allow you to merge user session information with ad spend data to evaluate channels ROI. Google Analytics has a Cost Analysis report that lets you compare sessions data, spend and revenue data, ROAS across different advertising channels. However, this report automatically collects statistics about Google Ads only. Marketers have to manually upload data from other sources.
However, this problem can be solved with the help of OWOX BI. The service will help you automate cost data import from Facebook, Bing, Criteo and other sources into Google Analytics and Google Analytics 4. You will be able to analyze advertising campaigns in a familiar interface and effectively relocate the budget.

You can try import costs for free
UTM tags and their role in business intelligence
Why is proper UTM tagging essential for business intelligence? To answer this question, you need to understand how business intelligence works. There are many ways to implement it. In this article, we discuss in detail the method that OWOX BI uses.
In short, the essence of business intelligence is to combine data from different sources: your site or mobile application, advertising sources, email and call tracking services, CRM/ERP systems. All this data is uploaded to a single repository (in our case, Google BigQuery) and then combined using some keys. You can then use this information in reports and analyze it in different segments.
How data is combined with OWOX BI:

Benefits of business intelligence
- Analyze data in a single system
- Accurately evaluate the effectiveness of advertising campaigns
- See the user path from the first visit to purchase
- Make decisions based on data, not intuition
Challenges and features of data consolidation
In theory, everything sounds simple enough, but in practice, you can face the following problems when setting up business intelligence:
- Facebook, and other ad platforms don’t give advertising statistics in terms of UTM tags. We’ll explain why this is a problem a little later.
- You can combine user session data with advertising cost data only using UTM tags. There’s no other way.
- If there are no UTM tags or they aren’t set correctly, you can’t identify a campaign or ad. This means you won’t be able to correctly attribute costs to a session, meaning you can’t find out the cost of each session. Knowing the cost of each session is the basis for building business intelligence.
Questions UTM tags can answer
There are quite a lot of questions UTM tags can answer, including:
- Which ad was responsible for the transition?
- What region is the user from?
- Which sites showed the ad from which the transition occurred? (This mostly concerns contextual advertising.)
- On which type of devices is the conversion rate better?
- What gender or age are the users who generate the most income?
Yes, you can answer some of these questions in other ways, but you can also use UTM tags. You can collect this data thanks to dynamic parameters.
Dynamic URL parameters and their use in advertising services
Many advertising systems, including Google Ads or Bing Ads, provide dynamic URL parameters. By adding dynamic URL parameters to your UTM tags, you enable the advertising system to dynamically insert the information you need into the URLs.
Marketers use dynamic parameters to transmit meaningful information that characterizes the user and the conditions in which the ad was displayed. These parameters are specified as UTM tag values in curly braces {}. Dynamic settings are established when you set up a campaign. When the ad is displayed, the advertising service places the parameter value in the braces.
Dynamic parameters can be used in a number of ways. For example, they help identify the websites or referrers which bring in the most traffic, or the keywords that triggered those ads which were clicked on. You can also see what sites the ad was clicked on, what type of ad placement was used, etc.
Examples of Facebook dynamic parameters:
- ad_id={{ad. id}} is the ID of the ad
- adset_id={{adset. id}} is the ID of the ad set
- campaign_id={{campaign. id}} is the id of the advertising campaign
- ad_name={{ad. name}} is the name of the ad
- adset_name={{adset. name}} is the name of the ad set
- campaign_name={{campaign. name}} is the name of the advertising campaign
Let’s take a closer look at some of the URL parameters in Google Ads and Bing Ads. You can see the full lists of parameters in your advertising system’s help center.
ValueTrack parameters in Google Ads:
Google Ads dynamic parameter | Explanation | Example |
---|---|---|
network | Site type: search or context | g — Google search page s — search partners d — Google Display Network |
placement | Address of the site where a user clicked on an ad, Display Network-only | http://utmparameters.blogspot.com/ |
adposition | Position of an ad | 3t2 (3 — page, t — position at the top (top), 2 — place) or none (Display Network) |
creative | Unique numeric ad ID (to see the ID in Google Ads, add the corresponding column in the tab) | 16541940833 |
matchtype | Keyword match type | e — exact match p — phrase b — broad |
keyword | The keyword that is matched to the search query (for Search Network) or the content (for Display Network) | toys for kids |
device | Device type | m — mobile phone, t — tablet c — computer, laptop |
target | Placement category (only for placement targeting) | Cooking |
ifsearch:search | Impression on search page | Search |
ifcontent:content | Impression in Display Network | Content |
adtype | Ad block type (only for campaigns targeting products) | pla — product listing ads pe — product extensions ads |
devicemodel | Brand and model of the device. Only available on Display Network campaigns | Apple+iPhone |
ifmobile:string_text | The custom text you add after the colon is shown if an ad is displayed on a mobile device | Mobile |
URL parameters in Bing Ads:
Bing URL parameter | Explanation | Example |
---|---|---|
campaign | The name of the campaign that triggered the ad | SpringSale |
adgroup | The name of the ad group that triggered the ad | Discounts |
matchtype | The match type used to deliver an ad. Helps you determine the match types that get the most clicks | e — exact p — phrase b — broad or expanded |
network | The Ad network type on which the ad was served | o — owned/operated (Bing and AOL) s — syndicated |
device | Device type | m — mobile device t — tablet c — desktop or laptop |
adid | The unique numeric ID of the displayed ad (the Ad ID column is displayed in the table on the Campaigns page) | 1234567 |
querystring | The search query text entered by the user that has triggered the impression | apartment for rent |
How OWOX BI works with UTM tags
OWOX BI helps you automatically upload cost data from advertising services to Google Analytics and Google BigQuery as well as transfer data about user behavior on your site to BigQuery.
Using OWOX BI, you get complete and high-quality data:
- To link session and cost data, OWOX BI recognizes UTM tags in your ads. No advertising service API gives tags with dynamic parameters in their final form. That is, instead of the value of the parameter in the link, there’s only the parameter name. OWOX knows how to recognize these dynamic parameters. When it uploads cost data from an advertising service and encounters a link with dynamic parameters, it can determine their value. This allows you to view cost data in UTM tags in Google Analytics reports. See our Help Center for a list of all dynamic parameters that OWOX BI supports.
- When importing cost data, OWOX BI checks the UTM tags in your campaigns and reports any errors. Examples of errors are discussed below.
- OWOX BI converts imported data to the correct format. For example, Google Analytics has its own schema for storing data and uses parameters rather than UTM tags: for example, ga: source instead of the utm_source tag. OWOX converts data into the format used by the service to which it’s sending that data.
- OWOX BI updates data uploaded to Google Analytics if it has changed in the advertising service. For example, if advertising service analyzes your traffic and determines that your ads were passed by bots, they’re likely to return money to your balance. OWOX BI tracks these things and keeps data in Google Analytics relevant.
- If necessary, OWOX BI can upload your historical data to Google Analytics. With paid packages, you can upload data for the past six months. With free packages, you can upload data for the past two months. We’re now working on an updated version of OWOX BI that will allow you to download cost data for any past period if that data is available in the advertising service.
- In addition, OWOX BI is able to collect raw data about Google Ads campaigns in Google BigQuery using auto-tagging, getting that data from the gclid and yclid parameters. The fact is that UTM tags are not used in the link when displaying AutoLabel ads. This isn’t a problem if you’re analyzing advertising costs only in Google Analytics. But if you try to upload cost data from the same Google Ads and combine it with session data, you have to attribute advertising costs not by tags but by gclid. OWOX knows how to do that.
- When importing data with OWOX BI, the currency of the advertising service is converted into the currency of the Google Analytics property.
Algorithm for importing Google Analytics cost data using OWOX BI
- Using official advertising service APIs, OWOX BI receives ad display statistics.
- For each announcement, OWOX gets UTM tags. In most cases, they come as a link.
- From this link, OWOX extracts UTM tags if they contain dynamic parameters.
- OWOX BI analyzes these tags for errors and replaces dynamic parameters with their values.
- After getting all UTM tag values, OWOX forms a CSV file to upload to Google Analytics. In addition to tags, this file contains data on costs, screenings, clicks, and dates.
- Finally, OWOX BI uploads this file to Google Analytics.
Errors in tagging that OWOX BI defines:
- No obligatory UTM tags.
- Unsupported dynamic parameters are used that are not available in the advertising service API. For example, advertising service has a dynamic parameter that can be used to track the exact position of an ad in the search results. But in the API in the ad section, it’s impossible to get this data. In such cases, we recommend using Google Analytics user settings instead of dynamic settings.
- Can’t parse the UTM tag. This can happen with some types of ads when advertising platforms don’t have the technical ability to define tagging — for example, smart banners.
- Syntax errors in UTM tags.
Algorithm for importing cost data into BigQuery via OWOX BI
The next step in building business intelligence is to import cost data into Google BigQuery. Doing so is very similar to importing cost data into Google Analytics. The only difference is that whereas we transfer only information on UTM tags and costs to Google Analytics, we transfer additional parameters (more than 200 metrics for Facebook) to Google BigQuery.
This allows you to build detailed reports for in-depth analysis, create remarketing lists, effectively manage ad rates, and train your machine learning model for more accurate planning.
Collect user behavior data
OWOX BI has its own counter (something like the Google Analytics counter) that’s installed on the customer’s website. With its help, OWOX records data on user behavior in the form of hits in Google BigQuery. This data is available with a delay of just a couple of minutes. After 24 hours, tables are formed with user sessions from tables with data on hits.
We then work to fill in the two fields in these tables: attributedAdCost and AdCost.
- To begin, OWOX BI gets data from Google Analytics on ads with UTM tags. In most cases, this is just the cost data loaded using OWOX BI.
- OWOX BI forms a table of advertising costs from Google Analytics data.
- Using tags from the session tables and tags from the cost tables, OWOX defines the cost for each session.
- As a result, in the session streaming table, all costs are allocated to user sessions (the attributedAdCost field).

This information helps you analyze data in different segments. The easiest thing is to calculate the cost per order (CPO) for each of your orders. Just take the attributedAdCost of the user who converted, sum up the costs if there were a few paid transitions, and get the cost of your order.
You can also group expenses and revenues by user, cohort, or landing page. This helps to evaluate the effectiveness of campaigns aimed at returning old users or attracting new ones as well as with planning the budget for different categories, regions, etc.
Read more about what tasks can be solved by knowing the cost of a session in our article on how to assess the effectiveness of product categories, client segments, and landing pages.
How to create UTM tags to track your ad campaigns
The good news is you don’t always have to tag your campaigns manually. There are tools that allow you to easily add the needed UTM parameters to your URLs. We recommend using URL Builder, a special tool provided by Google that helps you generate a correct URL with UTM parameters. This takes two easy steps:
- Enter the full URL of a website or a page where users will follow to;
- Add the parameters and values which will be used in the UTM tag. The list of the parameters according to the system, Google Ads or Bing Ads is given above.
The URL is updated automatically as you add the parameters. This is very convenient if you need to create many similar URLs.
We recommend using Google Play URL Builder if you need to create URLs to measure Google Play campaigns.
Here’s an infographic post to help you create UTM tags for tracking ad campaigns in Google Analytics.

Mistakes in UTM tags
UTM tags can provide a lot of valuable information about clicks on your ads if you append them correctly. Nobody is immune to making mistakes, and the good news is we’ve prepared a compilation of the most common mistakes in UTM tagging. Just fill in the form, get the checklist, and make sure you’re tagging your URLs the right way.


Short conclusions
UTM-tagging is necessary for proper collection of statistics and high-quality analysis. UTM parameters help you identify which of your campaigns generate revenue and which don’t. Just keep in mind that UTM tags should be added strictly by the rules, to ensure that they are 100% effective.
- UTM tagging is an indispensable practice for analyzing the efficiency of advertising campaigns.
- Design campaigns and UTM tagging based on business logic and tasks you want to solve. Determine for yourself which data segments you need to analyze. For example, if you want to analyze brand and non-brand traffic, it’s desirable to have different campaigns in advertising sources for this purpose.
- Use the potential of dynamic parameters to the fullest. In Google Analytics’s Cost Analysis report, you can easily filter your data using advanced options. For example, you can view costs by location, display networks of your contextual advertising, etc.
P. S. If you need help creating UTM tags and setting up business intelligence, we’re here for you.