How to ignite growth by setting up an analytics pipeline
When starting a new company the absolute focus needs to be on execution!
That doesn’t mean the team shall be blind or unprepared. All the decision making at any early stage should be based on data gathered before and after the MVP.
The overview below will display how to implement a very modern analytics platform that can scale and ignite growth from the early stage.
The purpose of implementing an analytics platform like this one is to give better answers about the usage of the apps/systems you are building, integrate event funneling into a consistent pipeline and allow for better (data-informed) decisions.
The high-level marketing goals of a startup can be explained with the common AARRR pirate metrics. It is important to know that everything in the AAARRR funnel is interconnected and usually starts from an ad campaign ( Google/Facebook/etc ) to create awareness about the product and ideally ends with the user referring the product to others. We can use the analytics pipeline to track actions and engage users.
Awareness
Reaching users. They know you exist! ( it could be an ad campaign )
Acquisition
You get a customer’s email address through the landing page, chat widget etc.
Activation
The user uses your product with a trial/free account, indicating a good first visit.
Revenue
The user goes from a trial to a paid account, this is the most significant moment.
Retention
The user comes back to use your product, indicating they like it and are hooked!
Referrals
The user loves your product so much that he/she refers other new users.
What I usually recommend is starting with a data aggregation tool like Segment because it allows for faster experimentation with different analytics platforms, and hey! experimentation is everything at a startup.
Let’s say your developer integrated an SDK for Amplitude but somehow you didn’t like it too much and would rather try Mixpanel. The usual way to do it is to ask the developer to integrate another SDK from Mixpanel, test the app, release etc. What if this could be easily enabled by an online dashboard where you can just enable/disable different tools?
With Segment all data from your apps goes into one central data repository and then you can enable relatively easily various integrations via their dashboard ( Customer.io, Mixpanel, Localytics, Adjust…).
Without Segment your data tracking and analytics pipeline might look like this picture. Every app will implement different SDKs for tracking the data and it could become very hairy!
Segment is not the holy grail either, it will add up in terms of cost over a period of time since they charge based on data points. I even experienced some small to mild issues in enabling some of the integrations but overall I really like it.
Segment is not required and you can decide to skip it and add tracking directly towards the tools you want to use.
Anyway, let’s get to the ropes now!
The first four steps are going to be enough for a while until you have enough data to pipe it into a heavier data warehousing tool like Redshift.
As explained above Segment is a system that can be used to route tracked events to multiple sources. The desired tracking flow goes like this:
Web/App -> Segment -> Customer.io
Web/App -> Segment -> Mixpanel
Web/App -> Segment -> Google Analytics
This helps to lower the number of in-app code changes for adding new libraries. Also it helps to easily replace systems that we don’t like.
This is the first thing you can add to your landing page in order to track funnels and marketing attribution (where do your visitors come from?).
Adding GA to your site is a five minute job, technically it is just about adding the following tag, customized for your site:
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
Keep in mind that Google Analytics is not enough to track the detailed usage of the apps that you are building, that is why we will need a product analytics tool as well, like the ones described below ( Mixpanel, Amplitude, Heap or something else ).
This is a customer oriented mailing system that has much more functionality compared to Mailchimp for example. It is being fed with tracking events directly from Segment or the apps. It supports event triggered emails and newsletter mail.
The standard features include a dashboard with breakdowns by open, click rate etc. You can look up people by name, email and see what the system knows about them. There is a live activity feed, emails sent functionality etc. where you can inspect in real time what the users are doing on the site and what kind of emails they are getting, very neat!!
The beauty of this system is that it can be built to be completely event driven. It will start learning about users and putting them in Segments ( do not confuse segments inside Customer.io with Segment :) ), segments in Customer.io are configurable group of users by specific parameters. Let’s use an example of different segments we can build for an online health check scheduling app:
- Have ordered a health check in the last 10 days ( 3170 users )
- Registered but never ordered ( 8203 users )
- Have launched the online app in the last 50 days ( 10700 users )
- Arrived to the final order step but never paid ( 712 users )
- Not from Germany and Poland ( 970 users )
- Push Notifications Enabled ( 2210 users )
- Unsubscribed ( 8812 users )
- Engaged last 2 days ( App or Mail ) ( 900 users )
So here are some use cases to help understand the flow even better:
1. Joe decided to register to see what the app is about, checked the pricing a bit, but never actually ordered a health check. These actions could be tracked by using two events like: user_registered event combined with checked_pricing.
As we track with Segment.io it will be tracked there and propagated to Mixpanel so we have it in our tracking graph, besides this it will be propagated to Customer.io as well.
When it gets into Customer.io we know that this user is a new one and has never ordered his first health check. This is the displayed segment above called “Registered but never ordered”.
When we have all of this setup, we can do a lot of nice things:
Basically anything that can be hooked into an event can be translated to an email notification and the conversion can be tracked afterwards.
The imagination is the limit!
In order to reach the goal of building a data-driven decision platform, there is need for an event tracking tool that gives more insights into product analytics.
The whole point of using Segment is to not feel locked into a specific choice for the tracking tool. Both Mixpanel and Amplitude have proven extremely good in the trenches but even choosing another tool is a matter of features and preference ( Heap for example ).
In my opinion Mixpanel is an easier tool to use for most non-tech people and it allows to get started faster. On the other hand, Amplitude gives you a longer run in terms of a free subscription. We will focus on Mixpanel here.
Mixpanel offers event-based analytics tools where you need to define events and event properties for your app.
Some of the things that can be done include:
This is a prerequisite to get started.
2. Install the Segment plugin inside your apps
This will help automatically track a bunch of events from your apps directly to Segment.
3. Review tracked events and implement first emails based on them in Customer.io
Get up and running with emails based on tracked events. This will require some communication about email ideas and wording with the marketing team or founders.
4. Analyse the data inside Mixpanel
Analyse data and make sense of it, then tweak the engine!
5. Implement more custom tracked events and repeat
Based on the findings from the previous phases, implement more custom tracked events.
Most companies usually do this wrong and it is extremely rare to find perfect implementations. It’s important to pay attention to details and do everything step by step, event by event.
Also, the tooling in the analytics space is extremely confusing as most tools offer a lot of similar functionalities with small but important differences. The only way to know what works for you is by experimenting.
Have fun!