Search Discovery and DTM (Dynamic Tag Management)

I haven’t updated by blog here in quite some time, but wanted to give a quick update as to where I and and what I’m up to in analytics. Back in September 2013, I joined the great team at Search Discovery. This is the company that created the Satellite product that was then later purchased by Adobe, and renamed to Dynamic Tag Management (DTM). Over the last 6 months, I’ve already gotten to immerse myself in DTM and analytics implementations using this fantastic technology. It really does open things up and change how you will see analytics implementation. Especially for those that are on the analyst side and have always had to wait on dev teams to get analytics requirements in place. The technology can do so much, so easily, that I can’t really explain it all here.

If you’re interested in seeing what can be done with DTM, please feel free to shoot me an email here:

jason.egan@searchdiscovery.com

When to Stop Using Excel

Without a doubt, Microsoft Excel is the most widely used “business intelligence tool.” Yes, those quotes are there for a reason. Excel is a great tool, and one that most every analyst of any kind has used in excess and been heavily dependent upon. However, there does come a point where a business should begin evaluating if it is time to grow up and move beyond spreadsheets for analysis, reporting and data visualization. Over the years, I’ve worked on many projects where the final deliverable is some kind of automated spreadsheet. And, through this experience, I’ve seen many things that make me think, “okay, Excel is NOT the best way to meet this business requirement in the long term, because of X.” I just thought I’d share a few of the things I’ve seen being done in Excel that indicate it’s time to start looking for another way to analyze, report and visualize your data:

  • Ownership – Could a new person jump right into the spreadsheet and continue the work?
    • Many times, I’ve seen (or created) spreadsheets that would be next to impossible to follow all the way from how the data is inserted, how it’s later transformed, how some data may be tied together and then eventually reported upon. This makes maintaining a spreadsheet solution very difficult in the long-term. When a spreadsheet’s functionality becomes so complex that no one aside from the original creator can edit it, it’s time to consider other solutions. This becomes even more true when you start to introduce things such as VBA scripting, large pivot tables (these in general are an indicator that you need a real BI solution) and complex macros into the mix.
  • Size – Plain and simple, Excel is not meant for large datasets
    • This one is pretty much a no-brainer. Any single Excel tab can only hold around 1.5 million rows of data. But, good luck not pulling your hair out trying to manipulate (or even just open) an Excel file with that much data in it. Even though you can have 1.5 million rows in Excel, it takes far less data than that to essentially make a spreadsheet useless (or a nightmare to use). Even inserting a new, blank column into such a spreadsheet means sitting there for a couple of minutes waiting on your machine’s CPU to chug away trying to complete this task.
  • Geographic Data - It’s a spreadsheet not a mapping tool
    • When dealing with geographic data, your visualizations in Excel are pretty limited. There is no integrated way to visualize geographic data on any kind of map via Excel (at least out of the box). Visualizing geographic data on a map is great for the consumers of the data as it allows them to immediately put the data into proper context without having to first look down all of the rows (or maybe even only the top 10 rows,etc) of a ranked list of locations or at the entire bar chart of locations (neither of which visualize where the actual location is).
  • Data Integration – It’s a spreadsheet, not a database
    • A “vlookup” is not not really joining multiple data sets. Excel can be used to tie data from multiple datasets together if there are common keys, but you have to ask yourself if Excel is the best way to maintain a complex set of data where integration and data relationships are critical. To put this simply, if multiple data sets are critical to analysis, then you will eventually run into the ownership and size issues mentioned above. At some point, your business requirements  will be better served by using a true relational database (even Access would scale better, and MySQL is a free relational database).

Even though spreadsheets are very useful in the right situation, my primary argument against them in certain cases conform to the points above. So in summary, a spreadsheet isn’t the best long-term solution for business intelligence, analysis and data visualization if; a) it’s too complex for anyone else to quickly update or expand upon, b) you have a large amount of data, c) you need to effectively analyze geographic data and d) if you have many data sets that are related and need to be joined (or even visualized aside one another).

 

Data Visualization Best Practices

Below is a presentation deck from Tableau which was presented during one of their recent “roadshow” events. Regardless of the tools you have at hand to visualize your data, the best practices presented here are worth your time. Of especial interest within the deck is the information and research on how humans can best leverage data visually as well as how certain relationships in data are best visualized for efficient consumption.

Visualization of Tennessee Elementary School Performance

Below shows what can be accomplished by applying a simple visualization to any data set (using Tableau public in this case). Through this visualization I’ve been able to see that the elementary school of which my own children attend is one of the top in our school district. On the other side, I can also see that the elementary school of which I attended as a child is currently the worst performing elementary school within that different district within the state of Tennessee.

The visualization below is not yet complete, but will provide additional context as to the different profiles of the schools presented in the above analysis by providing:

  • size of student population
  • number of minorities
  • number of students that are economically disadvantaged
  • male/female makeup of the student population

State of Tennessee K-5 School Profiles:

From Web Analytics to Business Intelligence to Analytics

Right now, there is a shift happening in how organizations see Web analytics. This shift is part of the maturation of data usage within organizations. Before Web analytics, many organizations had investments in business intelligence (BI) solutions and technologies. Then, the Web came about, and dedicated Web analytics companies (WebTrends, Omniture, CoreMetrics, etc.) sprung up to quickly address these new data and reporting needs.

With the existing capabilities to handle large data sets and provide custom reporting, traditional business intelligence solutions really missed the boat. All they needed to do was figure out how to collect and store the data. But now is their chance to catch back up as organizations begin realizing that the Web is just a single part of the puzzle.

In order for this to happen, business intelligence solutions (Microstrategy, Cognos, Business Objects, etc.) need to develop competing offerings that allow organizations to quickly hit the ground running, with the goals of:

  1. Integrating Web traffic data into their solution from existing Web Analytics players (as mentioned above)
  2. Capturing Web traffic data and storing it in a raw form with a proper database
  3. Selling reporting solutions and visualizations that immediately address the shortcomings of “canned” Web analytic solutions.

In addition to the traditional BI providers mentioned above, there are now reporting-focused solutions such as QlikView and Tableau that enable organizations to quickly drop a visualization and reporting layer/solution on top of a, existing data source. So, once an organization can figure out the data collection and storage side of online performance (no small feat of course), these solutions can surpass the canned reporting limitations of the traditional Web analytics providers.

I’m not trying to say that anyone should leave Web analytics for BI here (in favor of one over the other), but what I am saying is that this is the time for organizations to consider how important it is to integrate Web analytics data with other data sources, what they could do if they owned their own data, had ready access to the raw data, and were not limited by “canned” solutions. The line between Web analytics and BI is starting to blur. If the choice were mine today, this is the approach (simplified of course) that I would take as the owner of analytics (not Web or BI) within an organization as we head into the future :

  1. Acknowledge that the Web is only another source of insight
  2. Collect and store my own data (I’m very intrigued by Pion as a collection tool)
  3. Deploy a reporting solution where I could create any visualization or reporting needed by business stakeholders (QlikView and Tableau could do this once you’ve solved the data storage side of things)
  4. Socialize reporting, analysis, insights and recommendations. Make analytics and knowledge sharing collaborative (again, QlikView and Tableau can facilitate this)

As an analyst, why would you not want access to raw data and the ability to create your own reporting and visualization solutions? And, you are no longer limited by the reporting and data integration capabilities of a “canned” solution that tries to do the collection, storage and reporting within a single environment.

This is all easier said than done of course, and could be more expensive than the “canned” solution. But, there are trade offs to be made in which ever direction you head. Will you sacrifice greater data integration, data ownership, and collaboration, or will you sacrifice the safer, easier to implement, solution? The decision is yours to make, but make sure that you weigh both options.

Digital Analytics Tools Aren’t a Strategy

What is your digital analytics strategy and how does it help your business achieve success?

Hold that thought until the end…

You’ve got some great analytics solutions in place that measure digital marketing performance (online sentiment, digital marketing automation, site optimization, site performance, digital customer experience, etc.), right? And I’m guessing that you might also have some great documentation that details how these solutions are implemented and maybe even what they’re measuring. But it has been my experience that most organizations consider this their digital analytics strategy. A tool is a means to and end, not a strategy in and of itself.

This is putting the cart (digital analytics) before the horse (that strategy that should pull the company and your digital analytics efforts in the right direction).

Additionally, once a tool or technology is put into place (even if there was a strategy beforehand), we often see that it is used to simply measure and report on the number of times things happen and what things are happening most frequently. At a strategic level, companies aren’t looking for an digital analytics strategy that simply measures the number of times things happen. Companies need a digit alanalytics strategy that will provide answers and provide recommendations that specifically address the business goals and objectives of the company. Nothing less.

So now back to that original question. Can you truly answer that question without naming or considering the tools that your company uses? If not you need to consider developing a true strategic direction for your digital analytics. Here’s one possible answer to that question:

Our digital analytics strategy is to analyze online sentiment, social media impact, site performance, site optimization and digital marketing efforts so that we can provide clear recommendations and timely information to directly impact our strategic business goals and objectives.

From there you could further elaborate on the details such as:

  • What those specific goals/objectives are and how they are impacted by the strategic areas of digital measurement
  • What information (not data points) is needed from the specific digital marketing efforts
  • How your going to get the information and disseminate it
  • Etc…
So there’s a lot to condier here well before a tool (again, a means to an end ) is even considered.
Put your horse back in front of the cart.

 

Omniture SiteCatalyst Data Processing Order

Since there are so many ways now for an Omniture customer to manipulate their data (standard data collection, APIs, processing rules, VISTA rules, marketing channel processing rules, etc…), I thought it’d be helpful to share this graphic (credit to Omniture) of the order with which data is processed:

Omniture SiteCatalyst 15: Migration Benefits and “Gotchas”

First off, I am not privy to the upgrade timeline and what’s involved there in terms of who gets upgraded and when that happens. That being said, I think that it is important for everyone to be aware of both the benefits of upgrading as well as the customer-side factors that might slow down the decision to migrate. I will also preface this with the fact that I am excited for every client that I work with to get upgraded, as the new features and implementation capabilities will greatly increase what they can do with their analytics investment.

SiteCatalyst 15 Migration Benefits:

  • The new context variables and processing rules
  • Real-time segmentation (you’re living under a rock if you don’t know about that one!)
  • Segment sharing between Omniture Discover and SiteCatalyst
  • Upgraded dashboards (including segmentation of the dashboards themselves)
  • True unique visitors (matching the # in Omniture Discover)
  • Visits are now calculated for non-cookied visitors
  • Full subrelations enabled on all eVars (i.e. conversion variables)
  • Visitors, Visits and Page Views available on all reports
  • Bounce Rate available on more reports
  • More accurate calculation of time spent on site/page
  • Deduplication of visitors in classification reporting and in merchandising eVars
  • Enhanced video reporting and measurement
  • Better Data Warehouse functionality such as editing a request, scheduling a previously created request, and better status/error reporting

I’m sure that I’m missing some things here, and that there are more benefits, but these are the ones that stood out for me as a regular user of these features. Now, a few of what might be challenges for some customers.

SiteCatalyst 15 Migration “Gotchas:”

  • Segmentation will only work for data collected under the new platform. So, you will not be able to segment your data in SiteCatalyst prior to the migration. The implication here is that you will have to wait for year over year segmented data. However, how useful is that data really anyway? Tell me an actual change you’ve made on your site after looking at how Jan 2010 did compared to Jan 2011?
  • In order to utilize the processing rules feature there will be a certification process that has to be passed. This is to safeguard the implementation integrity so that an accident does not cause a significant problem for an implementation.
  • As with segmentation above, the new visitor metric will only be available from the date of the migration, moving forward.
  • The new calculation of visits (i.e. the inclusion of non-cookied visitors) will increase your numbers for the visits metric. I’d doubt this will be a huge increase, but nonetheless, it will need to be something you are aware of and will need to educate your users as such.
  • The new calculation of time spent will change this data moving forward only. The impact being that your time spent will be more accurate, but that again there is a change of which you will need to educate your users.
  • Video measurement in SiteCatalyst 15 will require an upgrade to your video implementation. This probably won’t be any more complicated that your original implementation was, but it will need to be done. So, the tricky thing here is timing a video implementation that you need to do now, while knowing that you will eventually be upgraded to SiteCatalyst 15 and might have to recode it. Again, since I’m not privy to the upgrade timeline for everyone, this is something you’d need to discuss with your Omniture account manager. Also, I’d point out that this is about all that I know about the video measurement. The upgrade to video measurement will work for v14 and v15 as well (when it’s out of beta), so there is that good news.
  • Segmentation is not in the Excel Client or Report Builder with the initial release of SiteCatalyst 15. I am positive that this will come at sometime down the road, but the point is that if you use these tools for reporting and dashboards, you will not be segmenting in them until the time that there’s an upgrade there.
  • SiteCatalyst 15 will not provide ASI slots/segments. This makes sense since you will have segmentation, but the real challenge is to cope with not having access to those old ASI slots for reporting once you migrate to SiteCatalyst 15.

If you have any questions or other thoughts, leave me a comment below!

Omniture SiteCatalyst 15: Context Variables & Processing Rules

A big deal was made at the Omniture Summit of the segmentation available in SiteCatalyst 15. While the advantage of this feature is obviosu to everyone, I do not consider this to be the most significant part of the upgrade of SiteCatalyst to version 15. I consider the greatest new feature of SiteCatalyst 15 to be two things, that when put together, could change how every implementation of SiteCatalyst is undertaken and managed on a regular basis. These two things are context variables and processing rules. Below, I will detail what context variables and the processing rules are, and then discuss how they can be used in conjuction to streamline a SiteCatlayst implementation.

Context Variables:

Those familiar with SiteCatalyst are aware of what events, props and eVars are. With the release of SiteCatalyst 15, there is a new type of variable, the context variable. Here’s what you need to know about context variables in general:

  1. There are an unlimited number of context variables
  2. There is no character limits on what you can place in a context variable
  3. You can name a context variable with any name you prefer (meaning that developers don’t need to worry about eVarX, propX, etc.)

To detail how a company might use a context variable, I will provide a code example of custom download measurement via traditional SiteCatalyst variables vs. context variables. The goal here is to track the name of the download, the URL of the download and a success event for the download.

Site Catalyst 14 and Prior (assume eVar1 and eVar2 are set by the implementation):

s.eVar1="download name"
if (s.eVar1){
s.prop1=”D=v1″
s.events=s.apl(s.events,’event1′,’,’,2)
}

s.eVar2="Download URL"
if (s.eVar2){
s.prop2="D=v2"
}

SiteCatalyst 15:

s.contextData['Download Name']="download name";
s.contextData['Download URL']="download url";

That’s it!

SiteCatalyst 15’s solution is a little simpler (at least in terms of coding), huh?! What makes this great is that giving direction to your developer for implementation is extremly straight forward, and anyone looking at these varibles in the code, should be able to easily determine what’s gonig on. Keep in mind that you can make the names of the context variables anything you like. So now that these context variables are in place, the developers are no longer needed in the implementation of SiteCatalyst (for downloads anyway!).

Next, Processing Rules will bridge the gap between the context variables and SiteCatalyst reporting. So below we will continue discussing the implementation of download measurement while using the context varialbes above with the new processing rules.

Processing Rules:

Many may be famailar with Omniture’s Marketing Channel Report and the processing rules that go along with that great feature (if not you should be!). Now, Omniture customers can create processing rules in a similar way that will allow them to set events and variables (as well as more advanced options) based on simple or complex rule sets. To demonstrate how this is done, we will assume that our developers have implemented the two “download” context variables above.

Now you can login to the admin console of SiteCatalyst and setup two easy rules:

  1. If “contextData["Download Name"]” is set at anytime, move that value to eVar1 and prop1 as well as set event1
  2. If “contextData["Download URL"]” is set at anytime, move that value to eVar2 and prop2

That’s all you have to do to implement custom download measurement once your context variables are in place.

Context Variable and Processing Rule Caveats:

This could warrant an entire other blog post, but here’s a brief summary of a few caveats of which to be aware when using context variables and processing rules:

  1. You will have to upgrade to the H23 version of the s_code (i.e. Omniture data collection code) in order to leverage context variables.
  2. While context variables can be unlimited in length, you will still need to be aware of the total 2080 character limite in Internet Explorer. Also, the props and eVars within the reporting itself still have their limits. The advantage of the unlimited length is that you could create a processing rule to evaluate the entire context variable’s value. Ex: if a campaign code contains “google” then set eVar3 as “Paid Search.”
  3. Don’t get your hopes up for SAINT here, the processing rules will not populate SAINT classifications.
  4. Context variables are not stored. Once they are captured and used in any processing rules, they are not maintained by Omniture. So, any processing rule (as should be expected) would not work on old context or other data.
  5. Obviously, the improper setup of a processing rule could compromise an entire SiteCatalyst implementation since processing rules are essentially a “VISTA Lite.”
  6. Debugging an implementation could be tricky using context variables. While you can see the context variables in a debugger, it is the eventual processing rules that would determine how a report is actually populated. This means that not only will you have to validate the site-side implementation, but you will also have to validate the setup of any processing rules. Here’s an example of what you might see in a debugger (easy to read, and no more c1, v1, etc…):
    SiteCatalyst 15 Context Variables in Debugger 

  7. The product string, cannot be set using context variables or processing rules. The product string is simply to complex. If advanced manipulation of the product variable is needed, then Omniture Engineering may need to be involved with an actual VISTA solution (unless you can do it on the code-side of course).

So, while segmentation is a great feature (maybe even the one that most users will value), the above features will enable Omniture customers to more easily manage implementations. The post above only scratches the surface of what can be done with context variables and processing rules. If you have any other questions,  leave me a comment below!

SiteCatalyst SAINT Classifications: Concatenation

SAINT Classification is one of the most useful features of Adobe SiteCatalyst. However, most company’s that use the tool use it simply for the ability to upload single dimensions for a key. For example, if a company is uploading SAINT classifications for marketing reporting and analysis for paid search, they will often upload classifications such as the following for paid search tracking codes:

  • Search Engine Name
  • Paid Search Campaign Name
  • Paid Search Ad Group
  • Paid Search Keyword Phrase
  • Paid Search Match Type

While all of this information is critical for the effective analysis of paid search campaigns, there is one limitation of SiteCatalyst that this does not help overcome. That is, the fact that directly within SiteCatalyst, you cannot subrelate by more than one classification to another. Yes, there are classification hierarchies, but the setup for this is in the admin console and is not as flexible as might be desired by many SiteCatalyst users. So, there is a simple solution that most company’s are not using. This simple solution is to create additional classifications that will mimic the ability to subrelate to additional levels of depth. So, in addition to the classifications above, the following additional classifications could be setup:

  • Search Engine Name > Paid Search Campaign Name
  • Search Engine Name > Paid Search Campaign Name > Paid Search Ad Group
  • Paid Search Engine > Paid Search Keyword Phrase
  • Paid Search Engine > Paid Search Match Type

As an example of how this might be used, the SiteCatalyst user could run a “Paid Search Engine > Paid Search Match Type” and then subrelate that to “Paid Search Keyword Phrase” to see a report that would look as follows:

  • Paid Search Engine > Paid Search Match Type
    • Paid Search Keyword Phrase

OR…

  • Google > Exact
    • Web Analytics

As you can see here, this mimics the effect of being able to subrelate to a third level. While this is not the perfect/ideal solution until unlimited drill down (without the hierarchy restrictions of the admin console), this simple concatenation of SAINT classifications should provide the users of SiteCatalyst reports and dashboards with more useful information on which to base business and marketing decisions.