In the past two posts, I have described how you can leverage Omniture DataWarehouse and ASI to enhance your Omniture SiteCatalyst web analysis projects.  Both of these tools use Omniture’s Segment Builder which is the mechanism for creating the segments which select the visitors, visits and page views you want to analyze.  Therefore, a good understanding of how to correctly build segments using Segment Builder is critical to getting the most out of these tools (and Omniture Discover which also uses Segment Builder).  In this post I will share some tips and tricks that we at Omniture Consulting have learned in working with the Segment Builder (I will pre-warn you that this post may take a bit to sink in since Segment Builder is a more advanced SiteCatalyst topic, but I promise it is worth it in the long run!).

Understanding Segment Builder
To understand the Segment Builder, you first need to understand the various components that it uses to build a segment.  As shown in the image below, when you enter the Segment Builder, you will see Containers, Events and a Segment Canvas.

First, we will discuss the different containers:

  1. Page Views – Dragging a Page View container to the segment canvas will allow you to define which Page Views you would like to include or exclude from the segment.  When evaluating the Page View container, Omniture is, in effect, scanning through each Page View it finds within the specified time frame and deciding whether it should be included or excluded.  Therefore, it may be the case that two different Page Views from the same Visit may or may not be included in the segment.  For example, let’s assume that you are building a segment where you only want pages where the language was Spanish.  It may be the case that a visitor viewed ten pages during their Visit, but only two of those ten were viewed in Spanish.  Using a Page View container, would mean that only these two Page Views would be included in the segment.
  2. Visits – Dragging the Visits container to the segment canvas will allow you to define which Visits you would like to include or exclude from the segment.  When evaluating the Visits container, Omniture is, in effect, scanning through each Visit it finds within the specified time frame and deciding whether the entire Visit should be included or excluded.  Therefore, if any of the criteria are met within the Visit, all data from that Visit will be included (or excluded if using the exclude tab) in the segment.  Using the preceding example, if the segment looking for pages viewed in Spanish were built using a Visit container, the entire Visit would be included since at least one of the pages was viewed in Spanish (even though the majority were in English).
  3. Visitors – Dragging the Visitors container to the segment canvas will allow you to define which Visitors you would like to include or exclude from the segment.  When evaluating the Visitors container, Omniture is, in effect, scanning through all data it has for each Visitor within the specified time frame and deciding whether at any time the Visitor met the criteria.  If it finds that the Visitor has met the criteria, all Visits and Page Views for that Visitor will be included in the segment.  Continuing the preceding example relating to pages viewed in Spanish, if a Visitor had six site visits within the specified time frame and in one of those Visits viewed at least one page in Spanish, data from all six Visits would be included in the segment.

As you can see, the container you select can have an enormous impact on the data set that is returned in DataWarehouse or ASI.  This is why I cannot stress enough the importance of testing your segments before using them in production.

The next item that can be added to the segment canvas is Events.  The Event containers represent the Success Events you have identified for your website.  If, for example, you have a Visit container and you add  the “Order” Event to it, then you are indicating that only Visits in which an Order took place should be included in the segment.  You can also define the Success Event in more detail, by clicking on its name and adding additional filter criteria.

The most difficult area of Segment Builder to understand is the Segment Canvas.  To begin with, there are two tabs of the canvas, one for Include and one for Exclude.  When determining which data to include in your segment, Omniture first looks to the Include tab and identifies all data that is to be included and then proceeds to eliminate any data matching the criteria of the Exclude tab.  Once you have successfully navigated the include/exclude tab, the next challenging part is to understand how to set conditions within a container.  To do this, you simply click on the underlined container name which brings up a window that allows you to specify the parameters of that container.  Here you can choose almost any data point and specify whether it should be equal to, greater than, contains, etc… and then choose or enter a value.  In addition, using the first drop-down box allows you to choose whether all of these conditions need to be met (AND) or if just one need to be met (OR).  Whatever you choose in this drop-down box will change the criteria in the Filter below.  In the image shown here, the user has chosen to use the OR clause so that a Visit can come from either the United States or the United Kingdom.  One point of warning: The #1 mistake clients make in this step is that they forget to click the “Add” button when adding conditions so be mindful of this!

The final thing to learn in building a segment is the nesting of containers.  Here are some important guidelines you should know:

  1. Page View containers can only have nested Events
  2. Visit containers can have nested Events and Page View containers
  3. Visitor containers can have nested Events, Page Views and Visits
  4. If an Event is added to the segment canvas with no Page View/Visit/Visitor container, the Page View container is used by default
  5. It is not possible to add multiple Events to a Visit container such that they form an OR clause, but to get around this, you can add multiple Visit containers to the canvas and add one Event to each

The segment Builder will usually tell you when you are attempting to add an invalid combination, but it is good to learn what you can and can’t nest within the segment builder.  Finally, it is important to understand what the Segment Builder treats as AND/OR clauses when building segments.  If you want to add two or more items and have all of the conditions met (AND) then you want to be sure that you nest them above the line of the container like this:

However, if you want to the segment to look for one condition or the other (OR), you would want to make sure that the items are outside of the container line like this:

In the examples shown here, the former would include all Visits where the country was “United States” and an Order took place, but the latter would include all Visits where the country was “United States” or an Order took place.  This is probably the hardest part and I encourage you to tap into Omniture Consulting when building complex segments.

Important Things To Know About Segment Builder
The following are some important things to know about Segment Builder:

  1. Segments built using the Page View container will return data the fastest, followed by the Visit container and the Visitor container.  Whenever possible, attempt to use the lowest level container needed to get the data you need to improve processing time.
  2. Classifications cannot be used as criteria in DataWarehouse or ASI Segment Builder segments.  For this reason, if you believe that you will want to use a data point as segment criteria, you may want to pass the data directly to a Traffic Variable or Conversion Variable instead of relying upon a classification.  Classifications can be used as segment criteria in Omniture Discover.
  3. Segment Builder allows you to segment on how many times a Success Event takes place which is very powerful.  For example, if you set a Success Event each time a visitor conducts an Internal Search, you can build a segment that looks for cases where “Total Internal Searches is greater than 2″ to find repeat searchers.

Tips & Tricks
Since this post is really a subset of the DataWarehouse/ASI posts where we already provided some real-world examples, I am going to provide some practical Segment Builder tips and tricks instead of a real-world example:

  • If you want to be sure you are including all data in your segment, you can add a Page View container where IP Address contains “.” since all data collected by SiteCatalyst contains an IP address and all IP addresses contain a “.”

  • If you want to build a segment using a wild card such that a SiteCatalyst variable has a value (is not blank), you can use a “greater than !” in your segment definition as shown here.

  • Conversely, if you want to build a segment based upon the fact that a SiteCatalyst variable had no value you would use “less than !” in your segment definition as shown here.

 

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
7 comments
nsubramani
nsubramani

Hi,


Thanks for the post; it's been very helpful. I have a quick question: I want to create a segment within my reporting suite which filters the analytics data by the IP address (geo-specific data) AND then filter by the nature of visits (search engine- natural is not null). I know that we can use the AND all/ OR all logic within a container (I'm using the visits container). I learned from your post that we can use the OR login when we create separate containers with the corresponding rules as well. I'm wondering how I can use the AND/OR login for the same Visits container here. (I've created a set of IP rules and I've used the OR logic for those, but I want to add an AND logic so the final filter can be (one of the IP addresses) AND search engine-natural is not null. How do I do that?)


Within Visits container, 

eg: IP address contains abc

  or IP address contains xyz

    or IP address containg ghi

AND search engine- natural is not null


Thanks in advance,

Nitya

Raphael
Raphael

Thanks for this Adam for your post. Really useful. Now how to you delete a segment? I've been trying for an hour...no delete button...in v15. Thanks,

Evan LaPointe
Evan LaPointe

Adam - quick question: How can you define a segment for direct traffic in here? When I look up the possible choices for Referrer, I don't see it as an option.

Melvin
Melvin

Hi, Thanks for the comprehensive post. I'm thinking if SiteCatalyst can somehow do the same job with your preceding example. And I understnd that the group of behavior segment can be extacted with Discover, what can we do next if the segment is identified with discover? Melvin

Adam Greco
Adam Greco

Peter - Unfortunately, the >! technique does not work (yet) in Discover. A common workaround is to build a segment where s.propX contains (or does not contain) "a e i o u" which works for English sites... Adam

Peter O'Neill
Peter O'Neill

Hi, Thanks for this - the explanation is very useful and easy to follow. Can you tell me if there is an equivalent to the 'is greater than !' to represent is not blank that can be used within Discover? And of course the inverse so that, for example, we can find direct traffic based on visits for which referrer is blank. Thanks Peter