How to hack your analytics with Segment.io

Part 1: How to create a clean data structure, explained in a few memes…

First off let me say that I have no shares in Segment, nor do I actually know anyone who works there. But I found a way to divide my marketing costs by almost 10, and it’s all thanks to one niftly little piece of SaaS (and a bit of hacking).

Let’s face it : analyzing and crunching data isn’t the hardest part. Obtaining clean and correct data, however, is often the true challenge. We’re all familiar with this situation :

CEO says to CTO :

“- Could you add these 3 small lines of code in the header of our web app?This will allow us to use {{insert SaaS here}}

-Hmm, add an issue on github or trello, i’ll do it when I have the time.”

3 months later, the code snippet isn’t anywhere close to your index.html header. It’s probably sleeping somewhere on a github repo, being ignored by your dev team.

Truth is, we can’t blame CTOs. Every minute of programming is crucial in this stage of your startup. And you already asked him / her to integrate mixpanel and kissmetrics on every event of your website, which took them a full day. Every week, you discover a new tool you’d love to try out. A/B testing, funnel reports, churn analytics tools, facebook pixels… each requiring at least a bit of integration. Your CTO isn’t here to execute code while you have fun jumping from one SaaS to the next.

The truth is that no integration is ever simple, or “just a small code snippet”. An analytics tool (or at least a good one) track events that happen on your web or mobile app. These events are actions from your users : “newsletter signup”, “login”, “product added to cart”, “product purchased”, “feedback sent”, etc. For instance, a customer buying a delicious Yuzu salmon steak on PopChef (omg) will be tracked the following way :

analytics.track('Product added to cart', {
meal: 'Pavé de saumon au yuzu',
quantity: '2'
});

Integrating an analytics tool requires tracking these events directly in your code, catching the data, and sending it to the SaaS you’re using. Each new SaaS asks you to add a specific tracking code on each event. At the beginning, your data structure looks like this :

A dead-simple integration with only 6 events and one SaaS (kissmetrics)

Then like this :

6 events only can already lead to a complexe data structure

This case is extremely common. But the worst part is : most startups use different names for each SaaS : “kissmetrics.signup” and “mixpanel.signup” for instance. I’m not even going to try drawing up the above graph when different event names are used.

This constraint is a bad news for startups, but it’s great news for analytics tools : they make it hard for you to opt-out. You’ll be so terrified to ask your CTO to remove Kissmetrics and switch to Amplitude, for instance, that you won’t ever make the switch. The cost of changing is a direct cost of human programming time.

At PopChef we firmly believe in the power of data. “Without data, you’re just another person with an opinion”, would say Edwards Deming. This data allows us to understand what our customers truly want, to optimize our conversion funnel and offer the best possible experience. Many tools exist, each with a specific purpose : switching from one tool to the next and constantly adding new ones is a fundamental part of any entrepreneur’s job. We currently track more than 50 user events through more than 10 analytics tools, and this only cost us a day of integration. Thanks to Segment.

One SaaS to rule them all

Segment is a revolution in the tracking world.

Launched in 2012 after a passage at Y-Combinator, Segment.io already raised more than 44 M$ with funds including Accel Partners, Kleiner Perkins, General Catalyst and others to fulfill their mission.

The principle is quite simple : you track every event in your app once (and only once) using segment, in the same way as you would have with any other tracking tool. Segment than catches all the data from these events, and sends it off to whichever SaaS you select from their dashboard.

Dashboard depuis segment.io

You litterally just need to click “on / off” on your dashboard, and the selected tool will start receiving your data.

In other words, you do the integration only once, and that’s it. Adding a new tool a couple months later is a simple as clicking on a green button.

Your data structure will now look like this :

Your data structure after a segment integration

You can let your dev team focus on things that matter, and have fun trying out any tool you want. Complete days of programming time have just been saved for the next few years, that will largely compensate the modest 30$ / 99$ you gladly send to Segment each month.

All this is good and well, but these guys are on a mission and this is just scraping the surface. The true power of segment lies in two-way data binding.

Two way data-binding — or how analytics can actually play a role in marketing :

Sending all your data to an infinity of tools from only one source is, well, pretty cool. But imagine if all these tools could communicate with each other? Imagine if your facebook ads could know precisely which user opened a marketing email that you sent him via your mailing tool, customer.io ? Imagine if, had that user read your email but not yet acted upon it, you could easily retarget him on facebook and remind him of your offer ? Imagine if kissmetrics and mixpanel could segment users based on who reads your emails and who doesn’t, and theses actions (or lack thereof) could trigger actions in Salesforce ? Now we’re talking.

Segment makes this dream come true : one action that happens in a SaaS can directly launch a new event in Segment. This event will then be sent to your other SaaS and trigger new actions, an email for instance (did someone say super personalised automatic emailing ?). Your data structure has evolved again :

Two-way data-binding rocks

This is what two-way data binding looks like : data flows from segment to your tools, from your tools back to segment and back to your tools again continuously. The data wheel starts spinning, sending data back and forth, allowing you to track and automate pretty much anything.

This little wheel creates wonders… PopChef created Facebook ads with a CPC of less that 0,04€ by retargeting users who added meals to their cart and left without buying anything.

But how exactly do you send data back and forth and create this data wheel ? Segment doesn’t yet provide you with the tools to do this, but the good new is you can pretty easily hack it with other tools like Zapier, Webhooks, write keys and simple URLs, without being a programmer. This is where the fun “hacking” part actually begins.

We’ll dig precisely into this in the second part of this article, and get our hands dirty by trying out all three methods. Don’t forget to subscribe if you don’t want to miss out.


Conclusion : hacking human time

guillaume cabane is a growth-hacking guru in Paris, and probably holds the best definition of what growth-hacking is.

As human beings, we feel like we owe back the time people have spent helping us out. Spending enough time with a prospect slowly makes it uncomfortable for him to say no without at least trying out your solution. The more time you spend with him, the harder it becomes for him to walk away without feeling at least a bit embarrassed. But this isn’t a scalable sales model : the human time needed to create the discomfort is probably worth more than what the customer actually pays you.

Growth hacking means making human time scalable. By having ultra personalized emails sent automatically, you can create a perception of human time spent that is far superior to the truth.

The difference between the perceived human time and the actually time spent is the growth hacker’s margin.

More than ever before, Segment allows us to obtain extremely precise data from our users, which then allows us to create a “one-to-one” marketing strategy that inevitably has amazing results. Guillaume gets more than 70% open-rate on average in his automatic emails, PopChef divided by 10 their CPC on facebook.

The key is having a product that’s good enough to make it all worth while…


PS : To know more about the best-practices of setting up Segment on your app, watch this great video posted by Guillaume Cabane :