Other integrations
Account health scores & metrics
Sync your Stripe customers and their revenue data to Vitally in real time with our Stripe integration


Vitally's Stripe integration can be used to sync the following Stripe data into Vitally in real time:
  • Customers - Vitally can import your Stripe customers into Vitally as accounts. When done, we'll add a wealth of new Stripe-defined traits to your Vitally profiles, such as the expiration of the customer's credit card, the plans they are subscribed to, and much more!
  • Revenue data - Vitally also imports your historical paid invoices from Stripe so that you have immediate, accurate insight into the purchase history of every account in Vitally.

Enabling the Stripe integration

To enable the Stripe integration, navigate to Integrations -> Stripe in your Account Settings (get there via Quick Jump). When there, first click the Connect to Stripe button. That will redirect you to Stripe, where you'll need to grant Vitally access to your Stripe data. Once you do, you'll be redirected back to Vitally, where you'll be able to configure the integration.

Configuring how accounts between Stripe and Vitally should be 'linked'

Once you connect us to your Stripe account, the first option in Vitally displays the question "Do your Stripe customers have the primary ID of the account attached in metadata?" with 2 options - "Yes" or "No":
The "Yes" option (recommended)
The "No" option
As Vitally unifies your customer data from various sources, we need a way to 'link' the data stored by those sources together under the same account in Vitally. The most accurate way of doing that is by using the same "global ID" across all systems (which is usually the ID defined by your database), but different systems have different ways of specifying this ID. For example, in Segment, it is the first option passed when using analytics.group . In Intercom, it's the company_id field supported on their company object.
In Stripe, they have no way of natively specifying this ID. However, Stripe does have support for attaching arbitrary data to your accounts via a metadata field, and we recommend using that field to add each account's global ID to your Stripe customers.
If you can attach each account's global ID to your Stripe metadata, selecting "Yes" to the "Do your Stripe customers have the primary ID of the account attached in metadata?" question lets you select which field in your metadata contains that ID.
If you aren't already tracking each account's ID in your Stripe metadata, it may be a bit difficult to make the technical changes necessary to do so. If that's the case, you can select "No" to the "Do your Stripe customers have the primary ID of the account attached in metadata?" question.
Selecting "No" means we'll attempt to import an account's Stripe data using the email of the customer in Stripe. The process is pretty straightforward - once we get the customer from Stripe, we'll use the email attached to the customer to locate a user in Vitally with that email. If we find a user, we'll associate the subscription for that Stripe customer to the user's account in Vitally.
There are a few downsides to this option:
  • If you have multiple users in Vitally with the given Stripe email, we'll simply use the account associated to the first user with the email, which may or may not be the 'correct' choice.
  • If your Stripe emails aren't the same ones users sign up with (e.g. they are "[email protected]" emails), then we won't be able to attach the Stripe subscription to the right Vitally account.
  • We won't be able to import your Stripe customers and payment history until a user with the Stripe email exists in Vitally.

Handling customers with multiple Stripe subscriptions

If your Stripe customers have multiple subscriptions, just choose the "Yes" option to the question below:
Selecting "Yes" here defaults your trial, revenue, and churn tracking to use traits we'll attach to your accounts that identify the number of paying (the Subscription Paying Count trait) and trialing (the Subscription Trialing Count trait) subscriptions the account has in Stripe. We'll also default your MRR trait to one that totals revenue across all active subscriptions for each account.

More details about the Stripe integration

  • The Stripe integration works by initially importing all your existing customers as well as their past paid invoices.
  • Moving forward, we then listen for customer, subscription, and invoice changes using Stripe webhooks. If a customer or subscription is created, updated, or deleted in Stripe, we will handle that appropriately by creating, updating, or deleting (churning) the customer in Vitally. Additionally, if a Stripe invoice is paid, we will update the customer's MRR and renewal dates in Vitally.
  • Once you enable the Stripe integration, we will automatically adjust your revenue and churn tracking configuration to sync with Stripe. This means we will override any past configuration you had. If you'd rather that not happen, please reconfigure each after the integration is enabled. Note that if you have an existing trial tracking configuration, we will not override it. We do this because many teams choose to track trials internally, outside of Stripe.
  • All Stripe data is also attached to your Vitally customers as traits, giving you the ability to leverage that data in reports and Indicators.

Stripe account traits available in Vitally

When we import a customer from Stripe, we'll automatically add the below traits to your accounts in Vitally. Keep in mind that you can segment accounts by any traits, so you'll be able to run reports across all these fields below in Vitally πŸŽ‰
Account Balance
The current balance of the account in Stripe
Cancel At Period End
Whether the customer is canceling their subscription prior to the next renewal
Canceled At
The date the customer canceled their subscription
Card Expiration
The date the customer's primary card in Stripe is set to expire
The date the customer was created in Stripe
The currency used for the customer in Stripe
Current Period End
The date the customer's subscription is set to renew. Note that we'll automatically use this trait as your renewal trait in your Subscribed Customers configuration.
Current Period Start
The date the customer's subscription started
Current Subscription Status
Set to either trialing, paying, or canceled. We calculate this trait for you and use it to auto-categorize your customers as trials, subscribed, or churn in Vitally.
Customer Id
The ID of the customer in Stripe
Whether the customer has an overdue balance in Stripe
Discount Amount Off
The flat discount the customer applies to their balance, if applicable
Discount Duration In Months
The number of months the customer's discount is valid for, if applicable
Discount Id
The ID of the customer's discount, if applicable
Discount Name
The name of the customer's discount, if applicable
Discount Percent Off
The percentage discount the customer applies to their balance, if applicable
The email of the customer in Stripe
Last Invoice Id
The ID of the customer's last invoice in Stripe
Last Invoice Amount
The amount of the customer's last invoice in Stripe
The following traits are only set if you select that customers have multiple subscriptions in Stripe:
Subscription Ids
An array of IDs for every Stripe subscription the customer has
Subscription Status
The Stripe-defined statuses for the customer's Stripe subscriptions
Subscription Paying Count
The number of Stripe subscriptions with active revenue
Subscription Trialing Count
The number of Stripe subscriptions with an active trial
Subscription Amounts Total
The total sum of all the customer's Stripe subscription amounts
Last Invoice Ids
An array of IDs for the last invoice of each subscription
Last Invoice Amounts
An array of amounts for the last invoice of each subscription
All Mrr
The total MRR across all paying subscriptions for the customer
Last modified 2yr ago