PostHog Handbook Library / Growth

889 words. Estimated reading time: 4 min.

Product intents

Because PostHog offers so many products, and people sign up with all sorts of different needs, we track activation separately for each product.

To learn more about what activation is and how we measure it, check out this blog post.

To make sure we're measuring activation properly, we need to know when someone is interested in using a product. If we put everyone who signs up into the activation funnel for each product - without even knowing if they are actually interested in it - then we'd end up with a super large top of funnel, murky metrics, and a dismal activation rate for all products.

So instead of just putting all people into each activation funnel, we try to identify people who are interested in using a product. In other words, we identify people who show _intent_ to use a product, and we record these people (and the moment the intent happened) as events. These types of events are called _product intents_. The product intents mark the top of the funnel for each product's activation funnel.

Product intents are:

When should I start capturing product intents?

As soon as your product is in any sort of public beta you should start tracking product intents. This is _not_ because you should be hyper focusing on your product's activation numbers at this stage - instead it is so that we can start collecting data for later on when we want to determine a good activation metric.

So, collecting product intents should be a precursor to any sort of public release.

What makes a good product intent?

People click around in the UI a fair amount, so generally you want to find something sufficiently deep, or something that happens multiple times, before saying someone has shown intent. Here are a few examples:

Is the onboarding product intent good enough for my product?

Nope. Lots of people join PostHog with a single product in mind - and then later realize that we offer other products they also want to use. Each product should have product intents being recorded somewhere past onboarding, so they aren't missing out on data about these types of post-signup customers.

How do I use these product intent things?

Generally we've made the plumbing such that recording these product intents is quite easy.

  1. Figure out where you think the product intent event should happen.
  2. When someone clicks that button / views that page / does that thing, then simply call addProductIntent in the teamLogic. That fires off an API request that records the product intent in the database and sends the event for you. You don't need to send the event yourself - it's all handled.

It's worth noting that adding new product intents will impact your activation rates (e.g. an existing user intent might be stronger or weaker than an onboarding intent). If you are comparing activation rates historically, it might be worth filtering for intents that rarely change, such as "onboarding product selected".

Cross Sells

As well as understanding what actions users take when trying out a product, it's also useful to encourage users to try out other products that would be helpful for them. If you are using product analytics for example, session replay is a really helpful way to understand why a metric is what it is. If you are creating an onboarding funnel to understand your conversion, running an experiment to improve that conversion would be helpful.

We track cross-sells within the product using the same product intent framework. There is a helper for this in the teamsLogic called addProductIntentForCrossSell, which you can use to track cross sells. You can find these in analytics using the usual event for product intent (user showed product intent) and filtering by type=cross_sell.

Why does this matter?

It's important that we understand if people who are trying to use our product are actually successful in doing so. This is a likely imperfect, but better-than-nothing, way to do that. If people aren't having the success we'd expect for a mature product (ie no large feature gaps with competitors), then we should probably look into why - and this gives us a cohort of people to examine, talk to, and track.

Canonical URL: https://posthog.com/handbook/growth/growth-engineering/product-intents

GitHub source: contents/handbook/growth/growth-engineering/product-intents.md

Content hash: 6e2a3a6826f5869f