CASE STUDY
Optimizing SaaS Customer Lifecycle with HubSpot and Chargebee Integration
Mapping Chargebee subscription events to precise HubSpot lifecycle stages for a multi-tier SaaS business
Project Overview
CONFIDENTIALITY NOTICE: This project is under a client confidentiality agreement. The client name has been withheld, and certain details have been generalised accordingly.
Cancellation Journeys Mapped
Guaranteed Lifecycle Path per Contact
Date-Based Threshold Logic
Cancellations Auto-Classified
The Client
A multi-tier SaaS platform offering both a free (Lite) product and paid subscription plans, with billing and subscription events managed through Chargebee. The client needed HubSpot's Lifecycle Stage property to accurately reflect where every contact actually stood trial, active customer, or churned — so that marketing, customer success, and revenue reporting could all trust the same field.
The Challenge
The client's customer base moved through several distinct journeys, trial users who cancelled before ever converting, paid customers who cancelled almost immediately, long-tenured customers who eventually churned, and free-tier users on entirely different lifecycle rules. Without automation built specifically around these paths, cancellations were landing contacts in the wrong lifecycle stage.
That single data problem cascaded into:
-
Marketing segmentation: win-back and nurture campaigns targeting the wrong audience.
- Churn reporting: trial drop-off and true customer churn blended into one inaccurate number.
- Customer success follow-ups: reps working stale or misclassified accounts.
- Win-back campaigns: triggered for contacts who were never actually paying customers
- Revenue analytics: lifecycle-stage-based reporting no longer matching actual subscription status
The root problem wasn't missing automation, it was automation that didn't reflect how the business actually defined a customer.
Our Approch
- Requirements Translation
Worked directly with the client's business rules and translated them into concrete HubSpot workflow logic, turning definitions like "early cancellation" or "Lite customer" into testable field conditions.
- Gap IdentificationCompared existing documentation against what was actually implemented in the portal, surfacing mismatches between intended lifecycle rules and live automation.
- Branch DesignDesigned workflow branches for each customer journey, using Chargebee subscription properties and HubSpot's previous-property-value tracking to detect the specific type of cancellation.
- Date-Based ValidationBuilt and tested relative date conditions (e.g., cancellation within N days of the customer start date) to reliably separate early cancellations from long-tenured churn.
- Single-Path GuaranteeEnsured branch conditions were mutually exclusive, so every contact resolved to exactly one lifecycle path eliminating the risk of two branches firing conflicting stage updates on the same contact.
The Four Cancellation Scenarios
Each journey needed its own branch logic, since "cancelled" meant something different depending on where the contact was in their subscription lifecycle.
Scenario 1: Trial Cancellation
Triggered when a user cancels during the trial period, before ever becoming a paying customer.
Branch logic:- Subscription Status (previous) = Trial
- Subscription Status (current) = Cancelled
Result: routed to a trial-churn lifecycle stage, excluded from customer win-back campaigns
Scenario 2: Early Paid Cancellation
Triggered when a paid customer cancels within the first 5 days of converting treated separately from long-term churn since it signals an onboarding or fit problem rather than dissatisfaction after use.
Branch logic:- Previous Subscription = Active
- Current Status = Cancelled
- Customer Start Date < 5 days ago
Result: flagged for onboarding review, routed to a distinct early-churn segment
Scenario 3: Free (Lite) Customer Cancellation
Triggered when a Lite / FS Connect free-tier user cancels, which follows different lifecycle rules than a paid cancellation.
Branch logic:- Subscription Type = Lite
- Previous Status = Active
- Current Status = Cancelled
Result: routed to a free-tier-specific lifecycle path, kept separate from paid churn reporting
Scenario 4: Established Customer Cancellation
Triggered when a long-tenured paying customer cancels outside the early-cancellation window — the true churn signal the business cares most about for retention analysis.
Branch logic:- Previous Subscription = Active
- Current Status = Cancelled
- Customer Start Date ≥ 5 days ago
Result: routed to standard churn/win-back workflows and counted in core churn reporting
Tools & Techniques Used
-
HubSpot Workflows with branching logic.
- Relative date conditions (e.g., "X days after customer start date").
- Chargebee subscription properties synced into HubSpot contact records
- HubSpot's previous-property-value tracking, to detect the specific status transition (not just the current state)
- Lifecycle Stage automation mapped one-to-one with business-defined customer journeys
Results
-
Every cancellation is now automatically classified into the correct journey — trial, early-paid, Lite, or established customer.
- Trial churn and true customer churn are cleanly separated in reporting for the first time.
- Each contact follows exactly one lifecycle path, removing the conflicting-update risk that caused the original data problems.
- Win-back and nurture campaigns now trigger only for the customers they were actually designed for.
- Customer success and sales teams work from lifecycle-stage data they can trust.
Why It Matters
Lifecycle Stage is one of the most load-bearing fields in a HubSpot portal, nearly every report, segment, and automation downstream assumes it's correct. Getting cancellation logic right isn't just a workflow fix; it's the difference between churn numbers the business can act on and numbers that quietly mislead every team relying on them.
About Code Accelerator
Code Accelerator is a HubSpot Solutions Partner agency specialising in CRM implementation, CMS/module development, RevOps consulting, and marketing automation for growing SaaS and service businesses. We translate business logic into reliable CRM automation, so the data every team depends on actually reflects reality.