What is the Analysis Exchange?


Posted in Web Analytics | Leave a comment

Omniture ClientCare Stepping Up

I recently had an interaction with Omniture ClientCare that I think is worth mentioning.

I had contacted ClientCare requesting instructions on how I could migrate a client’s site from using 3rd party cookies to 1st party cookies. I had followed all the steps outlined in the knowledge base to obtain the cert, create the CNames, etc. but when I rolled out the updated tracking code, I didn’t want to drop all the past visitors. I needed a way to “migrate” my existing visitors from their 3rd party cookie to a 1st party cookie.

I had a vague memory of a variable that could be used to do this but I wasn’t sure how to implement it and I was unable to find any documentation on the subject. After a brief conversation with a ClientCare agent via chat, it was clear that we were not on the same page. I left the chat feeling frustrated and turned to Twitter for some help.

Behind the scenes the ClientCare agent, rather than just marking the incident as “closed” and moving on, continued to followup. He was following my conversations on Twitter about the incident and he had requested additional information internally.

Later that day, the ClientCare agent contacted me and apologized for the misunderstanding, told me he was informing all of the agents about the situation, and had submitted a requested (along with proposed wording) for an updated knowledge base article.

All it took was for one person, to go slightly outside the predefined boundaries of his role, to change my perspective of an entire organization.

My mom always told me, “do what is expected of you and then do a little bit more.” Seems like that is just good advice all around.


Posted in Omniture, Tao of J | 2 Comments

Injecting Search Keywords using Omniture Test & Target

In this episode of EmptyMind TV, you’ll learn how to use Omniture’s Test & Target to test if customizing a landing page by injecting a visitors search keywords will increase conversion rate.

* For best results view in Full Screen HD

Offer Code:



Posted in Omniture, Omniture Test & Target, Web Analytics | 7 Comments

Ad Testing Using Omniture Test & Target

In this episode of EmptyMind TV, you’ll learn how to use Omniture’s Test & Target to test different versions of an ad and also how to dynamically update landing pages to match the ad experience.

* For best results view in HD


Posted in EmptyMind TV, Omniture, Omniture Test & Target | Tagged , , , | Leave a comment

A Response to ‘From Database Marketing to Web Analytics’

Over the weekend, a post by Kevin Hillstrom titled ‘From Database Marketing to Web Analytics’ got a lot of attention in our little #measure community. I found myself deeply questioning the statements made in the post, which in my opinion, is the sign of an excellent post. I also found myself a bit confused as to why I wasn’t as thrilled with the contents of the post as many of the people I follow were, sure I have been characterized as an “outlier” but was I that off base in my interpretation of Kevin’s post?

Claim:
Web Analytics experts make things more complex than they need to be.

Status:
Partly True

Examples: [collected from 'From Database Marketing to Web Analytics'; It's Not About The Community, It's About The CEO]
Marketers spent two decades trying to impress each other … trying to top each other using fancier and fancier techniques, until we couldn’t even explain what the heck it is we were doing and how we were doing it (i.e. Neural Networks).

Origins:
The act of one making things seem more difficult than they need to be is not unique to the Web Analytics community, it has been happening ever since man had ego. The fact that the simplest pattern is the clearest, keeps this sort of behavior in check.

A more likely explanation of why this happens can be found in a study of how things mature over time. Most things are not complex just for complexity sake, they became complex over time as more and more people began to engage. When basketball was invented in 1891, the sport was arguably much simpler than it is today. As more and more people began to play and watch the sport, more and more questions, about how specific situations needed to be handled, had to be answered. Basketball didn’t become complex just to one up other sports, it became complex through a natural set of events that happen in all things.

This isn’t to say that we shouldn’t aim to make things as simple as possible, we should, but to put the blame solely on the shoulder of ego is overlooking the naturally occurring complexity that is found in all systems.

——–

Claim:
It’s all about the CEO.

Status:
False

Examples: [collected from 'From Database Marketing to Web Analytics'; It's Not About The Community, It's About The CEO]
If you own the keys to the future, start acting like you own the keys by speaking to the right audience. That audience is the CEO.

Origins:
At one point in time, when our grandparents stayed at the same job their entire life, when you got a gold watch when you retired, when you were sent to charm school to learn how to be a better corporate citizen, the strict hierarchy crowned with the CEO was of great importance. However, in today’s business landscape, those old models are being torn down and replaced by a new way of doing business. The CEO is now one of many important members of the community.

Communicating with the CEO, in a language he or she understands, is of critical importance. Communicating with the CMO, in a language he or she understands, is of critical importance. Communicating with the Director of Digital, in a language he or she understands, is of critical importance. Communicating with the call center agent, in a language he or she understands, is of critical importance.

A projects success is ultimately based on the adoption and buy-in from all levels of an organization (See Also: Community), gone are the days when a CEO could simply mandate action from his lofty throne and expect his masses to fall into line without questioning his or her direction.

——–

Claim:
Analysts speak in a geeky way that many people in the business don’t understand.

Status:
True

Examples: [collected from 'From Database Marketing to Web Analytics'; Stop Ripping HiPPOs, Stop Being A GIPPO]
Is it possible that you are asking an Executive to trust the “Geekiest Individual’s Preferred Productivity Option?”

Origins:
This is true, but again this is not limited to Web Analytics, it happens in all walks of life. The Heath brothers, in their book Made to Stick, call this phenomenon The Curse of Knowledge. To explain this phenomenon they used a study, conducted by Elizabeth Newton at Stanford, called “Tappers and Listeners“. The study set out to test the Curse of Knowledge, which states that once you know a piece of information, it becomes very difficult to imagine what it was like before you knew it. Your knowledge, now makes it much harder for you to communicate, and thus it is a “curse.” If you aren’t familiar with the study, please take a moment to read the following article.

Again, this isn’t something unique to members of the Web Analytics community, it’s something that all of us have to deal with in every aspect of our lives. To better communicate with everyone in our community, we must continually work to overcome the curse.

——–

Claim:
Nothing lasts forever.

Status:
True

Examples: [collected from 'From Database Marketing to Web Analytics'; Empires Never Last]
Nothing lasts. Nothing. Database Marketing gave way to Web Analytics. Web Analytics, most assuredly, will give way to something else.

Origins:
Life is change. Everything around us is constantly in a state of change. It is one of the great universal truths. Where we get into trouble is when we define ourselves by the industry we work in, even the specific speciality within the industry, it’s human nature. Hence why people who defined themselves as Database Marketers are frustrated that they are in a declining industry or better yet, are no longer referred to as the King of the Castle, and are aiming their anger and frustration at members of the Web Analytics community, when they should be upset with themselves. Those that will reap the greatest rewards will have the flexibility to float not only among specialties but among industries.

He who stands on tiptoe
doesn’t stand firm.
He who rushes ahead
doesn’t go far.
He who tries to shine
dims his own light.
He who defines himself
can’t know who he really is.
He who has power over others
can’t empower himself.
He who clings to his work
will create nothing that endures.

~Tao Te Ching

——–

Claim:
Web Analysts are narrow minded in their focus.

Status:
Partly True

Examples: [collected from 'From Database Marketing to Web Analytics'; Bigger Picture]
Web Analysts are failing by having a narrow focus on online customer behavior.

Origins:
Web Analysts who set their focus too narrow will not be as effective as those who take a much broader view of customer behavior. Truth.

Web Analysts are failing by having a narrow focus of online customer behavior. False. By defining an entire community by ones limited personal experience is in and of itself taking too narrow of a focus.

The counsel is better served as a character trait possessed by many and again not limited to Web Analytics. It is wise for all of us to take a more holistic view of all projects we have the opportunity to be involved in.

——–

Claim:
Telling a story is more important than the tool.

Status:
Partly True

Examples: [collected from 'From Database Marketing to Web Analytics'; It's The Story, Not The Tools]
Please, be agnostic about tools, focus your efforts on telling a story about how customers behave.

there were long and boring arguments about which tool better achieved business objectives, with evangelists passionately offering an elaborate defense of each tool.

Origins:
I am a strong believer that you can drive great value out of any tool you use and those who will have the greatest success will be flexible to, as I mentioned previously, jump amongst tools and industries alike. And I couldn’t agree more that telling a good story, is one of the most valuable skills you can cultivate, regardless of the career you are in.

With that said, to paint the discussions that happen amongst practitioners as “boring” is a failure to see the bigger picture. We all can’t be generals, sitting horseback upon a grassy hill over looking the battle field. The vast majority of us are practitioners, we are down on the battle field, where the type of gun we have and the ammunition we have available to us, is of utmost importance. When we are generals, we speak in ways and terms that are important to generals but when we are soliders, we speak in ways and terms that are important to soliders. Each of the same importance, to say otherwise is to undermine a critical component of your team (See: Group; See Also: System; See Also: Community)


Posted in Web Analytics | 4 Comments

Pitching or Hitting?

The following is a guest post from Dan Roden, Manager of Web Analytics at MLB.com.
————————–

I have been on the baseball scene for years, since my tee ball years into college and eventually working for Major League Baseball managing their Web Analytic program. Baseball is the ultimate “stats” sport. No other sport provides its fan base with more discussion/measurement material, all the way down the the thousandths place in the decimal world.

With all of this data, the same question is asked of casual fans and avid followers alike: “If you had a limited amount of payroll and you were starting a team from scratch, which would you spend your money on? Pitching or Hitting?” Some argue “Pitching wins championships.” others say “If you can’t score runs, it doesn’t matter if you can pitch because you will lose too many games by the score 2-1.” And so the argument goes, for ages and ages and will continue to be so as long as the boys of summer take the field every April. Here is my answer: You need both. I would rather have adequate hitting and adequate pitching and leave the winning to the execution of the game plan rather than be a one-sided force.

The same applies to Web Analytic teams within any organization, particularly larger organizations that have greater data volumes. I have read some preposterous notions by some in the Web Analytic community that “tech” is overrated in the WA space and that “analysis” is where the real value lies. Really? That is like saying the body of a car is what really makes the sale…maybe so, but that car ain’t gonna get off the lot without an engine under that hood.

When I started at MLB I was a one man band and it really showed. I had to architect and re-implement 31 sites in 3 months all the while being asked to “analyze” the current (woeful) data from the old implementation. So there I was, trying to decipher ridiculous page level data, custom events that fired with no rhyme or reason and commerce data that was less than consistent. It was then that I realized that the new implementation architecture had to be a rock solid foundation for the analysis that was sure to come. So I kept my focus on the tech side, engineering sustainable implementation solutions, creating governance, structured schematics for situational tracking and so forth. When we rolled out the new implementation in March of 2008 the impact on the business was immediate. Instead of business units receiving a dashboard full of cryptic URLs as page names they were seeing clear, beautiful, business friendly page names. Pathing actually made sense now! Commerce fallout reports lined up with internal database numbers, there was a God!

With all of this pretty and reliable data at our finger tips, everyone wanted to know “what is this data telling us?” You know what my problem was? I was stuck in “architect mode”. I didn’t care what it meant other than I was a freaking architectural genius! I can tell you this, it wasn’t long before the data went from King status to questionable status. Nobody was focused on helping the business analyze and use the data for anything other than pretty dashboards. For some time after that, the business became uneasy, we needed analysis, we needed bodies. So we added to the team, we brought in analysts and the WA reputation went from “pretty data” to “actionable data”. And here we are now, a fairly mature WA team, taking new projects, architecting, implementing, reporting and analyzing, just as we should be doing.

So, the MLB WA team started with “tech” but we needed “analysis” to be successful. I am sure that there have been many WA teams out there who started with “analysis” but were not successful until they had good “tech”. At MLB we don’t have a starting pitching staff of Cy Young guys 1-5 in the rotation but we certainly have some “good arms”. We don’t have batting champion hitters 1-9 in our offensive lineup either but we have guys that can swing the stick. More importantly, we are becoming better at playing the game, we are executing better as a team and we are having success.


Posted in Web Analytics | 1 Comment

One Drink, One Village

If each of us sacrifices just one drink on New Year’s Eve, we can reach our goal of raising $5000, enough to build a fresh water well for a village.


Posted in Web Analytics | Leave a comment

Thank You #Measure



Several months ago, due to many seemingly unrelated choices, I ended up volunteering for the Analysis Exchange where I was introduce to charity: water.

Who would have envisioned that a small project to audit the Google Analytics deployment for a non-profit organization would have gotten us to where we are today? I’ll be the first to admit that I didn’t but I’m sure glad that it did.

After the Analysis Exchange project was complete, I didn’t want the relationship to end. I reached out to Paull Young, Director of Digital, at charity: water asking how I could continue to help. He said there were two things I could do 1) Please continue to help us with our digital measure needs and 2) Think about giving up your birthday to provide those in need with clean drinking water.

Done and done. So this year, for my 36th birthday, I decided to ask all my #measure friends to donate $36 dollars to charity: water. I set, what I thought was lofty at the time, a $500 goal however the generosity of the community surpassed that goal in a matter of hours. So I reset the goal to $1000, now that goal is in our rear view mirrors. I have been absolutely humbled by the kindness, compassion, and generosity shown by those in the community that I love so dearly.

Because of each of you, we as a community have provided enough clean drinking water for over 80 PEOPLE for 20 YEARS. We in the measure industry should know better than most that by changing 80 lives, we are really impacting the lives of thousands, potentially millions of people.



Just because we have reached our goal, twice, doesn’t mean we should stop now. My birthday isn’t until New Years Eve, that gives us 13 more days to help more people, people who cry tears of joy when they see water spring from the ground, something so simple that we take for granted everyday.

And finally, although I don’t remember agreeing to, I was told that I in fact did agree to wear a tutu if we reached our original donation goal. I guess it goes to show that I’m willing to do just about anything in support of a worthy cause. Are you?



Posted in Web Analytics | 7 Comments

Charles, It’s Not Just For Tag Validation – Part 2

In Part 1, we reviewed how Charles can be used to swap local files with files on your production site to test changes made to your tracking code.

Now, in Part 2, we will take the Map Local feature in Charles to a whole new level by mapping files that don’t yet exist on your site.

Using Map Local To Inject Tracking Scripts

Here is the scenario.  You need to test some data collection code and not only do you not have access to a development environment but none of your scripts are even on the site you need to track.  As a consultant, this comes up more than you may think.  Having the ability to code against a client’s site, without having deployed any tracking code, keeps you one step ahead of the game.  I could accept the inevitable and start saving local copies of the site…..or…..I can use Charles to inject my files into the site.  Yeah, let’s do that.

NOTE: This scenario is specific to injecting Omniture’s page tracking code but this process could be modified for use with other Vendor’s page tags.

Using the DigitalPulse Debugger, we can see that this site does not contain any Omniture tracking code.

1.  The first step is the identify a JS file we can hijack.  I’m using a Firefox plugin called JSView to quickly see all the scripts that are loaded on my site.

2.  I’ve decided I’m going to use the file ‘builder.js’.  So i’ll save a local copy of that file to my desktop.

3.  Add the following block of code to top of the the file (builder.js in my example):

function trackingOnloadFunc(){

loadScriptLibrary = function(src, targetElement, olFunction) {

		if (typeof scriptElement == 'undefined') {

			scriptElement = document.createElement('script');

			scriptElement.setAttribute('type', 'text/javascript');
			scriptElement.setAttribute('language', 'javascript');
			scriptElement.setAttribute('src', src);
			scriptElement.setAttribute('id', src);

		}
		if (targetElement == null){
			if (headElement == null)
				headElement = document.getElementsByTagName('body')[0];
			targetElement = headElement;
		}
		var library = scriptElement.cloneNode(true);
		library.src = src;
		if(typeof olFunction == 'function'){
			if(! isIE){
				library.addEventListener("load",olFunction,false);
			}else{
				olFunIE = olFunction.toString();
				if(olFunIE.indexOf('function ')!= -1){
					olFunIE = olFunIE.substr('function '.length);
					olFunIE = olFunIE.substr(0, olFunIE.indexOf(')')+1);
				}else{
					olFunIE = olFunIE.substr(olFunIE.indexOf('{')+1, olFunIE.lastIndexOf('}')-(olFunIE.indexOf('{')+1));
				}
				library.onreadystatechange = function () {
					if (library.readyState == 'complete'  || library.readyState == 'loaded') {
						eval(olFunIE);
					}
				}
			}
		}
		targetElement.appendChild(library);
}

//UPDATE PATH TO YOUR DATA COLLECTION FILE
loadScriptLibrary("//thesimpletable.com/s_code.js",  document.getElementsByTagName('head')[0]);

}

window.addEventListener('load', trackingOnloadFunc, true);

4. Use Map Local in Charles to map your hijack file (builder.js in my example) on your site to the local copy we added the onload function to in step 3.

5.  Modify the tracking script (s_code.js).  In this step, you will add the logic to your s_code.js file that you want to test. For example, you can add plugins, add logic to set a page name, etc.  I’m adding a single line to set a page name:

 s.pageName=document.title;

As we are not using the standard Omniture page code, we also need to add a line to the bottom of the s_code.js file. If we don’t add this line, our files would load but no data would be sent to Omniture:

var s_code=s.t();if(s_code)document.write(s_code)

6. Again, we will use the Map Local feature in Charles to map the file we injected, the s_code.js file, in step 3. Line 44. Make sure you update this to reflect the location of the file on your site.

7. That should do it. Our hijack file loads, which in turns loads our data collection script. Now all we need to do is run the DigitalPulse Debugger to validate our code.

Code on my friends. Code. On.


Posted in Web Analytics | 1 Comment

Charles, It’s Not Just For Tag Validation – Part 1

When I first started implementing web analytics solutions for clients, my tool of choice for peeking inside the image requests being sent to the vendor was Charles.  I’ve since moved on to using httpFox as my primary page tag validation tool but Charles has other features that I just can’t live without.

Map Local

Here is the scenario.  You need to test some data collection code but you don’t have access to a development environment, you could do a “save as web page complete” on all the pages you need to test, but who wants to go through that hassle? Introducing…..Map Local.

Using the new DigitalPulse Debugger, you can see I’m only capturing page name but I’d really like to set a success event when a visitor reaches the ‘Work with Jason’ page.

1.  Save a local copy of the file you are going to modify, I’ll be making a few changes to the ‘s_code.js’ file.

2. Open the file in your favorite text editor and make your code changes.

//set 'work with jason' success event
if (window.location.href.toLowerCase().indexOf("/work-with-jason/") > -1){
  	if (typeof s.events=="undefined"){
		s.events="event1";
	}else{
		s.events+=",event1";
	}
}

3. Open Charles and select Tools–>Map Local

4. Map your local file to the file located on the site.

Now when I browse http://emptymind.org Charles is swapping the file located on the server at http://empttymind.org/s_code.js with the local s_code.js file located on my desktop.

When I view the ‘Work With Jason’ page again, this time using the local copy of my data collection code, the debugger is showing the new code is functioning as I expected by setting event1.

Although this is a very simplistic example, I hope you can see the potential power in this feature.

In Part 2, I’ll answer the question ‘yeah but, what if I want to test some data collection code but my analytics code of choice hasn’t even been deployed yet?’


Posted in Web Analytics | 2 Comments

Switch to our mobile site