In this article, I will present 8 of the most useful Google Analytics enhancements that will give you the ability to collect and interpret data for your startup more successfully.
“Knowledge is power” goes the old saying. But when working with website analytics we are very often caught up in the laziness of installing Google Analytics on our site, and spending time looking at the useless vanity metrics that don’t really tell us much about the direction that our boat is heading.
When tracking your user’s data with Google Analytics, there are more than a few caveats that you should know in order to be collecting and interpreting data effectively.
In this article I will show you how we can leverage the power of this beloved tool – that probably everyone of us is using. I will present the most ultimate analytic setup. The same one we use for our Startups – meant for SaaS and membership sites.
During the last years, I’ve come up with a configuration that works best for us and which I will present in this article. It will help you nurture your own ideas – ideas that you can later easily implement for your business as well. With not much effort, there is a lot you can do in order to make better decisions for your business and not be blinded by the numbers. After all, these numbers don’t really tell us the underlying correlations and behavior patterns of our users.
Ready? Let’s start.
1. Use 1 tracking code
The purpose of this guide is to make clear that we want to be using only 1 tracking code for maximal flexibility. We will use Google Tag manager for that, which makes it very easy and controllable to have just 1 tag on our site. Besides that, you can have better control on the scripts that are rendered on a site as you don’t have to update the HTML files when you want to change something.
I won’t go too much into detail on how to setup Google Tag Manager on your site, but there are plenty of excellent videos on YouTube that will teach you better on how to do that.
2. Filter analytics data
Many startup founders (including me) usually prefer to have the Startup landing page separated from the user’s pages. That means that domain.com and www.domain.com will be reserved for the landing page while users.mystartup.com or app.mystartup.com will be the url for the users of our SaaS service.
Why? There are a number of reasons for that.
The first and the most apparent is that with this separation, we can keep landing page files static, so they are independent from the back-end. This is good for 2 reasons: if for some reason our back-end application stops working, our landing page won’t be affected. The other benefit of that is that editing static files makes us much more agile when applying changes to our marketing pages, so we can test and modify the page easier.
Secondly, a more fundamental benefit of that is the ease of separation of our engagement data. Because we don’t want to pollute engagement analytics of our non-registered users (our landing page analytics) with our registered ones (our members’ area) – we want to have visitors data separated.
We can achieve that by creating different Views for that in Google Analytics.
I usually prefer to create 3 different views:
- Front-end (all traffic on the landing page – domain.com),
- Back-end (all traffic on the members’ area subdomain – users.domain.com),
- Blog (all visits on your blog) and
- All data (which is all raw data).
The configuration makes it easy to observe how users behave according to the context of their visit, which gives us much better control and idea of our engagement efforts.
Let’s go ahead and create those views…
- Login to your Google Analytics account and click “Admin”,
- Choose your Account on the left and Property in the middle:
- Click on the “All Website Data” Dropdown under Views and click “Create view”
- Create the View Front-end:
- Click on “Filters” and click “Add filter”:
Enter name for the filter “Only yourdomain.com” (in my case rankTrackr.com),
Choose predefined › Include only – traffic to hostname – that are equal to
Enter “yourdomain.com” (your landing page hostname, in my case ranktrackr.com)
- Save the filter.
Create another filter and repeat the same procedure for the Back-end filter, like shown here:
In this case, enter the filter name: “Only users.yourdomain.com” and enter hostname “users.yourdomain.com” (your back-end subdomain).
This will make it easy to see the visits associated with the landing page and our members’ area separately.
3. Unveil hidden SEO data
By default, Google will show “not set” when you look at search engine optimization data. You can easily solve that by connecting your Google Analytics account with your Google Webmaster tools (now also called Search console).
If you haven’t registered GWT account for your site yet, you can do it on this url:
https://www.google.com/webmasters/tools/home
Now connect GWT with your Google Analytics account by following the next steps:
- Go to Google Analytics and click Admin in the top navigation,
- Choose the Account on the left and Property in the middle,
- Under “Account linking” click “All Products”,
- Find “Search console” and click “Link search console”
- Click “Edit” under Search Console site, choose the right domain and finalize linking Google Webmaster tools.
After that, the important search engine keywords will start to show up. After some moments, data will start to show up under Google Analytics reports › Acquisition › Search engine optimization.
You can use those keywords to get a better understanding of your search traffic and to discover new opportunities.
4. Use segments
Segments are a really useful functionality of Google Analytics. Segmentation allows you to easily group visitors based on similar characteristics. The advanced users use them to find gold nuggets in their data, while beginners often get caught up in misleading, “clutter” findings when they’re trying to prospect the entire data mountain.
Google Analytics already comes with some predefined segments that you can use right away.
In this part of the article, I will also show you some useful cases that I use for our SaaS businesses.
You can activate a segment on any existing analytics report by following the next steps:
- Go to an analytics report (for example Audience Overview) and click “Add segment” area in the top-right corner.
- Choose a segment from the list (you can choose multiple).
- Click “New segment” to create a new segment, or “Apply” to show how the specified segments are represented in a chosen set of the data.
Some examples of useful segments that we use for our startups are:
I. Blog visits segment
As a SaaS business, you are most probably already familiar with the power of content marketing. It is important to know how many visitors visited our blog and engaged with it. Therefore, it’s important for us to know how the traffic on our blog is progressing.
We want to look at the visits that occur on the http://yourbusiness.com/blog url path, which shows how many visitors visited our blog or a blog post in a given period. We want to look at the recent numbers and compare them with the previous period.
The configuration for such a segment would be pretty simple:
II. Converters by Count of Visit
This is a really powerful segment, presented in an old article from 2013: 16 Secret GA Segments from Search Engine Watch. It helps us to get a better understanding of how converters are distributed among our data by the count of their visits until they purchase the product. The segment gets especially useful, when you apply multiple segments to your data, such as people who convert after 1 visit, 2 – 6 visits, or more than 6 visits.
A possible configuration could be the following:
You can also use this link to import all 3 segments mentioned above to your Google Analytics.
You can start using the custom segments by applying all 3 at once to your analytics reports. This will help you analyze the difference in content consumption and correlations between content and conversion on your website. You can also change the “Goal Completions” to be more specific – like “Purchase” or something else.
When you dive deeper in a particular segment, you can find out interesting things like how content affects how fast the user makes a decision to convert on your site (for example: users who stay a particular subpage that might be presenting a special feature of your product convert on average quicker – with less visits than others).
III. Converters by Revenue
Another really useful Segment is converters by revenue. With this segment I follow the same exact logic as in the previous one, and make multiple segments, which eventually filter out users who make a purchase for less than $50, between $50-100 or more than $100
You can set this up with the following configuration:
This kind of segment can be more useful for ecommerce startups or startups that also sell non-standard plans. As we mostly sell standard plans to our users, we could achieve the same thing by segmenting users according to the plan they purchased (as we know their price ranges).
You could also take advantage of the “Days to transaction” option under the Ecommerce category when creating a segment group. Additionally, you could use the “Sequence”, which is a pretty fancy feature that was added by Google not so long ago and they open a completely new set of possibilities in segmenting the data.
This should hopefully give you some ideas on how you can set up your own segments and use them to your advantage.
5. Setup events and conversions
Setting up appropriate events and goals is one of the most important tasks you should tackle when setting up your Google Analytics profile. This is because event configuration can sometimes be confusing. It can be difficult to decide which events you should be tracking and which naming conventions you should be following. I’ll explain what events you should be tracking and the naming conventions that I use with them.
The reason why it’s important to set up events is because you cannot apply events and goals data to old data. It’s also important to point out that any changes can affect how the old data is showing up in your reports.
OK, so let’s get to work.
Events come in handy when there is no page view that is triggered for a specific action that a user takes. This can mean any of the following:
- User clicks on a Sign up button in the top navigation,
- User subscribes to our newsletter from our Blog,
- User clicks an outgoing link (explained later)
Here’s an example where you would want to track different types of signup events (newsletter, membership etc.).
Naming of events
Google Analytics events accept 4 attributes:
- Category,
- Action,
- Label (optional),
- Value (optional)
I usually name events in the following way:
As you see, I will keep category consistent for the same category of actions. Actions will be a sub-description of a particular action (it might include a number or a name of the interacted element) and label will include information of the page where a particular event occurred.
Implementation of tracking
To track events, you will have to add a short code snippet to your website that will be executed when the action is taken. You can call the action directly with the standard Google Analytics code explained here. I recommend using Google Tag Manager to track them, which gives you much more flexibility, as you don’t have to edit the website code each time you want to apply a change or debug them.
Additional
If you want to go one step further, I will show you a simple trick that I’m using to number all links that point to our Sign up form. This way, I don’t have to add separate tracking to every element that links to it, and I can more freely experiment with my landing page.
To do this, I create a new Tag under Google Tag Manager:
Pay attention to {{signupButtonIndex}}, which will dynamically insert the index of a clicked Sign up button and custom variable and {{Page Path}} variable, which will set the current page path.
Before that, make sure that you enabled Page Path under variables:
Finally, add a custom JavaScript user defined variable named “signupButtonIndex”:
Make sure that you change the match path to your signup link accordingly.
Last checks
Once you have all the important events in place, make sure that they are tracked correctly. The easiest way to do this is to go to Google Tag Manager Preview mode and click all links to check if the tags are triggered correctly, or if you’re not using GTM, you will have to click links manually and check if they’re showing up in Google Analytics.
6. Set up Goals
One of the important things, after you have all events in place, is to setup the Website Goals. Website Goals are at least as important as feeding your cat, so please don’t skip this part. There are multiple aspects where they come in handy – not just for analysis of the traffic and user behavior on your site but also if you’re doing PPC advertising with AdWords or using other Google Services (and you should if you haven’t yet).
When we use AdWords, I prefer to set up our website goals in Google Analytics and import them into AdWords so that I don’t have to set them up in two separate places.
At this point, we should distinguish between primary and secondary goals. As we appear to be selling things with our startup, our Primary goal should probably be a purchase, while our secondary goals might be a registration, a lead subscription (through newsletter or some other way), and / or some other more abstract metrics, perhaps like time on the website or number of visits.
Here is how our goals might look like:
Setting up goals
Goals are configured on the view basis, which means that if you have multiple views for your GA website property, you will have to configure them in all appropriate views. You should be careful here if you have configured your views in a “front-end” and “back-end” manner (for example your user acquisition flow starts at the front-end home page and ends in the back-end with a payment). You should configure those goals in the “All Website Data” view. For the sake of simplicity, we will demonstrate how to configure goals there.
To configure Goals, follow the next steps:
- Go to your Google Analytics account,
- Click “Admin” link in the top navigation,
- Choose your account on the left and property in the middle, and “All Website Data” view,
- Click “Goals” below “All Website Data” view:
- Click “New goal”:
We will add the most important goal first “Purchase”, which should occur when the user makes a payment.
The easiest way to set up a Goal is using a “destination” target, which means that the goal will be tracked when the user lands on a specific page. This can be a little problematic if you have a one-page app, which is how most modern web apps are made nowadays. In this case, you can have 2 alternatives: you can trigger a virtual pageview or an event when a user makes a purchase, or you can use e-commerce tracking (which is the best option but it requires slightly more work).
For this example, we will assume that you have a separate landing page, on which a user lands after he successfully makes a purchase of your product or subscribes to your service.
Ok, let’s go ahead and get this setup.
Tracking the purchase
In the first step of the Wizard, we won’t use any of the predefined templates and will choose “Custom” option in the bottom:
We will enter “Purchase” for the name and choose “Destination” for the type of the goal.
In the last step of the Goal details, we will enter the landing page path of the url where the user lands after the payment is complete (in our case this page is /subscription/thank-you):
Make sure that within your user area, there is no way for users to get to this page other than after making a successful payment.
Destination goal: Pros and Cons
The advantages of using a destination goal type is that it’s relatively easy to set up (you don’t need to be calling additional events), and it allows you to easily set up a funnel visualization by clicking enabling “Funnel” switch box under the “Goal details”. This allows you to visualize the sequence of pages that a user needs to visit before making a purchase. In our case it could be:
With this configuration, we could see a lovely funnel visualization when going to Reports and Conversions › Funnel Visualization.
One disadvantage of this approach is when we want to track the value of each Purchase, which is not a static value (which is the case with most startups that run SaaS services and ecommerce stores). Google Analytics makes it practically impossible to set a dynamic value. For this reason it’s worth dedicating more time towards our GA configuration in order to set up Events and ecommerce tracking. This will help us to get much more data from Google Analytics – such as how the price (value) of the purchase affects the user behavior and conversion on our website.
Finally, click “Verify this goal” link to make sure that the Goal is setup correctly.
Goal Tracking with Events (The proper method)
Alright, we are now aware of the disadvantages of Destination goal tracking, and we want to have the full power of Google Analytics by getting it set up as it should be.
If we want to assign the value of our Purchase dynamically, we could use Events to track when a user makes a successful payment. Events are sufficient if we are always selling 1 product (plan) to the user, which doesn’t consist of multiple items (this is usually the case for a SaaS business, which normally aims to sell 1 plan to the customer).
To set this up, we will want to track a separate Google Event, which is triggered only after a user is successfully billed for the product:
In this example, we set plan name for the label and price of the plan for the value.
When this event is called correctly from your website, you can configure a Purchase Goal for it, whose configuration would look like this:
Ecommerce Tracking
If you want to take your Google Analytics one step ahead, you should use e-commerce tracking. It’s a really powerful feature, especially useful for e-commerce sites, which allows you to track payments made on your website with all the items that were added to the basket and purchased. You can also use its advantages with other types of websites (for SaaS services and websites where you are not using shopping cart).
To set up e-commerce tracking, you will first have to enable it by going to “E-commerce settings” under the Google Analytics view (in our case “All Website Data”).
There, you will have to enable it by clicking the “On” button and continue to the second step of “Enhanced Ecommerce Settings”, which I recommend enabling as well:
After you’re done with this, click Submit to save the configuration.
Enhanced Ecommerce
Enhanced e-commerce is a complete revamp of the traditional e-commerce tracking in the sense that it provides many more ways to collect and analyze e-commerce data. It provides deep insight into ecommerce engagement in terms of user’s viewing and interacting with all levels of your website from campaign to viewing a product, interacting with the cart, purchasing or abandoning the checkout and even asking for a refund.
We won’t go too much into the details as this would require me to write a couple of articles just about this, but you can read more about it here.
Here’s an example of a “Shopping behavior analysis” report that you can get after setting this up correctly (available in the Reports under Conversions › Ecommerce › Shopping Analysis › Shopping behavior):
This report is best suited for an e-commerce store, but with some slight changes, we can make it really useful for our SaaS business as well.
Implementing Enhanced Ecommerce Tracking
In general, there are 2 ways to implement Ecommerce tracking on your website. The first one is with the use of standard Universal Analytics Tracking code and the other one is with Google Tag Manager by using its data layer capabilities (recommended).
Here is the complete list of calls for implementing e-commerce tracking to your website:
* yellow indicates optional calls
For the detailed implementation of calls with Universal Analytics code, see this page.
When tracking an ecommerce store, the configuration is pretty straightforward. What about when we’re tracking a subscription-based business, where users can choose 1 of the available plans and are billed reoccurringly? This is where things get a little tricky.
In the next part, I will try to explain how to take leverage of this functionality for subscription-based businesses.
For implementing the ecommerce functionality for our subscription-based business, there are a couple of rearrangements that we should do for the events from the above.
I won’t present all the details about here, but you should check the official Google Analytics Enhanced ecommerce guide. To read the guide for setting this up with Google Tag manager, check out this page.
Tracking recurring subscriptions with Google Analytics
How to track recurring subscriptions? This is where it gets a little trickier because we want to track the transaction without the user doing it on the website.
In this case, we have to store the user’s unique ID that is assigned to him with Google Analytics when he visits our page and track each transaction from our back-end servers.
The server-side implementation
There are plenty of libraries that simplify the work for us and let us call GA functions from the server-side languages. There are a couple of gems (a plugin you might say) for Ruby, which lets me do exactly that – one of them is called Gabba and a newer and more advanced one is Staccato (recommended). There are other libraries for PHP and Python and other server-side languages; just search Google for “track google analytics transaction <your programming language>”.
As soon as our dear user registers on our site, we should store the client’s id that was assigned to him with Google Analytics and use it to serve as an identifier that we will later use when tracking his transaction.
You can get the client id with the following JavaScript function call:
I will store this id in my user’s table along with the other user’s data. I will store it in a column called ga_clientid.
When the user is billed for each recurring period, I will initiate the Google Analytics tracker with the client id and track the transaction with it:
7. Setup custom dimensions
We’re almost there… This last part will allow us to do some even cooler things with Google Analytics. In the old days before Universal Analytics, we had to use custom variables, which enabled us to do some useful things by adding our own data to the data collected by GA (which you can still use if you’re too lazy to migrate to the new Universal Analytics). We were limited to 5 slots (assigning 5 different custom variables to a user) with standard accounts, which was limiting for some users. Universal Analytics introduced custom dimensions, which served as an improvement to custom variables and custom metrics (which are different). With custom dimensions and metrics, we are limited to 20 indices for each and 200 on Premium accounts.
So, what exactly can we do with custom dimensions?
Let’s say that with on our startup’s website a user can sign up for an account as an “agency” or an “individual”. We want to be able to observe his behavior based on his account role.
The other dimension, which might be useful for us, is to store the plan after the user has subscribed. We want to observe how the user behavior is affected by subscribing to different plans. This would allow us to drill into the data to know some useful things such as how the plan pricing affects the number of visits and time since the first visit after the user decides to subscribe to a particular plan.
Custom dimension implementation
Ok, so in order to set this up we have to know a couple of things:
I. Creating custom dimension
First, we would need to set up a custom dimension in Google Analytics. We can do that by going to your Google Analytics property in which you want to configure Custom Dimensions. It’s important to note that unlike Filters and Segments, Custom Dimensions are set up at the Property level.
Follow the next steps:
- Go to Google Analytics Admin,
- Open the Account and Property on which you want to configure Custom Dimensions,
- Click on Custom Definitions and Custom Dimensions:
- Click “New custom dimension”,
- Enter the configuration for the custom dimension that you want to use:
For this dimension, we will add name User type, and we want to track it on the user level (most of the custom dimensions that we want to be tracking will be on the User scope). To learn more about other scopes like Hit, Session, Product and User, see the Google Analytics Documentation.
II. Adding the data on website calls
The next step to make this work is to add tracking codes for the dimension on your site. In our case, we would need to add the following JavaScript code on our site – as soon as the user identifies himself:
When he’s identified as an “agency” user:
ga(‘set’, ‘dimension1’, ‘agency’);
Or when he’s identified as a webmaster:
ga(‘set’, ‘dimension1’, ‘webmaster’);
If you want to have more flexibility and set up dimension JavaScript calls using GTM, you can learn how to do it here.
After setting up the custom dimension, this will create an association with the user type and will allow us to drill down to see how user type affects the behavior and conversions.
Getting to the useful data
So, once we have this set up, how can we make use of this data?
There are 2 ways of doing this. One way is to set up Standard Reports, using the Secondary Dimensions option, or using Custom Reports.
I. Standard Reports with a Secondary Dimensions
The easiest way to use Custom Dimensions in your reports is to add them to any standard report as a Secondary Dimension. You can do that by going to any standard report and clicking the “Secondary Dimension” button above the data table:
From the list, find “Custom Dimensions” and choose the appropriate Custom Dimension that you want to include:
With this, you will be able to explore how the selected dimension is associated with a particular aspect of your site analytics.
How are traffic sources associated with new sessions?
The useful data that we can get from this report is % of new sessions for a particular source and plan. If we look into the “New Sessions” column, we can see that Google / organic drives the most new sessions to the Starter and Basic plan.
II. Custom Reports and Dashboards
The previous report is helpful, but let’s get some more useful information out of GA. The other way of setting up a Custom Dimension report is using Custom Reports, which are somewhat hidden in Google Analytics.
This is a great way if the Secondary dimension is not enough. For example, say we want to use Custom dimension as the Primary dimension of our analytics data. See multiple dimensions per row (more than 2) and check the numbered metrics (like user numbers) or use Custom Metrics.
Here, we will see how to set up a more sophisticated report. We want to see how our user Plans perform across different traffic channels and countries.
To set this up, follow the next steps:
- Click “Customization” in the Google Analytics top bar,
- Click “New Custom Report”:
- Configure the Custom report:
We choose Source, Country and Plan name as dimensions, and New Users, Users and % New Sessions as metrics, as we are interested in how our plans, sources, and countries affect acquisition of our new users. You can play with dimensions and metrics and adjust this report according to your needs.
- Save the report.
The result should be a really useful table, which reveals us this:
From this report, we can see how many new users we acquired based on a particular source / medium, country, and plan. This report tells us some useful information: in the last month we acquired 63 new users who came to the website directly and subscribed to Starter plan. We can also see that organic traffic is performing well in the United Kingdom as it made more revenue than the United States with Facebook CPC and Google combined, so we should pay more attention to this channel.
To get this set up further, you could add the Custom report on your Custom Dashboard. To find out more about this or to learn more about examples and what you can do with them, check out this article about Custom Dimensions.
8. Look up into reports
Knowledge is power and the real power lies in interpreting the data. Here, I want to share some of the most useful reports that we use from the configuration in this article to empower our SaaS business.
I. Funnels
Most of you probably already know about the funnel visualization, which we can use if we have our Goals with Destination Type and Funnel steps (and preferably Ecommerce tracking) configured correctly (explained above), but it is so useful that I want to emphasize it further.
You can see this report by navigating to Conversions › Goals › Funnel Visualization. From there, just choose the appropriate Goal that you configured.
With this report, we can easily see how many users are reaching our Goal (destination) and how many are dropping out at a certain step. This information is useful so that you can pay more attention to conversion optimization for particular steps of your funnel.
II. Product Performance
Product performance is a very useful report, which helps us to understand how different Products (in our case Plans) are performing in terms of the Revenue. In order to be able to use it, you need to have Ecommerce Tracking configured correctly (as explained above).
You can activate it by navigating to Conversions › Ecommerce › Product Performance
To get more out of this report, you can activate the Secondary dimension option to get more information associated with a particular Product group.
III. Time to Purchase
This report tells us how many days a user takes from the initial visit before the transaction occurred.
You can activate this report by going to Conversions › Ecommerce › Time to Purchase
This report is useful to get a better understanding of how we should plan our retargeting campaigns and how aggressively we should push our products on different pages and acquisition channels.
In this case, it tells us that most transactions happen instantly or between 7 and 13 days. This can mean that we should be persistent with remarketing and spread out visibility to users throughout those days after their initial visit to our page.
IV. Multi-Channel Funnels: Top Conversion Path
Multi-Channel Funnels are one of the most useful and often overlooked reports of Google Analytics and a really powerful feature to get a better understanding of how the purchase happens on a user journey. These reports help us to understand how different users visited our page before they purchased something.
You can activate this report by navigating to Conversions › Multi-Channel Funnels › Top Conversion Path
In this example, we can see that we had 23 conversions from the users that first visited a page from organic search and then returned to the website directly (entered the url in the browser or from a bookmark). Most users converted by visiting the website 2, 3 or more times directly – which can mean that mouth-to-mouth promotion and referrals are having a big impact on our business.
You can adjust those reports further by activating the Secondary dimension.
V. Multi-Channel Funnels: Time Lag
Time Lag report is similar to the Time to Purchase report in the Ecommerce section. The difference is that this report also reveals some more information like goals associated with the conversions and conversion value in the time lag (number of days required before a conversion occurs). This helps us get a better understanding of how much revenue is generated based on a number of days that passed since the user first visited our website.
This report also allows us to configure Lookback Window, which tells us how many days prior to conversion should we look back at the user’s data:
By default, this configuration is set to 30 days, but you might want to adjust it if your users normally need more time before they decide to buy your product (which normally happens with more expensive products).
Final thoughts
In this article, I wanted to show some ways that you can enhance your Google Analytics data and its interpretation. Google Analytics is a really comprehensive tool, which can be used in many different ways to empower understanding of your users and their behavior on your sites.
However, the tool was originally not designed for tracking subscription-based businesses and for certain aspects, where we would want to track particular users, cohort analytics, retention and other metrics that are one of the more important metrics when working on web applications or member-area websites.
In spite of that, if you want to take advantage of its abilities and take your business to the next level, the information presented in the article should give you some inspiring ideas or suggestions on how you can leverage using this wonderful tool that Google is providing for you for free.
Aljaz Fajmut is an internet entrepreneur and founder of RankTrackr and Exit Mist. Follow him on Twitter: @aljazfajmut