Building Paystack: Product Analytics
How weโre approaching product analytics at Paystack
Paystackโs mission is to provide the best payments experience for African merchants, and weโve been at this for more than a year now. In that time, weโve made a lot of (thankfully) good assumptions. But as we grow rapidly, we need to make more informed decisions about how to build our product. This involves implementing product analytics.
It might surprise you to realize that Paystack only recently started being more intentional about product analytics. Like many other startups, we didnโt pay attention to analytics early because:
- Tunnel vision: We were very focused on pushing out the product and getting early customers that there was โno time for anything elseโ.
- Team size: User Experience (UX) is such an extensive field, and because our early design team was only one person, UX research seemed like something to consider after hiring a bigger design team.
- Correct early assumptions: At the very early stages of our product, we were driven by a strong sense of intuition and smart assumptions, so analytics seemed unnecessary.
Benefits of analytics for a smallย startup
Thereโre numerous benefits to being intentional about analytics, even for small startups:
- You can greatly improve your design process by observing how people use your product.
- Thereโs a high likelihood of you discovering something about your product you never even considered.
- Smart assumptions for product features are good, but informed decisions are much better.
- Even if you donโt use the analytics data immediately, itโs really handy to collect for future work or another product.
- Pivots!*
Before working on Instagram, founder Kevin Systrom spent months working on an app called Burbn. It was while reviewing Burbnโs analytics that he saw interesting user behaviour which resulted in the pivot to Instagram.
Great analytics tools for smallย startups
Hereโre some of the tools weโve been trying out at Paystack in our early experiments with becoming a more data-driven company.
- Google Analytics Accountโโโ(Free) This is a simple analytics tracker.
- Google Search Consoleโโโ(Free) This helps you figure out how people find your site on the internet, and much more.
- Fullstory Accountโโโ(Trial account). Fullstory is a tool that helps you better understand your customersโ experience of your product.
*ย Heapย orย Mixpanelย are popular alternatives for Google Analytics or Fullstory
* Keep a checklist handy, so you can follow your progress as you implement analytics for your product
Analytics Checklist
Step 1: Setup Tracking
- Google Analytics
- Google Search Console
- Fullstory
Step 2: Decide what to track
- Highlight the call to actions on your app / landing page
- List out the most important goals of your app / landing page
Step 3: Implement
- Mark important actions as events
- Create and track conversion goals
Step 1: Setupย Tracking
Google Analytics is great for tracking how users navigate through your site (behaviour), and where your users come from (acquisition).
Google Search Console helps you figure out how people find your business on the internet. You can use this data to optimize your keywords, SEO, and much more.
Fullstory is more suited for when you want specific details about how people interact with your pagesโโโwhat buttons they click or donโt, how they flow through you product, and more. Hereโs a quick guide to setting up all these services:
- Create your Google Analytics account, then follow theย instructions to add to your application.
- Signup and follow the instructions to addย Fullstoryย to your app. Fullstory has a pretty neat on-boarding process so youโll be guided through how to use it.
- Finally, connect your analytics accountย with Search console. This helps you figure out how people search for and find your product on Google.
*ย Note: At Paystack, weย created multiple account idsย for the different concerns i.e. Landing page analytics ID is different from dashboard ID. This decision was made to keep the data clean.
*ย For single page applications, you might need to find a custom Google Analytics library to track pages. A simple search on Github will find you one. Fullstory works out of the boxย with any application.
Step 2: Deciding what toย track
On to the next! Now that tracking is all set up, make a list of things that are important to track. It doesnโt have to be a long list, but it needs to be precise. Take a look at your app and landing page to decide the most important actions you want people to do.
For landing pages, this is usually evident in the call-to-action buttons. For example:
Landing Page: I want people to
- Sign up
- Use the demo
- Contact Sales
Tracking analytics for your main application might be bit different, and usually your database will be able to give you insights into what people do with their accounts. For your application, you should be looking out for things that have to do with the user experience (UI/UX). A good way to decide what metrics to track is using Googleโsย HEART framework. For example
App: I want to know how people
- Interact with the onboarding screens
- Interact with the empty states
- Interact with the upsell Calls-to-Action
Step 3: Implementation
By default, once integration is done, both Google Analytics and Fullstory provide rich dashboards that give you insights out of the box. If youโve outlined what to track from Step 2 above though, then you need to actively note when these actions happen.
Default Insights
- The Fullstory dashboard highlights a lot of important things by default. So you can see session recordings, dead clicks, error clicks and browser distribution, etc.
- Google Analytics also provides a ton of usage data right out of the box. You can play around with it to understand,ย read an explainer, orย read a glossary.
Fullstory Tips
- One important way to optimize your Fullstory data is to use unique IDs in your HTML to highlight all the important sections and buttons.
- To go further, you can createย segments and funnels.
- Segments are questions you can ask from the tracked information e.gย How many people that used the onboarding clicked on help later?
- Funnels join segments together for deeper questions. e.gย For the people from the question above, how many were on a mobile device?
Events (Google Analytics)
These are used to record user interaction with website element. Other services like Fullstory provide this data by default because they track every click and swipe. At Paystack though, we prefer to track our conversion and goals in Google Analytics.
As an example, weโll be tracking one of the actions from Step 2. To track people signing up, we can use javascript to notify GA when the signup buttons are clicked. e.g
HTML:
<a class="button button--green" data-signup="Homepage Hero Button" href="https://dashboard.paystack.com/#/signup">Get started for free</a> <a class="button button--green" data-signup="Signup Tab Button" href="https://dashboard.paystack.com/#/signup">Create Account</a>
Javascript:
var signupLinks = document.querySelectorAll('[data-signup]');
for (i = 0; i < signupLinks.length; i++) {
signupLinks[i].addEventListener("click", function(event){
event.preventDefault();
var eventLabel = event.target.getAttribute('data-signup');
var gaIsLoaded = window[window['GoogleAnalyticsObject'] || 'ga'];
if (gaIsLoaded) {
ga('send', 'event', {
eventCategory: 'Signup',
eventAction: 'click',
eventLabel: eventLabel
});
}
window.location = event.target.getAttribute('href');
})
}
If youโre not technical, what weโve done above is label our signup buttons based on their position on the page and record the โSignupโ event to Google Analytics when they are clicked.
Goals (Google Analytics)
This takes events one step further by tracking conversion. You can use this to track the metrics that directly affect the success of your business. Hereโs an example story:
- You want to know when people need help in your application
- You implement an event every time the help button is clicked
- You create a goal to see how many people do this over time
- Now, you can progressively see how people are requesting help
- When you redesign your dashboard, you want to know if worked i.e Less people need help
- Goals can help you see if this really worked over time
Further reading:ย Kissmetrics,ย About Goals
Done is better thanย perfect
You can implement only Step 1 and call it a day. Youโll still be collecting useful data you can use, and your dashboards will be able to give you insights.
Also, thereโs no need to be pedantic about analytics, because as a small startup, you have to make difficult decisions about where you allocate your development time. You can start simple and keep refining this over time. The more insights you get, the better your events and goals will get.
We hope this look into how Paystack is approaching product analytics has proved illuminating. If you have analytics tips and tools that have worked for you, please feel free to share them with us viaย emailย orย Twitterย ย โค๏ธโ🏿