Startup analytics using Segment, Customer.io, Mixpanel and GA

Startup analytics using Segment, Customer.io, Mixpanel and GA

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.

AAARRR — The pirate funnel — 1 minute explanation

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.

The segment dilemma

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?

Segment.com

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…).

Segment.com

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!

Step by Step — overview

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.

  1. Add Google Analytics to the landing page
  2. Implement event funneling through Segment
  3. Enable advanced tracking with Mixpanel or Amplitude
  4. Use Customer.io to make the most out of email
  5. Next article: Bundle data from multiple sources into Redshift and display with Periscope

Segment

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.

Overview of Sources of data inside of Segment

Google Analytics

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 ).

Customer.io

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 feedemails 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:

  1. We will send him a pre-created email from Customer.io that is gonna say “Thanks for creating your account, ordering a health check is really good for you for the following reasons: …”
  2. We can email all users that have ordered once with additional instructions on how to do it on a recurring basis ( newsletter ).
  3. We can send an automated mail to every user that is in a specific area, has been inactive for a certain period and has no push notifications enabled, and we want to reactivate him/her.
  4. Send emails on certain milestones 20, 40, 80 days for specific groups of users.
  5. We can send a weekly top list of health blogs to follow, articles or something similar ( these kind of emails require development time ).

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!

Mixpanel / Amplitude

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 ).

  • Mixpanel is free if you have less than 1000 monthly active users
  • Amplitude is free for around 10k monthly active users ( in most cases )

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:

  • Track events separately or create series of events (funnels), in the case of our app, it could be a funnel for the checkout process including all steps and seeing where the users drop the most.
  • Use the segmentation panel to see daily changes for specific events, for example if the login functionality is broken, it can be directly visible on the graphs with an event like user_login_success and seeing daily changes. It is easy to see results of marketing campaigns, revenue by order types, different browsers, platforms etc.
  • Use cohort analysis to see exactly how often users come back and engage with your application. This is applicable for daily active users, monthly active users etc. The goal is to increase retention and users coming back to order again or to read more.
  • Build complex queries based on events and demographics, how people behave in different countries where the app is available.
  • Send directed email/sms/push notifications to users with specific behavior, demographics etc. and analyse how they behave after receiving notifications.
  • Make surveys directed to specific groups of users.

Potential milestones

  1. Configure company accounts for Segment, Mixpanel and Customer.io

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.

It’s not easy

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!

Ministry of Programming is a supercharged startup studio specialized in building startups 💡

We offer advisory, product management, design, development, and other product design and development services to support entrepreneurs and startups towards product success.

If you want to work with us on your startup feel free to contact us at — https://ministryofprogramming.com/contact/