Cardinal Path’s response to COVID-19 Cardinal Path is sharing all we know to help marketers during COVID-19.  Learn more.

Aggregation is the Enemy

Make this statement one of your daily mantras. Many websites (and some mobile apps) cater to different user constituencies with different motivations. It’s your critical responsibility as a Google Analytics practitioner to:

  1. identify your user constituencies (basically, a fancier way to say user type)
  2. create a Google Analytics custom segment that corresponds to each constituency
  3. perform 95-99% of your reporting and analysis with the segments applied

To quote Brian Clifton, “segmentation is critical to success — without it, you are simply looking at an average of averages, effectively, treating all your prospects and customers as the same.”

Note that some of the examples below assume that you have implemented Google Analytics through Google Tag Manager, but many of the principles also apply if you have implemented Google Analytics through the native tracking code (or another tag management system). For additional background on much of the GTM functionality discussed below, see Event Tracking Using Google Tag Manager v2.

Example Constituencies for Car Insurance

The fictitious website has three different user types:

  • direct consumers, not logged in: no previous affiliation with the; no login required to purchase
  • direct consumers, logged in: logged-in consumers who have previously purchased or saved a quote
  • agents: insurance agents licensed to sell policies to their own clients
  • USA Car Club members: users who have clicked through from to the cobranded subsite or who have clicked the USA Car Club Members link in the top navigation on to access the subsite

What are the different motivations and mindsets of these different constituencies? For their part, the agents already have already established a professional affiliation with, they’re fully familiar with the process of quoting and purchasing car insurance policies, and – importantly – they receive a commission.

USA Car Club members also have specialized motivations: they place a great deal of trust in USA Car Club’s recommendations and affiliations, so when they click through to, or when they click the USA Car Club Members link in the top navigation, they are already much more apt to quote and purchase a policy than a direct consumer.

Direct consumers have no relationship with or trusted endorsement for they arrive with the usual level of consumer trust or skepticism.

Would it make sense to analyze all three of your user types at the same time? In a word, no. Because of the fundamental differences in psychology and qualification among these user types, it is essential to access most of your reporting with segments applied.

Defining the Segments

With few exceptions, there is nearly always a way to define a Google Analytics segment that maps to a user constituency.

USA Car Club Members

How can we identify USA Car Club members? They’re the visitors who have accessed the page. Is it conceivable that a few nonmembers also clicked through from the top navigation (and that that a few members did not click through)? It’s possible, but it’s still definitely worthwhile for our analysis to create the segment as shown below.

We can create a new segment showing USA Car Club members based on a view of the /usacc page.  
USA Car Club Segment Highlighted

It’s critical to understand that a segment defined based on Page as above is not filtering only for pages that match the criteria. In the example above, we’re saying “show me all activity in any session in which the visitor accessed at least one page that contains /usacc“; any pageview of a page containing /usacc is characterizing the entire session. We’re not saying “show me only activity on pages that contain /usacc.”


How can we define the Agents segment? Well, we know that agents have to log in, so let’s start there. If the agent login automatically redirects the agent to an authenticated page such as /welcome-agent, we’re set: we can easily define a segment based on Page as above.

But how could we define the segment if home page just displayed a Welcome, Linda message when the agent logged in instead of redirecting to an agent-only page? In this case, we couldn’t use a page to define a segment, but what we could do is generate a Google Analytics event and then define a segment based on the event essentially the same way we defined a segment based on a page.

(This part of the discussion becomes quite technical. It’s OK to skim for now and return after viewing the reporting sections below or to review with your Web developer responsible for Google Analytics and Google Tag Manager implementation.)

If the login causes the home page to reload and display the weclome message, you can create the following variable, trigger, and tag in GTM to generate an event.


We can start with a JavaScript variable in GTM that uses a bit of jQuery to check for the presence of <span id=”welcomeSpan”>Welcome, Linda</span> in the page. (You’ll need to make sure that your website references the jQuery library and the jQuery cookie plugin.) We’re also writing a cookie the first time we find the welcome message: when another page loads with the welcome message and the cookie is present, we’ll return false from this variable so we don’t trigger the same Google Analytics event repeatedly.

With the help of a GTM variable that writes and reads a session cookie, we record a login event one time only. JavaScript variable


Using the variable defined above, we can define the GTM trigger below. Notice that we set the trigger type to DOM Ready to ensure that the browser has had the chance to parse the entire page before testing for the presence of the welcome message.

We use the variable above to define the trigger that we apply to our GA event tag.GTM trigger

Google Analytics Event Tag

We can apply this trigger to fire an event tag when a page with the welcome span loads.

The agent login event also includes a custom dimension – we’ll be able to define our segment based on either. Google Analytics event tag

Notice that this event tag is also setting a custom dimension. (You would need to create a corresponding session- or user-scope custom dimension in the Google Analytics property admin before populating it through either GTM or native code.) This custom dimension could be useful in custom reports. It will also provide another way to create a Google Analytics segment for our logged-in agents, as shown below. It’s perfectly valid to base our agent segment on the event or the custom dimension; either is good.

This version of the custom segment is based on the event itself. SS_1_Agent_Loggedin_Event Hightlighted

The Agent Logged In segment that is a custom dimension

An alternative but equivalent version of the segment is based on the custom dimension that we set with the event.SS_2_Agent_Loggedin_CD Highlighted

Alternative Triggers if the Page Doesn’t Reload after Login

If the welcome message appeared through Ajax and the home page did not reload when an agent logged in, we could not use the approach above, which depends on a Page View trigger. In this situation, you could use the two alternatives below.

Apply a Click Trigger

You could replace the trigger (and variable) above with a trigger that corresponds to the a click on the Log In button, as in the example shown below.

You could potentially base your trigger on a click of the Log In button. GTM click trigger

The slight disadvantage is that you’d generate an event after unsuccessful login attempts as well, but this would probably account for a very small percentage of your sessions.

Write to the Data Layer

You could also work with your developers to write the following variable to the GTM data later when a login is successful and the welcome message is displayed:

dataLayer.push({‘event’: ‘loginEvent’});

We could then use the Custom Event trigger below to fire the login event tag shown above. (The Custom Event trigger does not relate specifically to a Google Analytics event tag; it instead fires an associated tag when the specified event value – ‘event’: ‘loginEvent’, in this case – is written to the data layer.)

A trigger based on an event value in the data layer would be more accurate in terms of verified login but would require some involvement from your developers. Custom Event

As an even better practice for event tracking through GTM overall, we could generate a GA event by writing a more generic event value to the data layer along with event category and event action variables that we can read into a “catch-all” event tag. In this case, we could apply a Custom Event trigger that looks for eventTracker or (any generic variable that you specify) in the data layer, and we could also ready eventCat, eventAct, and the custom dimension out of the data layer and into our catch-all event tag as data layer variables.

dataLayer.push({‘event’: ‘eventTracker’, ‘eventCat’: ‘agent’, ‘eventAct’: ‘login’,’customDim1′,’logged-in’});

Direct Consumers, Logged In

Here’s another consideration: what if direct consumers who logged in also saw the same welcome message?

In this case, we could not use any of the approaches above, since we’d end up with the same event (and custom dimension) data as with an agent login. We could instead write different data to the data layer when a customer logged in and still take advantage of the same event tag, Custom Event trigger, and data layer variables in GTM as we did for agent login:

dataLayer.push({‘event’: ‘eventTracker’, ‘eventCat’: ‘consumer’, ‘eventAct’: ‘login’,’customDim1′,’logged-in-consumer’});

In this case, we could create a separate trigger and event for consumer login and record  logged-in-consumer as custom dimension 1.

A segment comprising of all our Direct Consumers that logged in, based on the consumer login event. SS_3_Direct_Consumer_Loggedin Hightlighted

Direct Consumers, Not Logged In

So the hard part – defining the USA Car Club and especially the Agent and Direct Consumers Logged In segments – is now completed.

To define the Direct Consumers segment, we can just inverse the conditions of the other three segments. SS_4_Direct_Consumers_Not_Logged_In Hightlighted

Segmenting Your Google Analytics Reports: Focus and Amplify

The point of segments, of course, is not to just define them, but to apply them to your reports.

Conversion Rate for Quotes: Consumer, Logged-In vs. Consumer, Not Logged-In

As one example, let’s compare the Quote Completed conversion rate for our Consumer, Logged-In and Consumer Not Logged-In Segments. By displaying separate conversion rates for these different segments, you can measure your optimization steps in a much more fine-tuned way.

Did the “no obligation” verbiage that you included on the quote form help your conversion rate for the goal? It doesn’t make much sense to consider this change for existing customers: they are already know you and trusted you enough to return. The audience segment you’re trying to convince with this verbiage is the Consumer, Not Logged-In segment. Any positive effect of “no obligation” will be much more pronounced and obvious within the segment for which the change is relevant rather than for a broader audience in which the change may or may not be relevant.


Increase in Bounce Rate, All Sessions vs. USA Car Club Segment

You notice that there has been a slight increase in bounce rate for all sessions from one month to the next. Not too much to worry about, right?

Wrong. When you apply your segments, you see that the bounce rate has increased sharply for your USA Car Club segment. When you review the USA Car Club landing page on, you see that you’re still featuring a promotion that expired a month ago.


A big problem, but it seemed negligible swimming in the big pool of all sessions.

Increase in Policy Purchase Conversion Rate, All Sessions vs. Agent Segment

Last month, increased online commisssions for agents by 1% to try encourage purchases through the website rather than through the call center, which costs the company more money in overhead and minimizes margin. Did the commission increase boost online purchases?

Agent Segment vs. All Sessions

Here again, the change in conversion rate for all sessions is modest, but once you focus down to the Agent segment, you can demonstrate a sharp increase the very week that the higher commissions kicked in.

Additional Uses for Segments

In addition to the standard reports, you can also apply segments to the following GA assets:

  • dashboards
  • custom reports
  • intelligence alerts


  • Segments stay applied to emailed standard reports, custom reports, and dashboards, even when the email is set as recurring.
  • You can define Google Analytics remarketing audiences for use in AdWords or DoubleClick in essentially the same way that you define segments.

Filtered Views

For some custom segment types, you could create equivalent filtered views: for example, all sessions in which a specific custom dimension was set to logged-in. For other segments, such as sessions in which one page containing /usacc was accessed, it’s not possible to create an equivalent view filter.

Don’t Deal in Averages of Averages

Analytics should be about insight and action. If you have different user constituencies with different motivations, custom segments will help you get to insight, action, and bottom line improvement much more decisively.