Unleashing Product-Led Growth: Activating Customer Usage Data to Drive Growth
Creating a scalable product-led growth/sales program with the modern data stack
This week we’re going to get tactical for a minute on something that a lot of startups leaders have asked about, data activation for Product-Led Growth (PLG). PLG and its counterpart, Product-Led Sales (PLS), are driving a new generation of rapidly expanding startups. These PLG companies enjoy lower overall acquisition costs, providing them with greater operating leverage to accelerate their growth. While there are numerous guides and articles on PLG product strategy, sales strategy, and metrics to track, a successful PLG strategy requires a robust data activation strategy that is less often talked about.
PLG falls short if startups fail to get data in the hands of sales and marketers to personalize messaging/outreach and build audiences around:
Who has signed up for the product?
What are their persona traits?
What features have they used? How often?
How many users have they invited?
Have they reached the Aha! moment?
Without easily accessible, high-resolution usage data for go-to-market teams, PLG becomes merely a lead signup flow with potentially high volume but low conversion rates due to inadequate personalization. Fortunately, tools like Fivetran, Snowflake, and Census can deliver this data to go-to-market teams in a cost-effective, scalable manner that evolves with your business.
This article demonstrates how non-engineers can quickly and affordably set up these tools to send customer signups from the product to Salesforce, enabling a sales team. Additionally, it shows how to create a common PLG indicator, "number of users created per account," which requires SQL expertise. This indicator serves as a straightforward example of many other product signals that can be configured once the data stack is connected. This article is a high-level outline to show the strategy involved in connecting product data to a sales team. Each product has easy to follow documentation for all the technical steps of each connector but if you give it a try and feel like a technical walkthrough of setting up these systems would be helpful let me know and I can publish one.
Note: these products are just examples, there are alternatives to each but these all have free trials, low price monthly credit card plans with no contract and are easy to setup and highly scalable so I am comfortable recommending them for most use cases a startup or scaleup would have for years to come. In my experience, for startups that have their API keys/logins handy this can all be setup in as little as 2 hours but the first time through will likely be more like 6-12 hours. I don’t have a financial affiliation to any of these products other than that I use them myself and love the highly agile capabilities they offer my team.
Setup the Warehouse
Data warehouses are excellent at processing and distributing high quality data they are an absolute must for startups looking to scalably use behavioral customer data to drive business operations. To learn more about this check out my previous post on the topic!
The first step is to setup a warehouse to easily store data of any kind. As intimidating as this sounds it takes only 3 minutes on Snowflake and you’re ready to go. To run a daily batch sync of common product data for most startups under 10,000 customers will be under $150/mo in compute costs to get started and you can use a credit card with no large contract or sales process.
Create an account
That’s it… just create the account and a data warehouse is ready. It will only spend credits when a warehouse is actively processing a query and auto-suspend is enabled by default so no need to worry.
Load the Data
The next step is to load raw customer and usage data that the startup already has in it’s product database. ELT (short for extract, load, transform) providers like Fivetran and Airbyte make this incredibly easy with nearly zero maintenance.
They have prebuilt, no-code connectors to extract data from all common databases like PostgreSQL, MySQL, and SQL Server. They take only minutes to setup and flawlessly migrate and mirror data in the data warehouse.
Create an account
Connect to the Snowflake data destination
Connect to the product database source
Create a sync to send product data to Snowflake (at a minimum, select the users table for this example)
In addition to being able to load data directly from the product database they also have connectors to easily pull in data from hundreds of other systems like HubSpot, Salesforce, Iterable, Zendesk, Quickbooks or wherever else useful customer data lives. These and event streaming data will be topics in future posts on data activation!
Activate the Data
Sending Users to Salesforce
Now this is the fun part. Historically data was locked up inside the product database and the only way to get it in the hands of sales and marketers was through complex, hard to maintain custom integrations and webhooks that required engineers to build. But now that the data is in a modern warehouse it can be easily activated and sent and maintained in frontline systems that power the business by non-engineers.
Data activation providers (also known as reverse ETL since they extract data back out of the warehouse) like Census and Hightouch will connect directly to your data warehouse and handle the transfer of data to frontline systems like Salesforce, Google Ads, Iterable and Zendesk with no-code required. Just pick the fields from the product data in Snowflake and send it directly to Salesforce, in this case we’ll create or update new lead records with the data needed for sales to be successful.
Create an account
Connect the Snowflake data source
Connect the Salesforce data destination
Select the users table as a data model
Create a sync from the users table to the Salesforce lead (or contact) object and map the fields to send
This pipeline will automatically send all new users created in the product to Salesforce. No complex triggers in the product, no engineers, just field mapping.
Sending the Number of Users per Account to Salesforce
Create a new data model (SQL) to calculate the number of users per customer account (include the user email or id if that is stored in Salesforce)
Create a new field in Salesforce for number of users (on the contact, lead, or opportunity object the team uses)
Create a sync from the new data model to Salesforce with the owner email address as the identifier
Map the number of users metric to the new field in Salesforce
Done! The user count will now automatically update in Salesforce (or any other system you set up a sync for) moving forward. Now customers’ product behavior can be directly used to trigger alerts or actions directly n Salesforce. In the future we’ll dive into an even more powerful data activation strategy for PLG/PLS on how to instrument great streaming event data directly from the product.
As always, I'm eager to hear your thoughts and feedback on this topic!
Great practical article, Mark!
Your fellow CU colleague is following you 😊 and learning tons... keep it up 🔥
Wow, what a very thorough article. I didn’t realize how quick a startup or other company could go from random data to valuable insights. I’ll definitely be implementing this, especially adding in the ELT layer to smoothly get the data from Postgres to Snowflake.