Digital media measurement: campaign tracking made easy + free tools

So many digital communications channels, yet so little time. As more and more channels emerge for website traffic acquisition, it becomes ever more important to accurately measure a channel’s effectiveness. That means asking and answering difficult, if sometimes awkward, questions of the type “Does anyone really engage with the monthly newsletter?”. If readers are engaging, where exactly does the engagement occur, i.e. which links get clicked? In the case of social media marketing, does anyone really care enough about Facebook page posts or twitter tweets to click through to the company website?

In any of the above-mentioned instances a standard web analytics setup won’t usually provide the answers marketing professionals need. For example, clicks from email messages, such as the monthly newsletter, may show up as referrers from one of the various webmail domains or as a direct access (which really means referrer unknown) in the case of clicks from email software like Thunderbird or Outlook. Even if one musters the patience to review all traffic from all of the possible webmail addresses during a certain time interval, there still isn’t any guarantee that the resulting traffic really came from a specific newsletter (the same destination link may appear in multiple newsletter issues). Nor would it be clear where in the newsletter a user clicked to arrive at a website landing page if the link appeared in multiple positions (i.e. header, footer) in the same newsletter.

Social media presents similar measurement problems. Many users engage with social media through software applications (a.k.a. apps) like Tweetdeck to interact with twitter, LinkedIn and Facebook posts & updates. Yet traffic from applications like Tweetdeck will show up in web analytics reports as direct traffic unless tracking code is added to the posted links (for the technical readers among us, apps like Tweetdeck don’t usually send a URL referrer).

The beauty of digital media measurement and modern web analytics systems is that with a little bit of planning ahead of time it is indeed possible to answer these questions. The trick is to set up campaign tracking for the marketing creative (link, status update, banner ad) to measure.

For too long the topic of campaign tracking seems to have been relegated to a dark corner as something accessible only to large multinational companies, perhaps, at least in part, due to significant complexity involved in setting up tracking. No longer. We’ve released a free tool which allows anyone to track social media links, newsletter campaigns and similar web marketing initiatives in multiple web analytics systems with just a few clicks.

Campaign tracking benefits: what elements can be measured?

The exact data dimensions (elements) available for analysis varies from one web analytics system to another. Unfortunately the leading industry body, the Web Analytics Association, has yet to formulate standard campaign tracking definitions. While each web analytics vendor may have their own terminology, the basic elements include a campaign name, a campaign type (email, pay-per-click, banner, social media post), a traffic source (where does the campaign message appear) and information about the content and placement of the specific campaign link with which a user engages.

The following table aims to provide an overview of the common campaign elements and their nomenclature in some of the more common web analytics systems.

CoremetricsGoogle Analytics
Open Web AnalyticsOmniture SiteCatalystOpenstatPiwikWebtrends (<v7)Yahoo Web AnalyticsYandex Metrica
Campaign DimensionDescriptionLabelParameterLabelParameterLabelParameterLabelLabelParameterLabelParameterLabelParameterLabelLabel
NameUnique name or ID to describe the campaignPlacementcm_plaNameutm_campaignCampaignowa_campaignNameopenstat_campaign_openstatNamepk_campaignNameWT.mc_t
SourceTraffic source, often expressed as a domain e.g., Sometimes abbreviated when domain includes variations, e.g. google for, The source may also be a newsletter, an email or even off-line channels such as print media, tv or radio.Categorycm_catSourceutm_sourceSourceowa_sourceVendor/Websiteopenstat_source
MediumTool used for traffic acquisition, e.g paid search/cpc, display/banner, email, status updateVendorcm_venMediumutm_mediumMediumowa_mediumChannel/TypeTypeWT.mc_t
TermKeywords or other additional element to trackTermutm_termAd Typeowa_ad_typeKeywordpk_kwd
Creative / ContentDescription of specific creative, e.g. top left redItemcm_iteContentutm_contentAdowa_adLink Typeopenstat_ad
Notes“Item” should be keyword in the case of PPC advertisingParameters can be aggregated using cm_mmcOmniture offers a rich set of additional campaign attributes such as Business Unit and Business Owner. Configuration is done within the tool.Parameter values are aggregated using _openstatFrom version 7 onwards, campaign configuration is done within the tool supports creation of campaigns of various types (Display, Email,
Affiliate Program,
Paid Search,
Internal, Other) and allows personalization of campaign categories. Configuration is from within the tool.
Yandex Metrica uses Google Analytics and/or Openstat parameters. Data appears as “Tag” information in “Source” reports. The use of # as a parameter anchor does not seem to be supported.

Campaign tracking setup: system configuration vs. URL parameter tags

There are two general tracking configuration approaches, each with advantages and disadvantages, used by most web analytics systems. One approach is to set up a campaign within the web analytics system. Each of a campaign’s attributes is associated to a unique campaign ID which must be added as a parameter to any landing page link. Configuring campaigns within a web analytics system requires administrative permissions and can be cumbersome (e.g. file creation & upload).Yet this approach generally enforces a measure of quality control as setup is limited to web analytics administrators. It also hides most of the campaign tracking complexity from end users.

The other approach is to simply add each of a campaign’s attributes as parameters to the links leading to a campaign’s landing page. Adding campaign tracking parameters to a URL can be done by anyone (including competitors!) but the process can be unwieldy (many parameter names to input accurately, long tracking URLs) and be beset by data quality problems. Google Analytics, no doubt the most popular professional web analytics system, uses a series of URL parameters to achieve campaign tracking. No system configuration is required. The rest of this article will focus on the URL parameter campaign tracking method (Google Urchin users may deploy the same tracking code as for Google Analytics or may define campaigns within Urchin).

Defining campaign tracking URL parameters: use a URL generator tool

The apparent complexity of tagging landing pages with campaign tracking URL parameters can be off-putting. Google offers a campaign tracking URL builder to facilitate the generation of a landing page URL with the appropriate tracking parameters for Google Analytics and Urchin. Piwik also offers something similar. Yet as experienced web campaign analysts will know, many key features are missing from these tools. To remedy these short comings, we’ve created a new campaign tracking URL generator which adds options for many of the features missing from Google’s URL builder:

  1. Provide quick parameter defaults for common campaign types such as newsletters and social media updates.
  2. Shorten the long tracking URL, hiding the campaign tracking parameter complexity.
  3. Allow use of a hash, #, as the campaign tracking anchor, a SEO .
  4. Allow setting of the campaign attribution to the first touch point rather than the most recent.
  5. Allow generation of tracking parameters for any of the common web analytics systems which use URL parameters.
  6. Allow generation of tracking parameters for use with multiple web analytics at the same time.

Read on for greater detail on these options or feel free to visit Antezeta’s ad and campaign tracking code generator now.

A few notes on our campaign URL tagging tool

Translations: the tool is currently available in English, Italian and German. It will be translated into additional languages if volunteers are willing to provide and maintain translations for the necessary text strings. If you want to volunteer to translate the tool into your language, please contact us.

Tracking URL length: the length of a generated tracking URL could be a problem in the unlikely case it becomes too long. There isn’t a formal definition of too long: web servers, web analytics systems and browsers are each potential points of failure. The tool displays the length of the tracking URL and issues a warning if the URL is longer than 1024 characters. A more specific warning is issued if the length is beyond Internet Explorer‘s documented 2083 character (bytes) limit. Other warnings may be added in the future based on user feedback.

Browser version: the tool requires a modern standards-compliant browser. Internet Explorer has historically been standards adverse. Internet Explorer users might consider updating to a current cross-platform browser like Firefox or Chrome if they encounter problems.

Campaign tracking & SEO implications

Modern search engines are highly efficient at finding and crawling pages that shouldn’t end up in a search engine. Problems begin the minute a newsletter, complete with tracking codes, is published on a company’s website or a link with tracking code is tweeted in twitter. A search engine will also pick up the link and will try to consider the URL to be distinct from the original page, a problem known in the trade as duplicate content. In worse case scenarios, the search engine will give greater precedence in search results to the URL with campaign tracking parameters over the original URL. There are several techniques used to avoid this problem. Google Analytics users should enable recognition of the hash symbol, #, as the campaign tracking anchor. Once this is done, Google’s utm_ name-value tags can be placed after the URL fragment, safely out of harm’s way. Unfortunately, the folks on Google’s Feedburner team haven’t received the memo – it isn’t yet possible to tag feedburner URLs using the # as the tracking parameter anchor. Openstats also supports the use of a hash as the parameter anchor, although this doesn’t appear to work in Yandex.Metrica. Another approach, not without its own problems, is the use of the <link rel="" href=""/> syntax, supported by most major search engines including Ask, Bing/Yahoo, Google and Yandex.

10 tips for effective campaign tracking

To conclude this foray into the world of campaign tracking, we offer a few tips to improve tracking and analysis effectiveness. Naturally, we also offer a Google Analytics course for those who want to better harness Google Analytics’ enterprise class features.

1. Be consistent when defining campaign tracking tags

Great insights derive from data analysis performed on quality data. Yet small details can often lead to data quality issues which hamper analysis. Traffic tagged with the source “twitter” and the source “” will appear as separate items in web analytics reports, not likely a desired outcome. Case sensitivity will often cause the same problem: in many systems “” will appear as a separate item from “”. Some of these issues can be fixed by using transformation filters on input data but usually only log based web analytics systems allow reprocessing of historical data. Thus the message is to be consistent with tag usage when defining a campaign’s tracking elements. Pay particular attention to case sensitivity and spelling.

2. Use as many parameters as possible to enable later data drill down

One important facet of web analytics is the collection of quality data for ad hoc analysis which can lead to great insights. Use as many of a web analytics system’s available campaign parameters as possible. Even if they aren’t immediately needed, the data might be useful in the future. If a newsletter contains multiple links to the same landing page, track each link as a separate content item even if it isn’t anticipated that this data will be required in the short term. If the link position isn’t tracked now, it won’t be available the minute someone asks the question if the link in the header got more of a response than the same link placed in the newsletter footer.

3. Be creative when using campaign tracking buckets – they’re just labels.

The campaign tracking parameters provided by the web analytics vendors are just data buckets with labels, often presented with a fixed a hierarchy in web analytics reports. The parameters can actually be used however an organization best sees fit. A parameter called term or keyword can actually hold something else, such as ad type, if that parameter isn’t already available. Do be consistent with usage, however.

4. Document parameter usage conventions

Document parameter usage conventions within your organization, including any changes over time. This can be a useful reference for consultation both by those defining tracking for new campaigns as well as for analysts drilling down into collected data.

5. Use a URL shortener to hide the complexity of long URLs.

The long URLs that result from adding multiple campaign tracking parameters can be unwieldy. Not only can their complexity discourage clicks when raw URLs are visible to end users, long URLs may break when placed in plain text emails. Short URLs are pretty much required for many social media update services, such as twitter.

When choosing a short URL service, consider the service’s performance record, and longevity. Will user click redirection be quick? Will the link work for the entire duration of the campaign? Some services offer the choice of multiple domains, sometimes including the option to use a personalized domain. Many services offer rudimentary tracking statistics. Do be careful about all the cutesy domain suffixes – many of them, such as ly for Libya, are associated with countries which have much bigger issues to worry about than your business measurement.

6. Use a spreadsheet for bulk campaign tracking code creation

In the case where many campaign codes need to be created for campaigns with similar attributes, it might be more efficient to use a spreadsheet. The spreadsheet would need logic that conditionally concatenates each campaign tracking value on to the destination URL. There are also some technical details to manage: spaces and a few reserved characters need to be replaced with special codes, a process called percent encoding.

7. Considerations for campaign tracking measurement accuracy

For campaign measurement to be successful it is necessary to ensure that tracking URLs only be found by those who have been exposed to the campaign. This is easier said than done however. A person who likes a link in a newsletter may decide to post the URL, tracking code and all, on Facebook and / or on their blog. It may be necessary to perform additional report filtering based on campaign code and traffic referrer to clean-up “contaminated” data.

8. Enable automatic campaign tracking

Many web analytics systems are able to automatically report on data from external sources, such as ad platforms including Google’s AdWords, Bing’s Microsoft adCenter and Yandex.Direct. Consult documentation from the web analytics system vendor, the advertising vendor or check with a web analytics professional. As an example, Feedburner users can enable Google Analytics campaign parameters.

9. URL parameters and fragments, oh my. Learn the anatomy of a URL

Anatomy of a URLWeb analytics campaign tracking parameters take the form of name=value and are usually added to a URL as standard URL parameters, the part of the URL which starts with a question mark as seen in black above. Additional parameter name=value pairs can be added the URL, separating each name=value pair with an ampersand (&). Some tracking systems, such as Google Analytics (as a configuration option), may also accept parameter name=value pairs which appear after a #, denoting the fragment part of the URL.

10. Using multiple web analytics systems? Combine tracking code parameters

Deploying multiple web analytics systems is an ideal way to trial a new system, have a back-up system in place, and to access best of breed reports. There are data reconciliation issues need to be considered. The good news is that campaign tracking code for one vendor can happily co-exist with that of another vendor. Just chain the parameters together – our campaign tracking tool does this for you. The one problem that may arise is when a system partially supports Google Analytics parameters. Not all vendors recognize Google’s # anchor option, described previously.

Now it’s time to get tracking with our campaign tracking tool!

Similar Posts:

Registration is now open for the next SEO Course and Google Analytics Course in Milan. Don’t miss the opportunity!

About Sean Carlos

Sean Carlos is a digital marketing consultant & teacher, assisting companies with their Search (SEO + SEA = SEM), Social Media & Digital Media Analytics strategies. Sean first worked with text indexing in 1990 in a project for the Los Angeles County Museum of Art. Since then he worked for Hewlett-Packard Consulting and later as IT Manager of a real estate website before founding Antezeta in 2006. Sean is an official instructor of the Digital Analytics Association and collaborates with the Bocconi University. He is Chairman of the SMX Search and Social Media Conference, 12 & 13 November in Milan. He is also a co-author of the Treccani encyclopedic dictionary of computer science, ICT & digital media. Born in Providence, RI, USA, Sean received Honors in Physics from Bates College, Maine. He speaks English, Italian and German.

2 Responses to "Digital media measurement: campaign tracking made easy + free tools"