I found that several SasS projects did not have proper analytics set up to:
As a rule, the tools of choice were Google Analytics, ROIStat, Metric, Amplitude, but none of the tools were fully integrated. I chose Google Analytics (hereafter GA) for the task. It is far from perfect, but it is quite capable and not so expensive for basic tasks.
Let's look at the solution of each problem from technical implementation to online report, which can be opened and viewed in a couple of minutes.
Since it is hard to fit all the info into one article, I will divide it into several parts, besides it’s not a given that the community needs all this information and faces the same problem.
The implementation of all steps requires a mid-level command of Google Analytics. One article cannot possibly cover all the necessary skills but they can be easily googled.
Let's start by building the funnel.
The simplest example of a funnel is a an online appliance store.
Go to Website > Put Goods into Cart > Go to Cart > Check-out: Shipping > Check-out: Contact Details > Check-out: Payment Method and Payment
A good report is one from which actions can follow.
As the outcome, we want to see conversion from one step of the funnel to another and quantitative indicators, for example:
The steps of the funnel can be out of sequence and variable. Imagine we are designing a funnel for a private advertisement service like Avito.
Open Ads Editor > Create Ad > Sign In > Select Tariff > Transaction
Sign In > Top up Balance > Open Ads Editor > Create Ad > Apply Tariff
In this case, we would like to be able to manually create funnels on the go and not be tied to a specific sequence. For example, we want to see users who first create an ad and then pay.
Open Ads Editor > Create Ad > Select Tariff > Payment
Conversely, we want to see those who first top up the balance and then create an ad.
Top up balance > Open Ads Editor > Create Ad > Apply Tariff
To do this, at each step of the funnel, we need to send an event to Google Analytics, from which we will be able to make the funnels as we need. So, let's take a look at these events and how to send them.
I strongly recommend using Google Tag Manager (hereinafter GTM), this is a layer between the website and the counters. For example, you can set up an event once and send it via GTM to Analytics, Metric and so on.
There are many ways, but the most reliable and correct way is through the data layer. The data layer is just a transit layer between the site and the counters.
To send, we must initiate the following javascript expression.
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'event': 'name'
});
Let's take a closer look at each line.
window.dataLayer = window.dataLayer || [];— check if there is already a data layer created; if not, then create a new one.
dataLayer.push({ 'event': 'name’}); — at the right time, we add the event name to the data layer;
'name' — the name of the event itself;
So, we need to initiate this expression at each point of the funnel and substitute the event names. For example, we want to send events whenever the user opens the Ads Editor.
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'event': 'openAdsEditor'
});
Or when the user filled in and confirmed the ad in the Ads Editor.
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'event': 'ad_submit'
});
You can test whether the events go through in GTM debug mode. We will not go into this, as you can easily google it..
Now we need to extract the events from the data layer and send them to GA
We create a Custom event trigger in GTM and specify ad_submit in the Event name field, this is the value that we specified when sending the event at the website.
Further, this trigger will launch the tag, which in turn sends the event to Google Analytics.
Next, we create a tag in which we specify the following values.
Category funnel and action ad_submit are arbitrary, we will use them to identify the event in GA. We specify our previously created trigger Create Ad.
After saving the tag, we deploy it to production, click on Publish button and test: every time a user fills in an ad, an event should appear in the GA report called Real time > Events
We follow the same cycle for other events, that is, funnel steps that we want to track.
Suppose we sent all the events and need to build a funnel out of them.
We create segments in GA. Each segment corresponds to one event. For example, we create a segment for the event Open Ads Editor, since it will be the first in the sequence
To do this, we select any report in GA, for example Channels, and click +Add Segment
In tab Sequence Include Users whose Any user interaction matches the event Event Category exactly matches funnel AND Event Category exactly matches openAdsEditor
In plain language, we single out users who interacted with our event.
Next, we make the second step of the funnel. For this, we copy the first segment.
There we add the event of the second step of the funnel Create Ad. Since we need to count only those Create Ad users who previously opened the editor, we add the previous funnel event Open Ads Editor as step 1 and add Create Ad as step 2.
That is, in the funnel second step Create Ad, we only get those users who have passed the first step Open Ads Editor.
Changes in the funnel over days, weeks or months.
The funnel with general report indicators or with breakdown by parameters, in this case traffic Channels.
By slightly modifying the sending of events, we can add, for example, specific ad subjects to see which subjects don't get many ads created. But more on that in future articles..