After you have defined your approach and mapped out your product use cases, it’s time to select your IT vendors, implement, and experiment. Let’s face it—there are a zillion third-party solutions out there. We started with a few vendors and grew our footprint as we became more sophisticated.
Of all the phases, this one took the most time. We needed to budget time to learn the tools we picked and experiment with how to use them. We ended up with an architecture that enables us to service our customers quickly and efficiently, get deep visibility into how they use the product at both the individual and aggregate level, and provide genuinely personalized experiences for users on the platform.
Where we could consolidate on a single tool to deliver multiple use cases without sacrificing quality, we did. We wanted the best stack—even if that meant adding additional IT vendors to the toolbox and wiring them up. But simplicity might be more important at times, so really thinking through your product use cases is an important step.
Here is what we ended up with:
– Universal Data Bus: We initially relied on Segment to provide us with a bus to push data into and have that data syndicated out to other platforms we use, as well as have those platforms pass data back to each other. Relying on a third party for your data bus comes with some tangible risks—their outages become your outages, and their latency becomes your latency.
As we scaled, we ultimately decided that we needed to own this part of the stack ourselves. This is mission critical infrastructure and we needed to own our destiny. When choosing a Universal Data Bus, think about your long-term plans. If you do go a third-party route, there are a number of other IT vendors we wished we had explored, such as mParticle.
While we no longer use an outside vendor, below is our revised wish list based on our experience of using one and eventually choosing to build our own:
– Onboarding, In-App Feature Announcements, and Tutorials: Appcues provides us with a simple WYSIWYG editor to create onboarding flows, add product announcements directly into our app, and host guided feature tutorials. All of these are customized based on the user attributes and past behaviors that we collect, delivering a relevant experience to users directly within our environment. This enabled us to rapidly deploy and test new versions of onboarding. When one stuck, we built it into our codebase in a more robust way, but we continue to run experiments with Appcues.
– Live Chat, Support Desk, Help Center, Behavioral Emails: We rely on Intercom to do the heavy lifting for a lot of our customer-facing communications. This has been an excellent platform for us and might be the single most critical tool we use. We made a conscious decision to use as much of the Intercom platform as we could, and recently consolidated our behavior emails into Intercom.
– Business Intelligence: User metrics and behaviors, as well as backend system performance, get logged to a Redshift warehouse. We decided to use Chartio to deliver dashboarding and business intelligence to the team. We were able to get a nice combination of a simple visual pivot-table editor and the ability for power users to edit or compose SQL queries directly. This allows us to get a clear, flexible view on users, but also correlate system performance to user behavior in a straightforward way. We can see how operational issues or system latency tie directly to users.
– CRM: Salesforce delivers the enterprise-level CRM we need to scale the business. As Salesforce is one of the best-integrated CRMs out there, we are able to easily test our integrations and get data into and out of the platform. [Disclosure: Voicera has received investment funding from Salesforce Ventures.]
– Payments: Stripe powers our payment processing and subscription management. This was one of the first tools we implemented, but we haven’t spent much time deeply customizing this aspect of the stack yet.
– Conversion Tracking: While we were not able to find an off-the-shelf solution for this, we were able to solve this problem relatively efficiently with some custom code to track UTM parameters in browser cookies.
– Personalization: We pull in data from lots of sources, including FullContact and Clearbit. This data helps us personalize our product from the moment a user logs into our platform to how we interact when we support them. While a lot of the data from these two companies overlaps, we have taken a ‘greedy’ approach to ensuring that we have as much data about a user as possible.
– Fast Debugging: We chose FullStory for session debugging, allowing us to view users’ sessions, see console errors, and rage clicks. This has helped us debug much faster with users and spot issues more proactively
It has been a journey to put our stack together, but as we grow, it has started to pay off in spades. Our users notice how quickly we can service them, how effectively we can help them work through issues, and how much visibility we have into the ins and outs of the platform. As new tools hit the market, our stack will surely evolve. If you have any recommendations, be sure to let me know!