Segmenting Visitor Loyalty Reports in GA

[ UPDATED: I’ve added some more information re: filtering direct and referral traffic. ]

This is a quick post. The goal is to help all you GA users that read Avinash’s most recent post about measuring success for non-e-commerce sites. Avinash lays out three recommendations including:

3. Segment the data! For Visitor Loyalty or Length of Visit what are the most important acquisition sources? What are the keywords that drive valuable segments of traffic to the website? As you look at longer time periods what pieces of content do people with longer visits consume? And so on and so forth. Segmentation is key to insights that will drive action.

Specifically, Avinash recommends that you segment the following reports in GA (or whatever tool you use):

  • Visitor Loyalty
  • Visitor Recency
  • Length of Visit
  • Depth of Visit

However, if you’re a GA user you can NOT segment these reports from the reporting interface. The only way to segment the Visitor Loyalty reports is via filters and profiles.

When you apply a filter to a profile it segments the data during processing. Here’s an example. Let’s say you add an include filter to a profile. Here’s the filter:

Include filter for segmentation

This filter only includes data that comes from the cpc or ppc medium (paid search). So all of the reports in the profile only contain data from paid search campaigns. By using the filter you’ve segmented the data.

Let’s take this one step further. We’ve just filtered the data by the paid search medium. Now we want to further segment by each search engine (i.e. Yahoo!, MSN, Google). We could create a second filter based on the campaign source:

Campaign Source Filter

Now the data in this profile, and the Visitor Loyalty reports, is specific to paid search activities from Google. We’ve successfully implemented Avinash’s recommendation.

You can adjust these filters (and thus the segmentation) based on the values of Campaign Medium and Campaign Source. To create a profile with only email traffic change the medium filter above so the filter pattern is ’email’.

Remember, the values of Campaign Medium and Campaign Source can have a default value (like organic, referral or direct) or a set value that comes from the utm_medium and utm_source parameters used in link tagging. You can read more about link tagging in a previous post I wrote.

You can always find the values for Campaign Medium and Campaign Source in the Traffic Sources > All Traffic Sources report, just segment the report using the Medium or the Source.


Here are the top 10 traffic sources for Analytics Talk:


If I want to create a profile for traffic from the Official GA blog I would use an include filter, based on Campaign Source, with ‘analytics\.blogspot\.com’ as the filter pattern. Remember, the filter pattern is a regular expression!

To filter direct traffic you should set the Filter Field to Campaign Source and the pattern to ‘\(direct\)’. For referral traffic, set the Campaign Medium to ‘^referral$’.

Is this an intuitive approach to segmentation? Not really. But it works perfectly. When you set up accounts create profiles for major acquisition mediums and sources to gain the insight you need to judge success.

Be Sociable, Share!

    Like this post? Sign up to get posts delivered to your inbox.


    1. Will says

      Love the post! Do you know how to filter just direct & then just referral traffic? That’d be very helpful when doing this type of thing. Thanks!!

    2. says

      Hi Will,

      To filter direct traffic you should set the Filter Field to Campaign Source and the pattern to ‘\(direct\)’. For referral traffic set the Campaign Medium to ‘^referral$’.

      Glad you like the post and thanks for reading!


    3. Brian says

      Can you use two include filters in one profile? Perhaps I misunderstood what you said above, are you saying you can create one include for paid search then another for campaign source in the same profile?

      Is it just the case that you cannot have two include filters for the same filter field – for example you cannot have two includes filtering on Network Location, only the first one will work?


    4. says

      Hi Brian,

      In the example above I use two include filters on a single profile. The first filter is on the medium and the second filter is on the source.

      You’re correct, having two include filters for the same filter field would not work. The first filter would naturally exclude the value you are trying to include using the second filter.

      In my example I use 2 different filter fields, so everything will work.

      I hope that helps and thanks for reading.


    5. says

      Great picture of you holding An Hour a Day.

      When does Google use ‘none’ and when do we use ‘direct’ ??

      Why can’t Will filter on ‘direct,’ why does he have to include parentheses, aren’t the regex greedy enough, and then he won’t need to escape them with the backslashes. Or as one of my RegEx Coaches taught me, always keep your RegEx as simple as possible.

      Brian can use a pipe in his filter (that *does* sound like he is smoking, doesn’t it?) so that he can effectively have two filters for the same field. Such as, include if visitor language pattern is en|de



    6. says

      Hi Robbin,

      The reason I included the parenthesis in the ‘direct’ filter is to insure that the filter did not match any other patterns that may include the string of characters ‘direct’. So yes, ‘direct’ could be too greedy.

      I may have misunderstood Brian’s question. If you want a single profile, that includes referral traffic and direct traffic, then you need to use a single include filter based off of the Campaign Medium. The reason you need to use medium is that the filter must ference a piece of information common to both, i.e. the medium. You can’t use Campaign Source because each referral has a different source value. The pattern for the filter would be:



    7. says


      Great blog, I read every post! My question to you is how come when I view referring sites – my own domain name is at the top of the list? How can I change this because obviously I don’t think this is correct.



    8. says


      I just got into trouble with one of my manager’s requests. She wants to see two of the reports you quoted from Avinash (Visitor Loyalty, Visitor Recency) but for each of our campaigns in Adwords (we have a few of them, so creating profiles for each would not be ideal).

      Is it possible?
      Thank you.

    9. says

      Hi Daniel,

      The only way to display the Visitor Loyalty and Recency reports for a specific AdWords campaign is to create a new profile specifically for the campaigns. That’s the only way to segment those reports.

      Sorry there isn’t an easier way,


    10. Traian says

      For the example on this page just make sure you tag the Yahoo and MSN Paid Campaigns medium with “cpc” or “ppc” otherwise you will have 0 visits in those filtered profiles.


    11. says

      How come when I view the Top Traffic Sources report it lists my website as the top “referrer”?

      My website is When I look at the Top Traffic Sources, #1 in the list looks like this: (referral). Is this supposed to be correct? Shouldn’t this be a direct visit?

      Appreciate your help & love this blog!

    12. says

      Hi Rob,

      It may be that there is something overwriting the original referral information. It could be a redirect. It’s really hard to say without spending some time looking into the issue.


    13. says

      hey justin

      I have been looking into it a little bit. In my profile where it says Website Url: i have put When I dig down into the referral reports it says referring website is

      When you visit just it automatically redirects you to I wonder if this is why this is happening? And then question two would be how to have this stop from happening?

      Could I maybe implement cross-domain tracking? What do you think?

    14. says

      Hi George,

      I’m not exactly sure what you’re asking, but I think you want to see the above data for a specific referring site, correct?

      In this scenario you would need to create 2 filters, as I do in the above example. The first filter, an include filter, should be a filter on the medium, and it should have a filter pattern of ‘referral’.

      The second filter should, also an include filter, should be a filter on the source, and have a value of ‘the-domain-that-you-want-to-track’.

      Thanks for the question and hope that helps.


    15. says

      Hi George,

      Segmenting based on a sub directory is a bit trickier. You’ll need to add a second include filter that looks at the campaign term. That’s right, the referral sub-directory is stored in the campaign term parameter for referrals.

      Hope that helps,


    16. Will says

      Hello Justin,

      I have a brain twister that you can perhaps provide some insight on. After creating a profile for our email customers, GA is reporting that over 50% of our visits are coming from new visitors, despite all emails are only collected via visiting our website.

      In Brian Clifton’s GA book, he stated up to 30% of users delete their cookies within a month’s timeframe. What is your take on this?

      All settings such as cookie duration have not altered.

      Any feedback is greatly appreciated. Thanks again.

    17. says

      Hi Will,

      Interesting question. Assuming that all settings are correct, then the cookie deletion issue could be a plausible explanation. I’ve heard cookie deletion rates ranging from 5% to 40%, so you may have to believe what you wish or what will work best with your observed data. :)

      I’d also check to insure that the profile only has email traffic. It could be that there are some visitors that are sneaking in through from a different medium because the links are not tagged correctly.

      Thanks for the question,



    Leave a Reply

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

    You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>