Tracking your customers' subscriptions
View these docs to setup subscription tracking with your billing system (i.e Stripe, Recurly).
To enable revenue and renewal tracking, navigate to the Subscribed Customers section in Account Settings.
Step 1 - select how MRR is tracked
The first question asks you to select how each customer's revenue is identified in your data. There are 2 options:
- via a customer trait - Select this option if revenue is attached to customers as a trait when tracked with your analytics service - e.g. each customer has an
mrrtrait in Segment/Mixpanel.
- via an event - Select this option if you send an event when customers pay for your product - e.g. your analytics service sends a
Plan purchasedevent with a
priceproperty when a customer subscribes to a paid plan.
Step 2 - select data that identifies revenue
Depending on your choice in Step 1, you'll need to select the trait or event for your revenue data here:
- via a customer trait - Select the trait that specifies each customer's revenue - e.g. the
- via an event - Select the event sent whenever a customer is charged for your product - e.g. the
Plan purchasedevent. If you are using this option, you'll also need to select the property on the selected event that specifies the customer's revenue - e.g. the
Step 3 - define the condition that determines paid customers from trials (optional)
Sometimes, you may send revenue data even if the customer isn't paying you yet. For example, let's say this is your setup:
- A customer can view your available pricing plans and choose one to start a 30-day trial on
- When a customer starts their trial with their selected plan, you send a
Plan started event with 2 properties:
isTrial (set to true).
For trials converting to paid plans
- The trial can view your available pricing plans and select one to start paying for.
- When the customer submits their payment for their selected plan, you send a
Plan started event with 3 properties:
isTrial (set to false), and
In this scenario, your revenue setup will use events, with
Plan started specified as the revenue event and
planPrice as the actual revenue. But, trials aren't yet paying, so it's best to exclude them from revenue tracking until they actually convert to a paid plan (otherwise, your MRR will be inflated). To do that, you'd want to configure this step to only track customers where
isTrial is set to
Steps 4 & 5 - track the subscription period (optional)
If at all possible, we recommend tracking renewal dates alongside revenue. This way, you can use that data when filtering and creating Indicators (e.g. flag unengaged customers with a renewal in less than 7 days). So here, you'll want to identify the event properties or traits that track the start and end of a customer's subscription (if available).
Note: If a customer's renewal date passes without an update (e.g. we don't receive a new charge event), the customer will remain active in Vitally. In other words, they will not be marked as churned. We will, however, highlight these 'expired' renewal dates when viewing customers.
Step 6 - Monthly vs yearly subscriptions
This step simply allows you to specify whether revenue is always sent as MRR or as the value of the entire subscription period. If you select Total Subscription Period Cost here, we'll simply calculate a customer's MRR by dividing revenue values by 12 if the subscription period is longer than 1 month. If it is not, we won't modify the revenue value and will assume it is MRR.