Milestones are central to how PLG, and Variance, works. It’s a way for PLG companies to track the lifecycle of their customers based on their behavior. If you’re looking for more general information about getting started with PLG milestones, check out the guide on our blog.
Milestones are a way to track the activity of a Contact or Account. A milestone—like onboarded or product qualified lead (PQL)—will generally include some behavioral criteria such as users invited or actions taken, a threshold, and can also be windowed to a specific amount of time (in the last 30 days). Milestones are the best way to track the growth of your prospects and customers in a PLG world.
Technically, milestones are made up of four components:
Within Variance, you can have two sets of Milestones: Account Milestones and Contact Milestones. The former tracks the aggregate behavior of all users within an Account, and the latter just the individual users.
To create a Milestone you just go to Accounts > Milestones and click Create Milestone. From there you’ll see this interface:
A milestone is made up of what we call “criteria” which can be one or more sets of action+thresholds. You can see the components of a milestone as you start to build:
To add a threshold you hit refine:
And if you want to further filter it by the properties of the event, you can do that by hitting Add property filter.
If your milestone needs more than one criteria, you simply hit Add criteria to add an additional one.
Depending on how much data you have, backfilling your Milestones can take a bit of time. If you don't immediately see the Milestones accurately represented on your Accounts or Contacts don't worry, they will get there.
You can also include nested criteria in Milestones. This allows you to add an additional `or` group as a criteria. This allows you to create an `and` Milestone (all criteria must be completed) that also has an `or` filter.
Once you create Milestones, one of the first things you’ll likely want to do is order them so that they show in a logical way on your Accounts and Contacts. To do that you click the More Options (three-dot) menu on any Milestone and choose Reorder.
From there you’ll see this interface you can use to drag your Milestones into their correct order:
Once you’ve built out your Milestones, you can monitor them all over Variance. Either directly on the Accounts or Contacts, within lists, or through the Milestones interface.
You will see the Milestone indicator fill up as different criteria within the Milestone are fulfilled until it’s complete and you see the target icon.
Importantly for other functionality, you can also access this data as properties on Accounts or Contacts and it’s stored as a percentage. This means if you just want to see Accounts that are >50% through Product-Qualified Lead (PQL), you can do that by creating a view that filters on the PQL property with a `> 50%` filter.
We believe Milestones are a really great way to monitor the customer lifecycle, but it’s not just meant to be a thing you check in on. Critically, within Variance, you can also be notified when Milestones are completed and criteria are reached. You’ll find two new events in your Event Type list if you search for “milestone”:
You can use these Milestone events in streams to track the progress of your accounts. That means you could create a Stream, for instance, that is just My Accounts with Milestone Completed and Updated events so you can track progress. If you do that those events will show up in Variance and, if you’ve connected the Stream to Slack or are using it through Zapier, to those other systems as well. This becomes a really great way to consume Milestones outside Variance.
If you want to only follow specific Milestones you can do that as well by using the Milestone ID property. Just go to Milestone Completed/Updated Event Type > Properties > Milestone ID > Follow and you'll see this interface.
One very cool thing about the way Milestones work in Variance is that you can actually consume Milestones in other Milestones. What does this mean? If you want your Milestone to be dependent on another Milestone being reached, you can do that by adding a Milestone Completed criteria to your Milestone with `Milestone Name` set to match the Milestone you want to include as a dependency.