Gtmhub enables you to design your OKRs so you no longer need to post manual updates. With dynamic Key Results, you connect your KR values to an insight and have the values updated automatically as the insight calculates. To take this concept one step further, you can filter your insights and then create dynamic KRs from them. Gtmhub ensures that the dynamic KR you create takes the filter into account, thus giving you even more flexibility.

Use case

Imagine you built an insight, that measures your team's performance in a certain area. Let's take technical documentation for example - you have an insight measuring how many articles you have produced since your product launch. In your team, there are three contributors to the documentation, and you want to set dynamic KRs to each of them regarding the number of articles they have to write for the Q.

Your first instinct might be to create 3 separate insights, that will have the Q dates hardcoded, and will most likely differ only by the documentation tasks assignee. Think twice, and follow this article to learn how you can use insightboard filters to achieve the same over your existing insight.

Filter insights and create the dynamic KR

To create a dynamic KR from a filtered insight you must follow these steps:

  1. Ensure your insight HTML supports creating dynamic KRs from it.
  2. Ensure your insight SQL support filtering
  3. Filter your insight
  4. Once you've applied your filters, create a dynamic KR from the desired insight value.

How it works

To understand why the above steps work, it's important to explain first how insightboard filters work. When you use a filter syntax (WHEN '%%param_name%%'...) in your insight SQL, this creates a placeholder. When you select a value for that filter from your insightboard, Gtmhub dynamically updates your insight SQL, replacing the '%%param_name%%' part with the actual value. This way once finished filtering, if you create a dynamic KR fro the insight value, this value will be based on a modified SQL, which includes the specific filter values. This enables you to apply different filter combinations and create dynamic KRs for each combination.

Did this answer your question?