In the past two posts, I have described how you can lever­age Omni­ture DataWare­house and ASI to enhance your Omni­ture Site­Cat­a­lyst web analy­sis projects.  Both of these tools use Omniture’s Seg­ment Builder which is the mech­a­nism for cre­at­ing the seg­ments which select the vis­i­tors, vis­its and page views you want to ana­lyze.  There­fore, a good under­stand­ing of how to cor­rectly build seg­ments using Seg­ment Builder is crit­i­cal to get­ting the most out of these tools (and Omni­ture Dis­cover which also uses Seg­ment Builder).  In this post I will share some tips and tricks that we at Omni­ture Con­sult­ing have learned in work­ing with the Seg­ment Builder (I will pre-warn you that this post may take a bit to sink in since Seg­ment Builder is a more advanced Site­Cat­a­lyst topic, but I promise it is worth it in the long run!).

Under­stand­ing Seg­ment Builder
To under­stand the Seg­ment Builder, you first need to under­stand the var­i­ous com­po­nents that it uses to build a seg­ment.  As shown in the image below, when you enter the Seg­ment Builder, you will see Con­tain­ers, Events and a Seg­ment Canvas.

First, we will dis­cuss the dif­fer­ent containers:

  1. Page Views — Drag­ging a Page View con­tainer to the seg­ment can­vas will allow you to define which Page Views you would like to include or exclude from the seg­ment.  When eval­u­at­ing the Page View con­tainer, Omni­ture is, in effect, scan­ning through each Page View it finds within the spec­i­fied time frame and decid­ing whether it should be included or excluded.  There­fore, it may be the case that two dif­fer­ent Page Views from the same Visit may or may not be included in the seg­ment.  For exam­ple, let’s assume that you are build­ing a seg­ment where you only want pages where the lan­guage was Span­ish.  It may be the case that a vis­i­tor viewed ten pages dur­ing their Visit, but only two of those ten were viewed in Span­ish.  Using a Page View con­tainer, would mean that only these two Page Views would be included in the segment.
  2. Vis­its — Drag­ging the Vis­its con­tainer to the seg­ment can­vas will allow you to define which Vis­its you would like to include or exclude from the seg­ment.  When eval­u­at­ing the Vis­its con­tainer, Omni­ture is, in effect, scan­ning through each Visit it finds within the spec­i­fied time frame and decid­ing whether the entire Visit should be included or excluded.  There­fore, if any of the cri­te­ria are met within the Visit, all data from that Visit will be included (or excluded if using the exclude tab) in the seg­ment.  Using the pre­ced­ing exam­ple, if the seg­ment look­ing for pages viewed in Span­ish were built using a Visit con­tainer, the entire Visit would be included since at least one of the pages was viewed in Span­ish (even though the major­ity were in English).
  3. Vis­i­tors — Drag­ging the Vis­i­tors con­tainer to the seg­ment can­vas will allow you to define which Vis­i­tors you would like to include or exclude from the seg­ment.  When eval­u­at­ing the Vis­i­tors con­tainer, Omni­ture is, in effect, scan­ning through all data it has for each Vis­i­tor within the spec­i­fied time frame and decid­ing whether at any time the Vis­i­tor met the cri­te­ria.  If it finds that the Vis­i­tor has met the cri­te­ria, all Vis­its and Page Views for that Vis­i­tor will be included in the seg­ment.  Con­tin­u­ing the pre­ced­ing exam­ple relat­ing to pages viewed in Span­ish, if a Vis­i­tor had six site vis­its within the spec­i­fied time frame and in one of those Vis­its viewed at least one page in Span­ish, data from all six Vis­its would be included in the segment.

As you can see, the con­tainer you select can have an enor­mous impact on the data set that is returned in DataWare­house or ASI.  This is why I can­not stress enough the impor­tance of test­ing your seg­ments before using them in production.

The next item that can be added to the seg­ment can­vas is Events.  The Event con­tain­ers rep­re­sent the Suc­cess Events you have iden­ti­fied for your web­site.  If, for exam­ple, you have a Visit con­tainer and you add  the “Order” Event to it, then you are indi­cat­ing that only Vis­its in which an Order took place should be included in the seg­ment.  You can also define the Suc­cess Event in more detail, by click­ing on its name and adding addi­tional fil­ter criteria.

The most dif­fi­cult area of Seg­ment Builder to under­stand is the Seg­ment Can­vas.  To begin with, there are two tabs of the can­vas, one for Include and one for Exclude.  When deter­min­ing which data to include in your seg­ment, Omni­ture first looks to the Include tab and iden­ti­fies all data that is to be included and then pro­ceeds to elim­i­nate any data match­ing the cri­te­ria of the Exclude tab.  Once you have suc­cess­fully nav­i­gated the include/exclude tab, the next chal­leng­ing part is to under­stand how to set con­di­tions within a con­tainer.  To do this, you sim­ply click on the under­lined con­tainer name which brings up a win­dow that allows you to spec­ify the para­me­ters of that con­tainer.  Here you can choose almost any data point and spec­ify whether it should be equal to, greater than, con­tains, etc… and then choose or enter a value.  In addition, using the first drop-down box allows you to choose whether all of these con­di­tions need to be met (AND) or if just one need to be met (OR).  What­ever you choose in this drop-down box will change the cri­te­ria in the Fil­ter below.  In the image shown here, the user has cho­sen to use the OR clause so that a Visit can come from either the United States or the United King­dom.  One point of warn­ing: The #1 mis­take clients make in this step is that they for­get to click the “Add” but­ton when adding con­di­tions so be mind­ful of this!

The final thing to learn in build­ing a seg­ment is the nest­ing of con­tain­ers.  Here are some impor­tant guide­lines you should know:

  1. Page View con­tain­ers can only have nested Events
  2. Visit con­tain­ers can have nested Events and Page View containers
  3. Vis­i­tor con­tain­ers can have nested Events, Page Views and Visits
  4. If an Event is added to the seg­ment can­vas with no Page View/Visit/Visitor con­tainer, the Page View con­tainer is used by default
  5. It is not pos­si­ble to add mul­ti­ple Events to a Visit con­tainer such that they form an OR clause, but to get around this, you can add mul­ti­ple Visit con­tain­ers to the can­vas and add one Event to each

The seg­ment Builder will usu­ally tell you when you are attempt­ing to add an invalid com­bi­na­tion, but it is good to learn what you can and can’t nest within the seg­ment builder.  Finally, it is impor­tant to under­stand what the Seg­ment Builder treats as AND/OR clauses when build­ing seg­ments.  If you want to add two or more items and have all of the con­di­tions met (AND) then you want to be sure that you nest them above the line of the con­tainer like this:

How­ever, if you want to the seg­ment to look for one con­di­tion or the other (OR), you would want to make sure that the items are out­side of the con­tainer line like this:

In the exam­ples shown here, the for­mer would include all Vis­its where the coun­try was “United States” and an Order took place, but the lat­ter would include all Vis­its where the coun­try was “United States” or an Order took place.  This is prob­a­bly the hard­est part and I encour­age you to tap into Omni­ture Con­sult­ing when build­ing com­plex segments.

Impor­tant Things To Know About Seg­ment Builder
The fol­low­ing are some impor­tant things to know about Seg­ment Builder:

  1. Seg­ments built using the Page View con­tainer will return data the fastest, fol­lowed by the Visit con­tainer and the Vis­i­tor con­tainer.  When­ever pos­si­ble, attempt to use the low­est level con­tainer needed to get the data you need to improve pro­cess­ing time.
  2. Clas­si­fi­ca­tions can­not be used as cri­te­ria in DataWare­house or ASI Seg­ment Builder seg­ments.  For this rea­son, if you believe that you will want to use a data point as seg­ment cri­te­ria, you may want to pass the data directly to a Traf­fic Vari­able or Con­ver­sion Vari­able instead of rely­ing upon a clas­si­fi­ca­tion.  Clas­si­fi­ca­tions can be used as seg­ment cri­te­ria in Omni­ture Discover.
  3. Seg­ment Builder allows you to seg­ment on how many times a Suc­cess Event takes place which is very pow­er­ful.  For exam­ple, if you set a Suc­cess Event each time a vis­i­tor con­ducts an Inter­nal Search, you can build a seg­ment that looks for cases where “Total Inter­nal Searches is greater than 2″ to find repeat searchers.

Tips & Tricks
Since this post is really a sub­set of the DataWarehouse/ASI posts where we already pro­vided some real-world exam­ples, I am going to pro­vide some prac­ti­cal Seg­ment Builder tips and tricks instead of a real-world example:

  • If you want to be sure you are includ­ing all data in your seg­ment, you can add a Page View con­tainer where IP Address con­tains “.” since all data col­lected by Site­Cat­a­lyst con­tains an IP address and all IP addresses con­tain a “.”

  • If you want to build a seg­ment using a wild card such that a Site­Cat­a­lyst vari­able has a value (is not blank), you can use a “greater than !” in your seg­ment def­i­n­i­tion as shown here.

  • Con­versely, if you want to build a seg­ment based upon the fact that a Site­Cat­a­lyst vari­able had no value you would use “less than !” in your seg­ment def­i­n­i­tion as shown here.


Have a ques­tion about any­thing related to Omni­ture Site­Cat­a­lyst?  Is there some­thing on your web­site that you would like to report on, but don’t know how?  Do you have any tips or best prac­tices you want to share?  If so, please leave a com­ment 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 every­one can learn! (Don’t worry — I won’t use your name or com­pany name!).  If you are on Twit­ter, you can fol­low me at http://​twit​ter​.com/​O​m​n​i​_​man.

Learn more about Omni­ture Consulting
Learn more about Omni­ture University


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,



Thanks for this Adam for your post. Really useful. Now how to you delete a segment? I've been trying for an delete 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.


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