One of the primary reasons companies utilize Omniture SiteCatalyst is to track the effectiveness of online marketing campaigns (see step three in Avinash’s “Nirvana” post).  While this is an enormous topic, I will use this post to cover the most important things you need to know to effectively track campaigns in SiteCatalyst.

What is a Campaign?
I usually define a marketing campaign as any instance where you are deliberately paying money or expending effort to drive traffic to your website.  I use this definition because in order to track the success of marketing campaigns you need to have a way to identify the specific traffic you have generated.  SiteCatalyst does this through a “Tracking Code” that is captured when visitors arrive to your website from one of your marketing campaigns.  While most marketing campaigns involve costs to generate traffic, there are some cases, such as internal e-mail lists, that have minimal costs, but are still valuable campaign contributors.  Most clients have a team of people who are focused on creating/managing marketing campaigns and determining which types (Paid Search, Paid Display, E-mail, etc…) are the best and which campaign elements within each campaign type produce the best results.  By using Omniture SiteCatalyst to identify the most cost-effective campaign elements it is possible to squeeze the most value from your limited marketing budget.

How Do Campaigns Work in Omniture SiteCatalyst?
To use the Campaign feature of SiteCatalyst, the first step is to be sure your SiteCatalyst implementation is set-up to capture campaign tracking codes when visitors arrive to your site.  This is normally done by using a JavaScript plug-in that Omniture provides to capture a URL parameter and place it in the campaign variable (s.campaigns).  For example, if you buy the keyword “books” on Yahoo, when the user clicks on that Paid Search link, they might come to your site with the URL of “www.mysite.com?id=12345.”  In this case, the code “12345” would be placed in the SiteCatalyst campaigns variable for tracking purposes.  In many ways, understanding Campaigns is really a compilation of many of the things we have learned so far in previous blog posts.  The SiteCatalyst campaigns variable is simply a Conversion Variable which has full subrelations enabled which will attribute any subsequent Success Events to the campaign tracking code stored in the current user’s cookie.  As with any other Conversion Variable, you can use the admin console to determine how long you want to keep the tracking code in the user’s cookie and if you want to give credit to the first campaign tracking code or the last one.

Once your SiteCatalyst JavaScript file is set-up to capture campaign tracking codes, the next step is to assign tracking codes to all links that will refer traffic to your site.  This is the part of the campaign process in which Omniture SiteCatalyst clients make the most mistakes.  The key to assigning tracking codes to campaign elements is that they have to be unique.  As long as the same campaign tracking code is not associated to more than one campaign element you are in good shape.  Using the example above, the code “12345” is now dedicated to the keyword “books” on Yahoo as a Paid Search element.  If the company chooses to buy the same keyword on Google, it should use a different tracking code so SiteCatalyst can differentiate between the same keyword on Google and Yahoo.  Unfortunately, I have seen many clients set the same tracking code for “books” in multiple places and then wonder why it is so difficult to show how the keyword performed differently on each site.  Along these same lines, you will have many campaign types such as Paid Search, Paid Display, E-mail, etc…  While each of these are different types of campaigns, they all need to have tracking codes and the tracking codes need to be unique amongst the entire spectrum.  In this scenario, no Paid Display or E-mail link can have the tracking code “12345” or trouble will ensue.

Making Sense of Campaign Tracking Codes
So now let’s say that you are all set to capture campaign codes and have worked with your Paid Search, Paid Display and E-mail vendors to add a tracking code to each destination link for which you are spending marketing dollars.  As traffic begins to trickle in, you can open up the Tracking Code report found in the Campaigns area and see Click-throughs and also what website Success Events have taken place after visitors arrived from each campaign code:

This sample report shows which campaign tracking codes are getting the most clicks and leading to the most Application Completions.  But making sense of this report is not very easy since you probably don’t want to memorize every campaign tracking code.  If only there were a way in SiteCatalyst to add meta-data to a Conversion Variable so you could group items in different ways (hint, hint!).  Those of you who have read the previous posts, of course, know that Classifications provide this capability so the next logical step in campaign management is to identify the ways you want to slice and dice your campaign tracking codes.  For example, you might want to group campaign tracking codes by:

  1. Campaign Name (Spring 2008 Campaign, Summer Branding Campaign, etc…)
  2. Channel/Type (Paid Search, Paid Display, E-mail, etc…)
  3. Vendor/Website (Google, Yahoo, CNN.com, etc…)
  4. Link Type (Text, Animated GIF, Flash, etc…)
  5. Business Unit (Product Marketing, Acquisition, Customer Service, etc…)
  6. Business Owner (Joe Murphy, Sue Smith, etc…)

As we learned in the Classifications post, you can choose as many attributes as you want and the best part is that Classifications are retroactive, which means you can decide how you want to group campaign tracking codes days, weeks or months after the campaign launches and change it as many times as you’d like.  Doing this might produce a report that looks like this:

Important Things to Know About Campaigns
The following are some important things to know about tracking campaigns:

  1. The campaigns variable (tracking code) comes with full subrelations by default so you can break every Conversion Variable down by any tracking code and any Classification of any tracking code.
  2. If you do a lot of Paid Search, creating thousands of unique tracking codes and inputting them into the various search engines can be tedious and costly.  Omniture’s SearchCenter product automates this process and provides many other incredible benefits so check it out.
  3. The “Click-throughs” metric is only available in Campaign reports, though there are more advanced ways to implement this if more flexibility is needed.
  4. You can upload the costs associated with each campaign tracking code to calculate the Cost per Click or Cost per [Success Event].  This is a bit more advanced, but if you are interested in this Omniture Consulting would be happy to assist you.

Real-World Example
Someone “Twittering” with me asked if I could show an example of how Greco Inc. (our fictitious company) could monetize the use social networking so I am going to do my best in this week’s real-world example.  In this scenario, we’ll imagine that the CoolFlowers subsidiary of Greco Inc. has hired a young “go-getter” out of college who is a whiz at social networking.  This individual has done research and identified several blogs on the Internet that have active discussions about flowers and has also identified an internal employee who knows more about flowers than anyone on the planet!  Soon, he has his associate blogging on CoolFlowers.com and commenting on a few key blogs placing links back to her CoolFlowers blog.  As described above, a campaign tracking code identifier is added to each link going back to the CoolFlowers site such as http://www.coolflower.com?id=blogcomment.  Now, as blog readers click on the link in her comments, they are routed to the CoolFlowers website where Click-throughs and Purchases can be tied to the social networking initiative.  Obviously, this represents a rudimentary approach, since it lumps all blog comments into one tracking code, but if it wanted to, Greco Inc. could use “id=blogcomment1,” “id-blogcomment2,” etc… to tie success to a specific comment.  Either way, all of the social networking tracking codes can later be grouped together using SAINT Classifications and compared to other marketing channels.

This same concept can be applied to programs like Twitter in which you can post links to your site with a campaign identifier and then use tools like POPrl to shorten the URL but still record the click as a campaign.  To see how this works, feel free to click on the following link http://poprl.com/0cG which will take you to the Omniture Consulting page on omniture.com and indicate that you got there because of my blog!

 

Have a question about anything related to Omniture SiteCatalyst?  Is there something on your website that you would like to report on, but don’t know how?  Do you have any tips or best practices you want to share?  If so, please leave a comment here or send me an e-mail at insidesitecatalyst@omniture.com and I will do my best to answer it right here on the blog so everyone can learn! (Don’t worry – I won’t use your name or company name!).  If you are on Twitter, you can follow me at http://twitter.com/Omni_man.

Learn more about Omniture Consulting
Learn more about Omniture University

 

17 comments
eappleby
eappleby

The images in this post no longer display.  Can you fix that?

Mik
Mik

The drawback of online marketing is anonymity but these web analytic tools is a very useful way to track how effective your online marketing tool is.

kelly P
kelly P

the way our site URLs are set up, we cannot have a? at the end of the URL; we are instead using an ampersand (&id=) for the sitecatalyst tracking code. Will the URLs still track?

Phil
Phil

We have added our external campaign variable 'ecp' to our tweets when and add them in to our bit.ly account prior to posted the links. However there remains a large discrepcancy as to what bit.ly reports and SiteCatalyst reports. Any ideas about this? Does using the getValOnce Plugin on our campaigns create this disparity?

Jim Hazen
Jim Hazen

Ann - do something like this in the s_code.js if your query string param for example is 'cid=' s.campaign=s.getQueryParam('cid'); s.eVar3=s.campaign;

Ann
Ann

We are using Omniture code to track the visits on our pages. i have a campaign code in a url and I need to track that and populate it on one of the eVar variables(eVar3 for example). can you please advice.

Filip
Filip

Hi Adam, very useful post, thank you! I was wondering: you write about SearchCenter, but is there any other way to track search campaigns in detail? Could I, for example, set the tracking code in AdWords to be say ?id=googCPC-853-{keyword} (where keyword is the macro that puts the triggered keyword into the destination URL)? Does that make sense? Thanks, Fillip

Jon
Jon

Great Article Adam. I work for a digital agency, we recently ran a banner campaign on Google via placement/site targeting for a client that uses Omniture SiteCatalyst to determine incoming or referral URLS. Unfortunately we didn't include tracking codes that you suggest to measure success. Can we confirm the incoming URLS that lead users to the clients site via Omniture or will they all appear as if from Google Sites? Would sites that had clicks thrus appear on your logs even if the traffic they drove is small or if the site itself isn't a well known one? Do sites need to be registered somewhere for you to detect them? Sorry for all the questions!! Thanks in advance, ~J

Adam Greco
Adam Greco

Tim - I agree and thanks for pointing that out. I will probably talk about Internal promotions in a future post. Thanks!

Tim Elleston
Tim Elleston

Great post Adam. And you can then take this one step further by using "internal" campaign tracking ID's (i.e. pid=123) to see which internal promotions drive conversions against the original blog campaigns. This way, you'll be able to measure different creative for internal campaigns against external campaigns. I think you need full sub-relations turned on for the internal campaign ID's though. But the correlation report (5x5) created is a real insight into the full user journey and conversion. Tim

Adam Greco
Adam Greco

Beth - Yes. If you do not set up the Paid Search Detection parameter in the Admin Console, then all Search Engine traffic is lumped together into Search Engine and Search Keyword reports. Once you enable Paid Search Detection, data is split into Paid Search reports and Natural Search reports. ClientCare can walk you through setting this up…

Beth
Beth

Hi Adam, Nice post and very well explained. Have one question, if per se campaigns are not set-up in Omniture to track, is campaign visitors bundled with natural search? Thanks, Beth

palani
palani

Hi Adam, Nice Article, Explains very clearly the way things have to be setup. In my past experience, even i have come across scenario's where Unique Campaign Tracking Codes are not generated and that skews the numbers. Thanks

Adam Greco
Adam Greco

Avinash - Thanks! Melissa - I am not aware of any formal benchmarks, but I tend to be concerned if the discrepancy is more that 10%-15%. There are lots of ways to do some auditing using Data Warehouse and "debug" logs if you do suspect an issue.

Melissa
Melissa

Adam - do you have a "normal" discrepancy amount when it comes to comparing vendor click-throughs for emails or banner ads, etc. to what SiteCatalyst registers? This is an issue we come across time and time again when a client runs a banner or sends an email out, and the numbers don't match. I know that the numbers will never match, but what's an acceptable percentage of discrepancy?

Avinash Kaushik
Avinash Kaushik

Adam: You 've made a very complex topic significantly more digestible! And added a touch of social media to boot. : ) Bravo! -Avinash.