Software Engineer
It’s always great to ship new features to your users — but you can’t know how these features are performing if you don’t know how your users are interacting with your product.
This is something we struggled with during the early days at Smartcar. We didn’t have a way of measuring how our users interacted with the new features we shipped.
Our product, an API for cars, lives in a space that is just emerging. The concept of building a mobile app that reads data from cars (e.g. the odometer) without any hardware is difficult to communicate. Vehicle owners are connecting their car to a mobile app (e.g. a mileage-based car insurance app) for the very first time. To make our product succeed, we needed to answer the following questions:
How can we iterate on the experience that we provide to app developers as well as to the vehicle owners using these apps? In other words, how can we know which of our recent product changes are working well and which ones aren’t?
As we were tackling this issue, we found hundreds of ways to track how users interact with our product. Our marketing team wanted to view data in Mixpanel, our business team wanted to send Intercom campaigns based on specific interactions, and our engineering team wanted to pipe user event data into Amazon S3 buckets. As a result, we had to answer yet another question:
What is the right tool to track user interactions? Is there a single tool that meets all of our team’s different needs?
“There must be!” was our answer to the latter question. At least until we could hire enough people to set up and maintain multiple integrations.
Luckily, we found Segment.
When we collected and weighed different tools, we hesitated between:
Ultimately, we decided to use Segment (option 3), thanks to following advantages:
In short, Segment lets us implement and maintain a single integration, while making it possible for all team members to use any analytics tool without additional engineering effort.
Now that we decided to use Segment, how did we end up using the tool on a day-to-day basis? How does Segment help Smartcar deliver a better experience to app developers and vehicle owners?
At Smartcar, we’re constantly seeking to improve the “developer journey” by asking: “What are the biggest friction points in building an app using our API?”
When we redesigned the Smartcar dashboard not too long ago, we first wanted to understand what was lacking in our original iteration. We then wanted to use that information to drive our redesign. So, we added Segment to our original dashboard and tracked three core things (among many others):
Feeding this data into Mixpanel, we realized the following:
Thanks to those insights, we knew to redesign our dashboard in the following way: When you create an account, we automatically create an application for you and provide links to resources that can help you get started (e.g. running demo app). We also managed to reduce the number of clicks it takes developers to run our demo app from over ten clicks to four.
By adding Mixpanel and Intercom as destinations, our engineering team can now keep tabs on how developers are interacting with our redesigned dashboard, while our marketing team can use events to send timely emails to developers (for example, messages that are tailored towards how many apps a developer has built or which SDKs they used).
Creating a better experience for app developers is important to us, but we also want to improve the user experience for consumers. In any app that uses Smartcar, the consumer will go through the Smartcar authorization flow. During this auth flow, the consumer authorizes the app to access their vehicle, by:
As users proceed through this flow, our team wanted to monitor the following:
Before using Segment, we couldn’t monitor those things and had to rely on qualitative feedback from friends and developers. We had no notion of how many people “dropped off” during the auth flow, and we had no way of telling whether the new features we added were producing positive results.
When we instrumented our authorization flow with Segment, we could track user interactions before they logged in — and then retroactively associate these events with the actual users after they signed in.
This means that we can now not only monitor the three metrics mentioned above, but we can also determine how many clicks it takes for a vehicle owner to successfully authenticate with us — and segment (pun intended 😊) this data based on the user’s traits (e.g. what car they own).
Building a user-friendly API can be difficult — especially if you want to appeal to your users and their users. Thanks to Segment, we can focus on both areas in one go, and give our team the chance to measure and evaluate the things they feel are most important.
Smartcar is an API that allows mobile and web apps to access data from and send requests to cars (think “check odometer” or “unlock doors”) — across vehicle brands, hardware-free.
Want to take our API for a spin? Check out our and get started with our ! Have any questions or feedback? Shoot us an ! 🚀
Smartcar is the easiest way to integrate mobility apps and services with cars.