B2C Marketing Analytics for Beginners

Digital Marketing Tracking

In order to measure the performance of channels and campaigns, you need to have tracking set up. In this lesson we’ll talk about the two most common ways to identify traffic: through URL parameters and referral domain.

URL Parameters

You’ve probably clicked on ads or emails and noticed the URLs you’re directed to are a very long strings.

Take this link, for example, from a Facebook ad from Omaze:


The text in purple is the full path of the destination page. You can type that into the address bar and get to the same page that the full link sends you to. Everything after the “?” is what is known as a query string and it does not impact the destination page. Its purpose is to pass information. A query string is a set of field and value pairs using the format:


The name of the field is on the left of the equals sign and its corresponding value on the right. Pairs are separated by “&”s. In the example above we have the following pairs:

  • Field: utm_source; Value: facebook.com (utm_source=facebook.com)
  • Field: utm_medium; Value: social (utm_medium=social)
  • Field: utm_content; Value: omaze (utm_content=omaze)
  • Field: utm_campaign; Value: experiences.emilia-clarke-game-of-thrones (utm_campaign=experiences.emilia-clarke-game-of-thrones)

Through these pairs, also known as URL parameters, you can pass information from the ad placement to your site (or third party tracking platform like Google Analytics). When the user clicks through the ad and comes to your site, your tracking platform reads those parameters to get a lot of information.

In the example link above, the parameters define where the traffic comes from and they follow the conventions set up by Urchin, the predecessor to Google Analytics. They are known as UTM parameters (for Urchin Tracking Module) and are the industry standard. There are five different parameters available to describe the campaign and placement that lead to the click. Google defines them as:

  • utm_source – identifies which site sent the traffic, and is a required parameter.
    • Example: Google
  • utm_medium – identifies the medium of the ad or message
    • Example: email
  • utm_campaign – identifies a specific product promotion or specific campaign
    • Example: spring_sale
  • utm_term – identifies search terms for paid ads
    • Example: running+shoes
  • utm_content – identifies what specifically was clicked to bring the user to the site. It is often used for A/B testing and content-targeted ads
    • Example: logolink or textlink

You can technically enter whatever text make sense to you and then use your analytics tool to find individual campaign performance by remembering exactly what parameters you used. A much better methodology, however, is to follow conventions that are already built into your analytics tools to automatically categorize your campaigns.

For example, if you include “utm_medium=email” in your query string, Google Analytics will automatically bucket traffic from that link into the Email category. You can find the conventions for Google Analytics here and here.

Besides following the conventions of your analytics tool, it’s also very important to define your own conventions for details that aren’t covered by the standards to ensure data integrity. Text strings are hard to read and it’s easy to make mistakes while typing them out. Google provides a tool to help you build URLs. But even with the tool it’s easy to have a typo or to not have everyone on your team use a standard spelling. If you want to pull all your Facebook campaigns, it’d be easy if they all had the source of “Facebook”. But if some have “facebook”, “fcbk”, “Facebok”, it will be a much bigger endeavor. It’s worth putting in the effort up front to ensure you have consistent parameters.

Referrer Domain

UTM parameters are great for tracking links that you yourself have posted. However, not all source of traffic to your site comes from links you manage. For this traffic, most analytics tools rely on the referrer domain. The referrer domain is the HTTP header field that defines the web address the link is on. For example, if you were to click on this link to a Wikipedia article, your browser will pass information to Wikipedia’s tracking platform that says the click came from the referrer domain of dataschool.wpengine.com.

Referrer domains are primarily used for identifying:

  • Organic search traffic: if the referrer is Google, Bing, Yahoo, etc…, then most analytics tools know to label the traffic as organic search (SEO). Here is the list of domains that Google Analytics considers to be search engines
  • Social traffic: If the referrer is Facebook, Instagram, Twitter, etc… most analytics tools will label the traffic as social
  • Referrers traffic: if the referrer doesn’t fit into a category that is already covered (SEO, social), then it is usually labeled as a referrer. The example click above to the article would likely be categorized by Wikipedia as a Referrer, since dataschool.wpengine.com isn’t a search engine or a social network

Note that UTM information usually trumps the referrer domain. So if UTMs are present, they will be used instead of the referrer domain to categorize traffic.

It is important to note that there are many gaps in referrer domain data. A few of the biggest issues are:

  • not all browsers pass referrer information, mobile browsers in particular have been found to be unreliable in passing referrer data
  • some users block passing referring information in their browser settings for their own privacy
  • many mobile apps don’t pass referring information
  • secure http sites (https) do not pass referrer information to non-secure sites to protect potentially sensitive information

For these reasons, only a portion of traffic defined by referrer domains gets categorized correctly. Unfortunately, there isn’t yet a better alternate source of information.

Referrer Domains and Direct Traffic

The gap in referrer data also has implications on direct traffic. If you remember, in a previous lesson, we defined “direct traffic” as traffic that comes to your site by users typing your URL in the address bar or from a bookmark.

But in practice, this isn’t exactly true since there is no way for an analytics tool to know if someone really typed out the URL. All the tool knows is whether there is tracking information (UTMs and referrer domains) or not. It then assumes that all traffic lacking tracking information is direct traffic.

Because of this, the direct channel becomes a sort of catch-all of all traffic that is legitimately direct and also all other traffic that lacks tracking information. Thus, the direct channel is generally over-valued. In fact, Groupon conducted an experiment in 2014 where they found that about 60% of their direct traffic was actually untracked SEO traffic.


While traffic tracking isn’t perfect, there are many steps you can take to make it as accurate as possible. Remember to always add consistent parameters to all links in your marketing. Also, when considering the impact of each of your channels, keep in mind that the direct channel is overvalued, most likely at the expense of channels defined by referrer domains (SEO, organic social, referrer).