You have arrived at the web home of Noah Brier. This is mostly an archive of over a decade of blogging and other writing. You can read more about me or get in touch. If you want more recent writing of mine, most of that is at my BrXnd marketing x AI newsletter and Why Is This Interesting?, a daily email for the intellectually omnivorous.

November, 2021

A Guide to Building Milestones

Everything you need to get started building milestones for your product-led growth SaaS company.

Milestones make it easy for you to track a company’s progress from prospect to customer to heavy user of your product. Milestones share a lot in common with sales stages of old, but what makes them different is a) they’re based on the actual behavior of prospects and customers, b) they extend throughout the entire lifecycle (instead of just stopping at closed won), and c) they don’t handle state quite the same way (you can have completed more than one milestone, but you can’t sit in more than one sales stage).

Unlike sales stages, finding the right milestones for your organization probably won’t come from picking something off the shelf. So while we have some top-level milestones that we recommend considering to get started, the criteria for what makes a company a PQL or active customer will be almost entirely dependent on the nature of your product.

With that said, it’s helpful to dive into some general thoughts and advice on building milestones for your PLG product.

Step 1: Get to know the shape of your data.

While it’s tempting to jump straight into milestone building, you’re much better off getting started by understanding what we like to call the “shape of your data.” By that, we mean understanding what’s there, how it works, and how your customers are using the product at a more raw level. Milestones are a kind of abstraction, and generally, it’s a good idea to have your arms around the data before attempting to create abstractions on top of it. 

Here’s how I described it in a post titled “The Shape of Data”:

One conversation I find myself having frequently lately is about the “shape of data.” As we show new companies what we’re doing with Variance and talk to them about their customer and prospect data, I often talk about my own experience getting my arms around the data our marketing and product generates. We were pumping all our product data through Segment and then using various tools to catch that data and send it to Slack and elsewhere in various forms. As I got my hands dirty wiring all this stuff together, I got a real feel for what was moving through these pipelines and how to harness them to help drive growth.

Seeing the data in its raw form helped give me a better sense of its “shape” than any chart or score could have. To that end, I think many companies are chasing down the wrong goals when they seek the perfect chart or score before they understand what’s living underneath. There are two lessons in this story that are worth exploring: the value of tinkering and finding the right level of abstraction.

Just a week ago, I was on the phone with a customer who was building out their milestones and exactly articulated the value of this approach. By looking across users, CRM data, and actions, she was able to understand the real customer journey for her product (some of which was surprising). In the end, she found doing her own assessment far more valuable than just having a system try to spit out the answer.

How do you get to know the shape of your data? The answer, for better or worse, is just a bit of elbow grease. You have to really look at a mix of your customers—good and bad, early and late—and see how they’re using your product at the most granular level. What did they do first? What did they do before they converted? What didn’t they do before they dropped off? You can try to get all these answers out of a product analytics tool, but it’s hard to find until you know what you’re looking for. This is also where it can be helpful just to track customer activity in real-time. There’s no better way to understand the path a customer takes by seeing it happen in front of you.

Finally, if this makes you feel uncomfortable: that’s okay! Many of us have become used to the dashboards and charts. What I’ve generally seen is that once you start diving deep into your product’s data, you’ll see the patterns much more easily than you could when you’re just looking at bars or lines on a graph. Don’t be intimidated.

Step 2: Decide on your milestones.

Once you’ve gotten your arms around your data, you’re ready to start building out your milestones. Like most other things with startups, it’s better to start more general and get more specific as you learn more. Don’t try to boil the ocean (you’ll see this a few more times), just try to get yourself to a good starting space to understand where a company is in its journey with you and your product.

Capturing Milestones

A simple set of post-sign up milestones that we often recommend are:

  • Signed Up: any account that has signed up for your product. This one is straightforward, but you’ve got to start somewhere. 
  • Onboarded: what are the key actions you need a customer to take to consider them onboarded to your tool? This could be critical configurations or inviting users.
  • Product Qualified Lead (PQL): this should correlate with a customer who recognizes the value in your product. In Salesforce, for instance, it’s probably about creating a custom object. In Slack, it’s likely about reaching some message threshold, and in a product like Intercom, it might be having a certain number of conversations.
  • Transacted: this one is easy and important—the threshold between someone trying your product and buying it. For some products, it might be more than just buying it once, though. If you’re volume-based, transacted might be a volume threshold.
  • Active: this one can go by many different names if you want to keep your active definition separate from a milestone. It might be “steady state” or just “customer,” but fundamentally, it’s about accounts that are in good shape but not yet displaying the kind of expansion signals you’ll see in the following milestones.
  • Expansion Qualified Lead (EQL): finally, EQL represents those accounts that have taken actions to suggest they’re likely to expand. Just as a PQL is about reaching that initial aha moment, an EQL is about delivering deep value to the organization. For many organizations, the EQL is also when it makes sense to add sales support. 

A few things to consider when you’re thinking about milestones:

  1. As I said earlier, these aren’t stages: you can skip around and be active but not onboarded theoretically (though unlikely).
  2. For most B2B products, you’ll want to see this at the account level: one of the big gaps in most product-analytics tools is that everything is at the user level. However, if you run a B2B product, you’ll know that’s not always the most helpful view. While it’s undoubtedly important to dig into specific users of your product (especially identifying advocates), many B2B products don’t need a particular user to take an action, but rather look for actions to be taken from any user within a team or account. Take onboarding, for instance. It almost certainly doesn’t matter which user within the account connects an integration as long as the integration is connected.
  3. Finally, and I said this before: DON’T. BOIL. THE. OCEAN. You don’t need to map every nook and cranny of a customer journey before getting yourself started. Instead, give yourself a foundation to build upon.

Step 3: Spell out your criteria.

Steps two and three could kind of be combined, and it might make sense to reassess your milestones as you go through this step. But generally, what needs to happen is defining the criteria of completion for each milestone. In Variance and most other systems, milestone criteria will fit this pattern:

[Action] + {Filters *optional*} + (Threshold) + <Time Window *optional*>

If that’s hard to understand, here are a few examples:

  • [Invited User] (at least 3 times)
  • [Added Machine] {of size L or XL} (at least 2 times) <in last 60 days>
  • [Created Project] {with at least 3 users} (at least 1 time) <in last 30 days>

You always need the action and a threshold, and you can choose to add the optional filters and time window as it makes sense for your milestones and criteria. For each milestone, you need to decide what criteria you want to assign. If we go back to our example milestones, we can imagine what sort of criteria we might set.

Take Onboarded as an example. The criteria might be:

  • [Connected Data Source] (at least 1 time)
  • [Connected Data Destination] (at least 1 time)
  • [Invited User] (at least 1 time)

In other words, for a customer to be considered “onboarded,” they need to connect a data source, a data destination, and invite at least one user. 

Something like PQL will likely be a bit more complicated since that’s ultimately about you proving the value for the product. PQL criteria might be:

  • [Invited User] (at least 3 times)
  • [Created Milestone] (at least 3 times)
  • [Took any action] (at least 10 times) <in last 14 days>

What’s interesting about this milestone, and another way milestones differ from sales stages, is that customers can go backward. While in theory, this happens during sales stages, in practice, sales teams either lower the close probability or move the customer to closed lost. But if a customer once qualified as a PQL but then took no action in the last 14 days, they lose their PQL designation. And that makes sense! Things should be dynamic, and just because they haven’t taken action in the last 14 days doesn’t mean they are lost. It just means they’re not PQL.

Wrapping Up

Hopefully, this helps you get started with your milestones. If you aren’t sure where to start with milestones, we are doing a workshop on building milestones on December 1, 2021 @ 2pm eastern time. You can sign up here:

In addition, we have built out a simple milestone template in Google Sheets that you can copy and get started with.

A simple milestone worksheet

Happy milestoning!

Big thanks to Jean Lethuillier for the early read and comments.

November 15, 2021
Noah Brier | Thanks for reading. | Don't fake the funk on a nasty dunk.