Skip to content
This repository

Table of Contents

What is the Omniture Traffic Organizer?


Omniture Traffic Organizer is a JavaScript library that users of Adobe’s Omniture SiteCatalyst can use to achieve a better and more detailed understanding of incoming traffic sources to their website.

Who should use the Omniture Traffic Organizer


Any organization using Adobe’s Omniture SiteCatalyst (and better yet also using Google Analytics) would strongly benefit from using the Omniture Traffic organizer. Just ensure you follow the proper steps for installation and configuration (see Installation, Configuration and Usage).

Why was the Omniture Traffic Organizer created?


Unfortunately, users of Adobe’s Omniture SiteCatalyst have had to live for years in envy of the traffic source reporting available from Google Analytics out-of-the-box. Evangelists such as Avinash Kaushik have made many users crave to understand how their paid search campaigns are performing by way of metrics such as bounce rate and page views per visit.

Omniture has tried to bridge the gap with a great plug-in called “channelManager” (ask Omniture ClientCare for more information). While channelManager does go a long way to fix things, it still doesn’t completely address all issues. Namely, channelManager makes it very difficult for the many users who have their sites tagged with both Omniture as well as Google Analytics tracking code.

How much does the Omniture Traffic Organizer cost?


Nothing. The Omniture Traffic Organizer is provided as open-source software and is available under the MIT or GNU GPL v3 open-source licenses. For those of you unfamiliar with these licenses, it means you are free to use this library for free in either a proprietary or open-source project at no cost. It also means however that the library is provided “as-is” and without warrantee or guarantee. See our License page for more information.

Who made the Omniture Traffic Organizer?


Although now hosted on github and technically anyone can contribute to this project, the original author was:
Mike Sukmanowsky (mike[dot]sukmanowsky[at]oddinteractive[dot]com) who at the time he originally created this was a Product Manager, Analytics at The Globe and Mail (a national Canadian newspaper).

What does the Omniture Traffic Organizer track?


That’s a bit of a tricky question depending on exactly what you’re asking but let’s give it a shot. When a visitor enters your site and starts there visit the Omniture Traffic Organizer answers the question, “where did they come from?”. Specifically, it can provide the following information about the previous location of the user for you to be able to submit to Omniture:

  • The medium (or channel if you prefer) that the user arrived from.
  • The source which is in effect, a more granular view of the medium
  • The search keyword a user typed into Google or another search engine (see “What search engines does Omniture Traffic Organizer track by default?” for more information).
  • The search keyword group if you’ve chosen to configure Omniture Traffic Organizer to recognize certain keywords as groups
  • The ad variation (or content) being used assuming you’ve tagged your inbound links (see “How do I tag my links to work with the Omniture Traffic Organizer”?)
  • The referring domain of the previous site the user was visiting
  • The referring path of the previous site the user was visiting
  • The campaign name being used assuming you’ve tagged your inbound links (see “How do I tag my links to work with the Omniture Traffic Organizer”?)

Any one of these variables could (in theory) be passed along to an e-commerce variable (eVar) to populate a corresponding report.

What are the main differences between how Google Analytics and the Omniture Traffic Organizer track traffic?


Visit and Visitor Metrics


Omniture records visit and visitor metrics much differently than Google Analytics. In Omniture, both visit and visitor metrics are often determined based a third-party cookie which specifies a visitor ID (“often” because you can configure this to be first-party). As Omniture receives interactions/image requests (page views, events, etc.), it continually looks at the visitor ID attached to all those image requests to determine unique visitors. Visits on the other hand are the collection of interactions from their first interaction to the last interaction where there was either more than 30 minutes between interactions or a new day begins. Google Analytics on the other hand sets a first-party cookie for a visitor ID as well as a session or visit ID. Google Analytics does not use the visitor ID to determine the visits metric and is always a first-party cookie.

Traffic Source Attribution Length


By default, Google Analytics sets its campaign cookie (_utmz) to expire in 6 months. In other words, if a user visits your site today from a Google search and then continues to visit the site for 6 months directly (i.e. they type www.yoursite.com into their browser), Google Analytics will attribute all of their visits to the original search term they used. It is important to note that this behaviour can be overridden, see this article for more information.

The Omniture Traffic Organizer on the other hand has a cookie expiration of 30 minutes by default (this can also be overridden, see _____) meaning that after 30 minutes of inactivity, any new visit will be reclassified.

Traffic Source Override

In Google Analytics, the campaign cookie used to track where a visitor came from (_utmz) has the following logic for being overwritten:

  • Tagged traffic (i.e. traffic using tagged query string parameters) always overwrites
  • Organic traffic (i.e. traffic from a search engine) will always overwrite referring or direct traffic
  • Referring traffic will only overwrite direct traffic
  • Direct traffic (i.e. typed/bookmarked/no referrer) does not overwrite anything, can only exist as initial value

The Omniture Traffic Organizer is very similar in it’s logic but with one key difference. Google Analytics does not overwrite a source that was listed as organic search if the new source is a referring site. This is a bit unfair as it provides a bias towards organic search traffic over a referring site. As a result, the Omniture Traffic Organizer will in fact overwrite the traffic source in the event a user initially entered via search and in a subsequent visit, entered via a referring site.

How do I treat certain search keywords as direct traffic?


You can use the addIgnoredSearchKeyword() method to treat a keyword as direct traffic. To revert to the default behavior, use the clearIgnoredSearchKeywords() method, which will clear out your keyword ignore list and treat all search engine terms as keywords once more.

var _tsm = new TrafficOrganizer(s);
_tsm.addIgnoredSearchKeyword("example.com");   // A string
_tsm.addIgnoredSearchKeyword(/example\.(com|ca|net)/i)   // A regular expression
/* Other configurations ... */
_tsm.track();

How do I group certain search keywords?


You can use the addSearchKeywordGroup() method to group a number of search keywords. To revert to the default behaviour, use the clearSearchKeywordGroups() method, which will clear out your keyword group list.

var _tsm = new TrafficOrganizer(s);
_tsm.addSearchKeywordGroup("tsx,tsx group","Stock Exchange Keywords");

How do I treat certain referrers as direct traffic?


You can use the addIgnoredReferrer() method to ensure that referral traffic from certain domains is treated as though it were direct traffic. To revert to the default behaviour, use the clearIgnoredReferrers() method, which will clear the ignored referrers list and treat all referrers as legitimite referrals.

var _tsm = new TrafficOrganizer(s);
_tsm.addIgnoredReferrer("example.com");  // A string
_tsm.addIgnoredReferrer(/example\.(com|ca|net)/i); // A regular expression
/* Other configurations ... */
_tsm.track();

How do I group certain referring domains?


You can use the addReferrerGroup() method to create a group of referring domains. This effectively extends the functionality of a default grouping such as the “ignored referring domain” group. To revert to the default behaviour, use the clearAllReferrerGroups() method, which will clear all referring domain groupings. The addReferrerGroup() method takes three parameters:

  • A comma-delimited list of the domains to be included in the group
  • The name of the medium to be used for this group
  • The name of the source to be used for this group

The third parameter, the traffic source, accepts specific strings which allow users to use dynamic values when populating the traffic source for a referring domain group.

  • %r – full referrer (http://www.somesite.com/path/to/page.html)
  • %rd – referring domain (somesite.com)
  • %rp – referring path (/path/to/page.html)
  • %m – medium
  • %s – source
  • %k – keyword
  • %kg – keywordGroup
  • %c – content
  • %cp – campaign name
var _tsm = new TrafficOrganizer(s);
_tsm.addReferrerGroup("domain1.com,domain2.com,domain3.com", "My Referral Group", "mrg - %rd");
_tsm.addReffererGroup("otherdomain1.com,otherdomain2.com", "Other Referral Group", "org - %d");

How many cookies does Omniture Traffic Organizer use?


Only one first-party cookie. The name of this cookie can be configured as well as the timeout of this cookie. The default settings ensure the cookie is named “_tsm” and is set to expire after 30 minutes of inactivity.

How can I see Bounce Rate by in my commerce (eVar) reports?


Bounce rate defined as:

Single Access Visits / Entries

is unfortunately not a metric that is enabled by default for commerce reports. At this time, the only way to have this metric enabled is to make use of one of Omniture’s additional plugins (namely bounceCheck). Contact Omniture ClientCare for more information. Once you are using the bounceCheck plug-in you can define bounce rate using a Calculated Metric as:

Bounce Rate (Conversion) = ([Success Event of 1st PV] - [Success Event of 2nd PV]) / [Success Event of 1st PV]

How can I see Page Views per Visit in my commerce (eVar) reports?


Page views per visit is unfortunately not a metric that is enabled by default for commerce reports in Adobe’s Omniture SiteCatalyst. In order to add page views to your conversion reports, you must define page views as a success event. Contact Omniture ClientCare for more information on implementation. Once you are capturing page views as a success event, you can define page views per visit as a Calculated Metric:

PV/V (Conversion) = [Success Event of PVs] / Visits

Do I have to tag my links differently if I’m using Omniture Traffic Organizer and Google Analytics?


Thankfully no. Omniture Traffic Organizer was created so that you can use the same query string parameters that you do in Google Analytics. Namely:

  • utm_source – Source
  • utm_medium – Medium
  • utm_content – Ad version
  • utm_term – Keyword
  • utm_campaign – Campaign name

For a great tool to tag your links try Google’s URL Builder Tool which is fully compatible with the Omniture Traffic Organizer.

If you already have a number of your links tagged already using different query string parameters, you can configure the Omniture Traffic Organizer to use those parameters instead. (see Installation, Configuration and Usage).

What search engines does Omniture Traffic Organizer recognize?

Engine Example Domain Names Parameter
Daum http://www.daum.net/ q
Eniro http://www.eniro.se/ search_word
Naver http://www.naver.com/ query
Google All Google Search domains (e.g. www.google.com, www.google.co.uk, etc) q
Yahoo http://www.yahoo.com/ p
MSN http://www.msn.com/ q
Bing http://www.bing.com/ q
AOL http://www.aol.com/ query
AOL http://www.aol.com/ encquery
Lycos http://www.lycos.com/ query
Ask http://www.ask.com/ q
Altavista http://www.altavista.com/ q
Netscape http://search.netscape.com/ query
CNN http://www.cnn.com/SEARCH/ query
About http://www.about.com/ terms
Mamma http://www.mamma.com/ query
Alltheweb http://www.alltheweb.com/ q
Voila http://www.voila.fr/ rdata
Virgilio http://search.virgilio.it/ qs
Live http://www.bing.com/ q
Baidu http://www.baidu.com/ wd
Alice http://www.alice.com/ qs
Yandex http://www.yandex.com/ text
Najdi http://www.najdi.org.mk/ q
AOL http://www.aol.com/ q
Mama http://www.mamma.com/ query
Seznam http://www.seznam.cz/ q
Search http://www.search.com/ q
Wirtulana Polska http://www.wp.pl/ szukaj
O*NET http://online.onetcenter.org/ qt
Szukacz http://www.szukacz.pl/ q
Yam http://www.yam.com/ k
PCHome http://www.pchome.com/ q
Kvasir http://www.kvasir.no/ q
Sesam http://sesam.no/ q
Ozu http://www.ozu.es/ q
Terra http://www.terra.com/ query
Mynet http://www.mynet.com/ q
Ekolay http://www.ekolay.net/ q
Rambler http://www.rambler.ru/ words

How can I add an additional search engine to be recognized by Omniture Traffic Organizer?


You can use the addSearchEngine() method to add a new search engine. The addReferrerGroup() method takes three parameters:

  • The domain name of the search engine (e.g. google.com)
  • The query string parameter that the search engine uses to represent search terms (e.g. Google uses the “q” parameter)
  • The name of the search engine which will appear in reports
var _tsm = new TrafficOrganizer(s);
_tsm.addSearchEngine("bing.com", "q", "Bing");
/* Other configurations ... */
_tsm.track();

What Omniture plug-ins do I need to use the Omniture Traffic Organizer?


You will have to install the getQueryParam plugin to use the Omniture Traffic Organizer. See Omniture’s help documentation or contact Client Care for more information. The getQueryParam plugin is provided by Omniture free of charge.

How can I contribute to the Omniture Traffic Organizer?


First of all, thanks for the interest in contributing to this initiative! To contribute all you need is a github account and then contact the project owner (at the time of this writing it is still Mike Sukmanowsky). Commit access will not be granted to everyone, but we still need the help!

I found a bug! What do I do?


Thankfully github provides an issue tracking interface. Simply head to the issues tab of this project and register the issue you believe to be a bug and a developer will correct it shortly.

Something went wrong with that request. Please try again.