This guide will help you understand account-level data in the context of B2B SaaS and the role of accounts in the customer lifecycle. It will also provide tips to make account-level engagement work. By the end of this guide, you should have a clear understanding of account-level data, and if treated well, how it can improve the customer lifecycle.
You don't need a background in data to comprehend the content of this guide or to put them into action — you're ideally a product or growth professional looking to build hyper-personalized data-powered customer experiences at a SaaS company that's experiencing steady growth.
So, what exactly is account-level data in B2B SaaS and why is it important? Let's find out.
Account-level data refers to events and properties that are associated with an account or workspace and may additionally be associated with one or more users belonging to that account. It is also sometimes referred to as company data and the terms account, company, organization, and workspace are used interchangeably.
There are four main reasons to do this:
If you'd like a more detailed breakdown of account-level data, check out this guide.
Claudiu Murariu of InnerTrends considers account-level data a must-have for B2B SaaS:
"Account-based data is not a nice-to-have for B2B SaaS — it's mandatory. It's better not to have data at all than to have only user-based data. I've seen companies get into a lot of trouble because they didn't have an account-level view."
Now that you know why account-level data is needed, it's time to understand what happens in its absence or the downsides of focusing only on user-level data.
Let's assume that your goal is to measure and improve activation for your project management SaaS and you only have user-level data available in your analytics and engagement tools.
While it's useful to know how many users have performed the activation event and have derived value from your product, activation as a success metric only makes sense at the account level as subscriptions are tied to accounts and not users.
For your project management tool, a collaboration between users is key and the activation metric must include the collective actions of multiple users.
For instance, activation could be defined as at least two users joining the workspace and completing at least one task — this activation metric would be impossible to measure with only user-level data.
The same is true for other core metrics like conversion or retention — impossible to measure accurately without account-level data (unless you're willing and have the resources to extract this data from your production database and manually build data models in SQL).
Moreover, it's important to keep in mind that not every user within an account is meant to actively use the product and perform actions that lead to activation. In fact, depending on the role assigned to a user, they may not even have the ability to perform certain actions in the product — billing admins or view-only users are common examples whose actions generally don't contribute to a core metric.
Few SaaS companies today restrict users to joining only one account — a many-to-one user-account relationship. It's far more common for a user with a unique ID to be part of multiple accounts — a many-to-many user-account relationship.
This is very common with project management tools where you need account-level data to accurately understand user behavior and engage with them based on the events they perform (or don't perform) within a specific account.
It won't make sense to send a welcome email to a new user in an account followed by an upsell email because the same user is active in another account. In this case, it might actually make sense to not send that welcome email at all, or even better, send a different welcome email that has been personalized for existing users who join or create new accounts.
When we talk about the customer lifecycle in B2B SaaS, we generally refer to the account lifecycle. However, by properly associating account-level data with user activity, you can get a true picture of the user lifecycle.
How's that helpful?
It's common for a user to be less active in one account and at the same time, be a power user in another.
Now, even if the user leaves the account under which they were a power user, instead of treating that user as someone who needs hand-holding, account-level data will enable you to put that user in the power users cohort and engage with them in future campaigns.
When that same user creates or joins another organization, instead of putting them through an onboarding campaign meant for newbies, you'd be able to engage with them more appropriately when you're looking to run a campaign seeking reviews or feedback from users who have championed your product in the past.
Whether you're building segments in your product analytics tool to calculate the activation rate or in your engagement tool to send lifecycle emails to users within trialing accounts, you'll need to build segments — for users or whole accounts — using account-level data.
On the other hand, if you want to send a subscription renewal email to billing admins, or run a dunning campaign for that matter, you only need to segment users based on their role. If someone is a billing admin of multiple accounts, you definitely want to send them separate emails regarding each of those accounts.
Yet another common use case is to send announcements or newsletters in which case you'd want to segment users but also make sure that each user receives that email only once even if they're part of multiple accounts.
It's hopefully evident by now that user-level data alone is far from enough — the absence of account-level data has severe limitations when it comes to personalization.
By account-level engagement, I'm referring to engaging with users based on their activity within an account. While it sounds simple, making it work is anything but that. Keeping that in mind, I'd like to share a couple of tips.
The first thing every B2B SaaS company needs is its app to have an account-level data model that enables many-to-many relationships between users and accounts. A lot of companies ignore this at the earlier stages, latching it on later which is extremely cumbersome.
In fact, a lot of established companies tend to ignore this altogether in favor of workarounds that have severe limitations.
Userflow, an in-app onboarding tool, has supported accounts from the very start, and doing so has enabled them to go head-on against larger competitors in a crowded market.
Similarly, Sherlock, a tool to push product data to a CRM, has been propagating the importance of account-level engagement for a long time.
With an account-level data model in place, companies will actually be able to use proper tools that support this data model.
Unfortunately, even some of the most well-known companies in the SaaS space don't have proper support for account-level data. One has to resort to workarounds that are usually tedious to implement, have limitations, and are more expensive.
Most established email engagement tools don't natively support accounts. A common workaround that I have also used in the past is to concatenate the user ID and account ID to create distinct users who are treated as regular users.
However, this results in multiple instances of the same user, one for every account they are a part of. This not only adds to the cost but also has limitations in terms of engaging with users who are actively using the product in multiple accounts — treating each distinct user as a separate user is the only option one is left with.
Intercom is known for supporting companies but offers a very limited version of account-level data. Users can be mapped to accounts or organizations but user activity is still aggregated, leaving no room to run engagement campaigns based on a user's actions within a specific account.
A proper solution, one that natively supports an account-level data model, would allow us to do the following:
With the above in place, we'd neither have to deal with a bloated user count that adds to our bill, nor would we be restricted to treating every distinct user as a unique user — we'd be able to see a user's activity separately for every account they belong to and utilize that data when building campaigns.
Additionally, we'd be able to build segments and trigger campaigns based on account-level events and choose whether to include all users within an account or only those with specific roles.
Thankfully, Userlist enables us to do all this and much more with their native support for account-level data.
The lack of an account-level data model is a known problem; however, none of the established email engagement tools have prioritized a solution for this. The Userlist team is committed to solving this problem for good — even though this is a tough infrastructure challenge. Let's dig a little deeper to understand Userlist's core capabilities.
The right data structure should enable a many-to-many relationship between users and accounts where a unique user can be part of multiple disparate accounts, each with its own set of account properties. Userlist solves this problem using relationship properties.
The diagram above depicts that a unique user can not only be part of multiple accounts but can also have completely different roles in each of those accounts — such as being an admin of account A and a manager of account B. As an admin, the user can upgrade or cancel account A — the action, although performed by the user, pertains to the account and is, therefore, an account-level data point.
Role is definitely one of the most obvious relationship properties, but there can be more: the number of projects this particular user created in that particular account, account-specific settings or feature flags, etc.
Relationship data is what connects a user's actions to the correct account. With the ability to specify relationships between accounts and users, the level of personalization is vastly improved and true account-level engagement is made possible.
One of the biggest problems in terms of account-level engagement is knowing when to trigger a campaign that relates to a company milestone.
Without account-level data, you'd need to somehow identify a company-level milestone — such as an account being upgraded — and then identify users of that account. As discussed earlier, a proper solution to this remains a huge challenge for traditional ESPs (email service providers).
However, Userlist allows you to trigger campaigns based on account-level behavior as shown below.
What you see above is a pretty standard campaign. It sends an email to users of accounts (companies) that begin a trial. But instead of sending the email to all users irrespective of their role, this particular campaign has been configured to only email the admins of the respective accounts.
Ready to implement? Here's a recommended stack of tools that have native support for account-level data:
If you have other favorite tools, please let us know in the comments and we'll add them to the list.
Automation layered on top of accurately-modeled customer data is the foundation companies need to enable powerful personalization; it doesn't have to be so complicated — vendors of engagement tools have a part to play here.
Moreover, switching to a proper solution from a hacky one is worth the investment if companies want to have an advantage over the competition by providing truly personalized experiences.
Also published here.
This guide is contributed by Arpit Choudhury of astorik and reviewed by Claudiu Murariu of InnerTrends.