How does Stripe work with HubSpot?

If your company uses Stripe for billing and HubSpot for your CRM, it can be confusing to understand how the two relate and can be connected.

Key Stripe Concepts that HubSpot Admins Should Understand:

1. HubSpot & Stripe are Different Things for Different Purposes

  • HubSpot ≠ Stripe: HubSpot is a Customer Relationship Management tool, while Stripe is a billing engine and subscription management system.
  • They serve different use cases and model customer data in very different ways.
  • Direct 1:1 syncing is not natively supported for subscriptions or tracking key metrics, such as recurring revenue (MRR/ARR) or net revenue retention (NRR).
  • Exporting meaningful data from Stripe is challenging, even for advanced operations and finance professionals.

2. Stripe’s Data Model is Complex

  • Subscriptions are living, breathing records that change over time.
    • They can be upgraded/downgraded (even mid-cycle) – products and plans can change, they can be refunded, the customer’s billing email can change. There’s a lot to capture.
  • In Stripe language, a “Customer” is represented by a single unique billing email address
  • In HubSpot language, a “Customer” is a HubSpot Company record
    • In reality, a HubSpot Company can have multiple active subscriptions, but they’re rarely related to each other in Stripe.

3. Stripe Events ≠ HubSpot Lifecycle or Deal Events

  • Stripe produces a prodigious amount of raw events that you could send into HubSpot via middleware like Zapier, but you need to transform them to make them meaningful, which is beyond HubSpot’s capabilities.
    • Although Stripe events sometimes sound alluring, they don’t cleanly map to customer lifecycle milestones, such as expansion or churn, the way that GTM leaders think about them.
  • HubSpot workflows often misinterpret Stripe webhook data (e.g., if you’re bringing in raw Stripe events via Make, Zapier, or a data warehouse) they can lack critical context from the many other related Stripe objects and records.
  • There is no straightforward way within Stripe, even via the current APIs, to pull MRR change events over time. Stripe’s MRR calculation also treats some scenarios in ways you might or might not want depending on how you have configured it.
  • The best way to try to make sense of MRR change data yourself currently is with custom SQL queries through Stripe Sigma (a Stripe add-on), which isn’t yet accessible via a public API.
Related:
Image without caption