The Mysteries of Sequence Segments

windows photo by skeeze on Pixabay

I recently finished compiling and writing a training series for my coworkers on Google Analytics. In the process of finalizing the section on Segments, I realized I didn’t know the details well enough to write confidently about sequence segments, and my hunts for someone else’s explanation came up mostly dry.* Having remedied my ignorance through carefully-planned visits to our dev server, investigation of the contents of hits in Google Tag Assistant, and creation of test segments to see what is included or excluded, let me pass the savings (read: big time nerdery) on to you.

* I did find partial answers in Reddit’s Analytics community and the Google Analytics Solutions Community, and later on Growth Addict. What you’ll find below is more obsessively complete than anything I’ve found online, though.


The main thing to understand is that hits in GA are comprehensive. If we stack dimensions by scope as follows:

  • User
  • Session
  • Page
  • Event/Social Action

then hits, which are the bottom two rungs only, carry not only their own specifics, but values for the dimensions above them as well.

In the context of segments, that means a filter condition like “Page contains /blog/” is satisfied not only by blog section pageviews, but by any and all events or social actions triggered on blog pages.

For non-sequence segments, it doesn’t make a difference: you can’t trigger an event on a page without also having triggered a pageview (well, unless your tracking is incomplete or very nonstandard), so the filter is going to pick out the sessions you expect.

For pages in sequences, it’s likely a benefit. You probably wouldn’t want to exclude a session from the filter “Page 1 is immediately followed by Page 2” just because the visitor shared Page 1 to Facebook.

This is especially true because Non-Interaction Events still count as hits for the purposes of sequences: if Page 1 includes an internal promotion for which impression data is sent to GA as an event right after page load, even a Non-Interaction Event (as it should be), then it will be impossible for a pageview of Page 2 to immediately follow the pageview hit of Page 1.

If you have Non-Interaction Events set up, this makes “Event X is immediately followed by Event Y” sequence segments unreliable. An impression of a product list or internal promotion in between the two events breaks the “immediately” part of the condition.

The inclusion of Non-Interaction Events also has the strange consequence that, in certain circumstances, bounced sessions can meet sequence segment criteria. If your sequence is “Source A is followed by Page 1”, and Page 1 sends its internal promotion impression event, then someone who lands on Page 1 via Source A and bounces will still have their session included in the segment.


Let’s back up. The dimensions stack as follows:

  • User
  • Session
  • Page
  • Event/Social Action

User-level filter conditions will hold of either every hit in every session for a given user, or none of them; putting a User-level filter condition into a sequence is equivalent to saying “some hit, any hit, has to happen here.” Unless that’s what you need, your segments will be more clear if you put any User-level filtration outside of the Sequences panel.

If you are creating a Session segment, the same applies to Session-level filter conditions: they will hold of every hit in a given session, or none, so their value as part of a sequence is minimal.

In a User segment, a Session-level filter condition makes for a complicated description of what’s being captured. For example:

“Filter Users, starting with any interaction, so that Source A is followed by Page 1.”

This will capture people who visit from Source A, and have a pageview of Page 1 or event/social interaction on Page 1 in that session (but not as the very first hit) or in a later session (perhaps as the first hit).

If you change “is followed by” to “is immediately followed by,” you capture people who have activity on Page 1 during a session from Source A (but not as the very first hit), or as the very first hit of a non-Source-A session that immediately follows a Source A session.

In both cases you’ll also potentially include bounced sessions, because of Non-Interaction Events.

The same applies if you replace Page 1 with Event X or Social Activity Y, although the bounces will no longer be included. The upshot for me is that “is immediately followed by” isn’t useful when mixing Session- and Hit-level filters – the combination of flexibility and extreme specificity makes it unlikely that it is selecting a meaningful cohort.

Even with all-Session filter conditions in a User-level sequence segment you have to be careful of whether your filter conditions could be met simultaneously. If your filter is “Channel A is immediately followed by Channel B,” then you will grab the users you intend: those who visited via Channel B in the next session after a visit via Channel A. If your filter is “Channel A is immediately followed by Landing Page 1,” though, any User who had a session that was via Channel A, landed on Page 1, and contained at least 2 hits will also be included.


Well! Glad we got that cleared up.

To recap:

  • Every hit in GA includes page, session, and user-level data, and will meet filter criteria for those dimensions: events meet page filters; pageviews meet session filters.
  • Non-Interaction Events count as hits even though they do not prevent bounces.
  • “Followed by” sequences probably behave how you expect, as long as you realize Session to Hit and Hit to Session filters could be met within a single session.
  • “Immediately followed by” Page to Page sequences probably behave how you want them to; for Session to Session sequences, consider whether the filters can be met by the same session.
  • For other “immediately followed by” sequences, think through your filters carefully!

Window photo by skeeze on Pixabay.

Leave a Reply

Your email address will not be published. Required fields are marked *