Discover’s Improved Segment Builder

I’m very excited to announce that Discover’s latest release includes a new, more-powerful Segment Builder. The team has been working like crazy to make this new feature ready for prime time, and I’m excited to show you what it can do.

The Discover 3.2 segment builder includes a number of really powerful concepts: sequential segmentation, time-based segmentation, exclusion, and segment sub-components. Taken alone, each one of these is already an incredibly useful tool, but it’s when they all come together that the real magic happens. For example, I can now look very specifically at visitors who come to my site and search for a particular type of product, then create an account without buying the product, but do come back and buy it within a month of registering. Oh, and this can all happen across any number of visits, of course.

We’ll keep diving into those very specific kinds of use cases over the next few weeks. For now, though, I’m going to talk about a few of the new capabilities in the tool.

Sequential segmentation

“Sequential Segmentation” may have a deceptively simple name, but it’s an incredibly powerful piece of functionality. Of all the cool new features in the Segment Builder, this is definitely my favorite. Sequential segmentation allows you to build segments based on sequences of hits, events, and visits. You can even include visitor containers in a sequence, in a way – if you do, they’ll change to “logic group” containers, which hold as much of a visitor’s history as is necessary for the sequence (within the bounds of the reporting timeframe). You can think of them as existing on the spectrum in between “visit” and “visitor”, and they only come into play when you’re building sequential segments. Since a “visitor” container spans the full history of that visitor (within that reporting timeframe), it doesn’t make sense to put a visitor in sequence. Instead, to use them in a sequence, we change “visitor” containers over to “logic group” containers. If that quick overview didn’t make sense, don’t worry – we’ll cover logic groups in more depth in a future blog post.

Let’s say I want to get a better look at how viewing product reviews might affect other aspects of a visitor’s behavior. In the example above, I’ve built a segment that captures all visits that include product overview page view, followed by a product review page view, followed by an add-to-cart confirmation page view.

Digging a little deeper into how it’s actually built, the outer container is a “visit” container, restricting our scope to a single visit. If had made it a “visitor” container instead, those page views could occur in that sequence at across a visitors full history (within the bounds of the reporting timeframe), spanning as many visits as necessary. Nested within that outer “visit” container, I have three “page view” containers, each connected by a “THEN” statement, meaning that they must occur in sequence. If I had used an “AND” statement instead, my segment would include visits that had those pages in any order, instead of the specific sequence I defined above.

Time-based segmentation

Time-based segmentation, our second piece of new functionality, introduces the concept of a span of time within a segment. You’ve always been able to define the time frame in which a segment operates, simply by changing the report timeframe. This new capability goes well beyond that, though, letting you define spans of time around a particular hit or event. You can also define spans of “occurrences”. One thing to note is that these are hit-based, not page view based, so 1 occurrence may not equal 1 page view if you have custom link tracking enabled, for example.

As an example, I might want to take a look at whether visitors who register on my site remain active in viewing and commenting on articles over the longer term. In the example above, I’ve built a segment that contains visitors who comment on an article more than two months after registering.

There’s an outer “visitor” container, meaning that I want to look at the entire visitor history (again, within the reporting timeframe), inside of which are two visit containers. The first looks for a visit containing a registration event, and the second for a visit containing a comment event. The time-based aspect comes into play with the “THEN” statement, specifically, the “after 2 months” part. As you’ve probably guessed, this means that the “comment” visit must occur more than 2 weeks from the “register”.


Although exclusion is not a new piece of functionality for Discover segments, we’ve now introduced the ability to exclude time frames and pieces of a sequence. This combination of concepts lets you drill down very specifically into particular audiences.

For example, I might want to look at the actions of visitors who take a very long time to subscribe. In the example above, I’ve built a segment that pulls out visitors who viewed an overview page but did not subscribe within the next 2 months, but did eventually subscribe. Here, I’ve used the “within 2 months” time designation (similar to the “time-based segmentation” example above), but excluded subscription from that time frame. Then, I use a “THEN” statement to add an eventual subscription to the sequence.

Segment sub-components

Finally, you can now use previously defined segments as pieces of new segments. Simply drag them in from the segment panel. This makes segment definition much more efficient; for example, you can pull in a previously defined “social engagers” segment and immediate start defining your audience more specifically, rather than need to rebuild the components of that segment as your first step.

That’s all I have for today – look for a series of followup posts in the coming weeks that dive deeper into specific use cases.