Product-led growth (PLG) is sometimes shorthand for freemium, but there's another meaning that is more profound.
Product-led doesn’t mean a human can’t be involved; it just means the journey starts with the product.
There are a ton of articles on the internet about how to do PLG well. At CommandBar, we work with lots of companies — from brand-new startups to public companies — doing PLG. So we wanted to share a few tips based on what we’ve seen work well for our customers.
For this article, let’s assume you’re building software for car washes — ShineSpot. We intentionally chose a B2B example since PLG is less intuitive for B2B than B2C.
Step 1: Let your users pull
Salespeople are magic onboarding machines. They can learn about a prospect’s pain points, hopes, dreams, desires, and then guide the prospect straight to the features that matter most for that individual user. Imagine you’re a salesperson for ShineSpot. Someone signs up for a demo. You can ask them:
The answers to these questions give you an extraordinary amount of info you can use to help the prospect set up ShineSpot optimally. Didn’t like using our competitor because they didn’t have good dashboards? Let’s get started by setting up a dashboard in ShineSpot.
It’s harder to embed this guidance into the product itself. You can ask a user what software they’ve used before, but it’s going to be really hard to parse their response and magically surface the features that matter most. Of course, there are many things to try (some are described below) but a key principle of PLG is admitting openly that you will not be able to design a perfectly personalized onboarding for every user. You will inadvertently show users some stuff they don’t care about, and users will struggle to find some stuff they do care about.
Enter the concept of user pull. Many onboarding techniques proactively push content to the user — “take a tour”, “click on these glowing orbs”, “read this fun case study”. Pull means shifting the burden to the user to tell you what they’re trying to do in your product, and then serving up results. It’s the difference between Netflix recommendations and Netflix search results.
This is the basic principle behind CommandBar:
A new prospect signs up for ShineSpot and is poking around. They really care about good dashboarding. They don’t see how to create a new dashboard. They open the big searchbar at the top of the app and search “new management dashboard” and boom, the user sees:
The obvious benefit of enabling pull is you make it possible for users to find the stuff they’re interested in without having to read their minds.
Step 2: Leverage search logs
There’s also another secret benefit of enabling user pull: you can now actually read a user’s mind. When a user searches for something, they are telling you “I am interested in X”. You can then use this information to:
As mentioned, PLG doesn’t have to mean “No-human growth”. You can use a tool like Pocus to understand in-product behaviors that distinguish high-potential prospects and then direct sales energy towards those. Arming salespeople with deadend searches gives them something to go off of.
Imagine a ShineSpot prospect (someone from BigWashCo) uses HubSpot and really wants to integrate ShineSpot with HubSpot. So they open CommandBar and search for “hubspot integrtion”. ShineSpot doesn’t integrate with HubSpot so they don’t see any relevant results. That search is a deadend: a search that doesn’t end with a successful outcome.
Sally Sales is looking through promising accounts and sees BigWashCo and their deadend list. She can them reach out to BigWashCo and say “Hey, saw you might be interested in our HubSpot integration. We’re working on that now, can I add you to the beta?”.
Step 3: Keep users in-app
Because PLG product exploration happens on a prospect’s own time, it is susceptible to user distraction. A valuable account might fail to get to value quickly for reasons unrelated to the product. Maybe the user’s kids got sick and that cut short their session. Or maybe the user got distracted by some Youtube rabbithole.
Some of these factors are outside of ShineSpot’s control, but some aren’t. In general, distraction occurs whenever the user is led outside of the product. A ShineSpot prospect might want to check out a ShineSpot tutorial, so they open Youtube and search for ShineSpot. But Youtube’s dastardly good recommendations draw them into some unrelated rabbithole.
There are lots of potential offramps from an app that require the user to leave what they were doing and enter a new space. The most common examples are:
There are certainly benefits to sending users to a dedicated space, but in our view these only apply in a small minority of situations. If a user has a quick question about where to find a feature, they don’t need to enter “help center mode” and dig through multiple docs. They just want to get a quick answer and move on.
CommandBar helps users stay in-app by allowing them to access any type of content in-app. That includes help content and video content (see below). CommandBar also points users towards the most useful subsection of content that matches their query, whether that’s a sentence in a help doc or a video clip. This is useful for distraction avoidance but also contributes to user efficiency. A user can search for a topic they’re interested in, watch the 20 second clip of some tutorial video that answers their question, and get back to exploring.
When we talked to our customers about why they have a dedicated help center, they often mentioned the desire to nudge users to related pieces of content after they finish reading something. In CommandBar, product teams can configure the same types of next steps. So after a user watches a video, you can suggest they read a related article. Or even better, you can suggest they perform the action they were just learning about in the video.
Step 4: Push when appropriate
While we believe most onboarding strategies over-use push strategies, there is certainly a place for them. Say ShineSpot has several modules, and one module is much more complicated than the others and generates 90% of ShineSpot’s support requests. To combat this, ShineSpot has created a helpful explainer video that walks through the key features of the module. A new user lands on this page for the first time. It could make sense to try to get them to watch the explainer video instead of explore the page on their own and (likely) get lost.
Any action in CommandBar (help docs, videos, navigation commands, or quick actions) is nudgeable. You can make these nudges based on fine-grained criteria like:
You can also configure nudges based on more sophisticated criteria that CommandBar calculates for you, like:
Step 5: Allow upgrades at the point of aha
One of the most valuable actions a new user can take is an upgrade, that magical moment where a user decides something in your product deserves their or their company’s money. Often, this can happen when a user realizes they need to upgrade to unlock a feature.
A prospect is trying out ShineSpot and loving it to manage their branch. So they invite a few more people from BigWashCo to try it. After they invite 2 people, they’ve reached ShineSpot’s free tier limit.
This is the perfect time to get a user to upgrade. They want to do something that requires the upgrade. If you can give the user a <5 second path to upgrading in this moment, they are far more likely to do so than if you do something slower, like send them an email.
CommandBar has a command type called “Upgrade command”. These commands show up like normal commands (and can have synonyms or be recommended). When shown, they include a description of the feature, a description of the plan a user needs to upgrade to in order to include the feature, and a big upgrade button.
This is an example of “pull upgrades” — allow the user to upgrade right after they have pulled a feature that requires an upgrade. You can also combine Step 4 and Step 5 by nudging users towards upgrades at convenient moments.
These are some of the ways companies are using CommandBar to optimize a PLG strategy. If you want to see some live examples of how this works, check out CommandBar in Netlify, Freshworks, Shortcut, Courier, or ConvertKit.