How to Track Free Trial User Conversion in HubSpot Lifecycle Stages
Learn how to track free trial conversions in HubSpot with custom lifecycle stages, product data sync, automation workflows, and reporting dashboards.
Quick answer: Track free trial conversions in HubSpot by creating custom lifecycle stages (Free Trial, Activated Trial, Trial Converted, Trial Expired), syncing product usage data into contact properties, and automating stage transitions with workflows. The key is getting product signup and usage events into HubSpot so your automation knows when someone starts a trial, activates, or converts.
- Custom lifecycle stages - Add trial-specific stages to HubSpot's default lifecycle (takes 5 minutes in settings)
- Product data sync - Use Zoody ($149/mo), reverse ETL ($350+/mo + warehouse), or custom API integration (engineering required)
- Workflow automation - Set enrollment triggers based on product events, move contacts between stages automatically
- Conversion reports - Build dashboards tracking trial start to conversion rate, activation percentage, time-to-convert
The Problem: Why You Can't Track Trial Conversions in HubSpot Without Product Data
HubSpot's default lifecycle stages (Subscriber, Lead, MQL, SQL, Opportunity, Customer) were built for traditional B2B sales cycles. Someone downloads a whitepaper, marketing qualifies them, sales works the deal, they buy. That model breaks completely for product-led companies running free trials.
Why HubSpot's Default Lifecycle Stages Fall Short for Trials
The default stages have no concept of product usage. A contact can sign up for your free trial, use your product every day for two weeks, and convert to a paid plan - and HubSpot will still show them as "Lead" unless you manually update them. The stages track marketing and sales interactions, not what happens inside your product.
This creates a reporting black hole. Your trial-to-paid conversion rate lives in Stripe or your product database. Your sales team's pipeline lives in HubSpot. The two never connect, so you can't answer basic questions like "which marketing campaigns drive trials that actually convert" or "how many activated trial users are in the pipeline right now."
The Missing Link: Product Usage Data
HubSpot lives outside your product. It knows when someone fills out a form or opens an email. It doesn't know when someone signs up for a trial, completes onboarding, or uses a key feature. Without that product usage data flowing into HubSpot as contact properties and timeline events, any attempt to track trial conversions is guesswork.
The typical workaround is manual updates - sales reps change lifecycle stages when they hear someone converted, or marketing ops exports a CSV from your product database and imports it weekly. This creates stale, incomplete data. By the time HubSpot reflects reality, the trial is over and the conversion opportunity is gone.
You need real-time product events synced into HubSpot. When someone starts a trial in your product, that event should create or update their contact record immediately. When they hit activation milestones or convert to paid, HubSpot should know within seconds. Only then can lifecycle stages and workflows reflect what's actually happening. (See our guide on getting product usage data into HubSpot for a full breakdown of sync methods.)
Setting Up Custom Lifecycle Stages for Free Trial Conversion Tracking
Before you can automate anything, you need to define where trial users fit in your lifecycle progression. HubSpot lets you add custom stages between the defaults.
Recommended Trial Lifecycle Stage Structure
Add four stages after "Lead" and before "Opportunity":
- Free Trial - Contact signed up for a trial account but hasn't logged in or completed onboarding yet
- Activated Trial - User completed key activation steps (first login, core feature usage, onboarding milestones)
- Trial Converted - User upgraded to a paid plan during or after their trial period
- Trial Expired - Trial ended without conversion (useful for re-engagement campaigns)
This structure separates trial signups (volume metric) from activated trials (quality metric) from actual conversions (revenue metric). Most product-led companies see 40-60% of trial signups never activate, so collapsing "Free Trial" and "Activated Trial" into one stage hides where you're losing people.
Step-by-Step: Creating Custom Lifecycle Stages
- Go to Settings > Properties in HubSpot
- Search for "Lifecycle stage" property
- Click "Edit property" then "Edit options"
- Add your four custom stages in order (HubSpot shows them in the sequence you define)
- Set "Automatically set lifecycle stage" rules - contacts can only move forward through stages, never backward
- Save the property
Once saved, every contact record will show your custom stages in the dropdown. Existing contacts stay at their current stage until a workflow or manual update moves them.
Essential Custom Properties to Create
Create these contact properties to support trial tracking:
trial_start_date(Date picker) - When the trial begantrial_end_date(Date picker) - Scheduled trial expiration (typically trial_start_date + 14 or 30 days)trial_activation_status(Dropdown: Not Activated, Activated) - Whether user completed key onboarding stepstrial_conversion_date(Date picker) - When they upgraded to paidtrial_plan_type(Dropdown: Free, Starter, Pro, Enterprise) - Which plan they converted toproduct_engagement_score(Number) - Calculated score based on product usage frequency and breadth
These properties feed your workflows and reports. The date fields let you calculate conversion velocity. The activation status property determines when someone moves from "Free Trial" to "Activated Trial."
Getting Product Usage Data Into HubSpot (The Critical Step)
Custom lifecycle stages are useless if you can't populate them with real product data. You need a way to push events like "trial_started", "user_activated", "trial_converted" from your product into HubSpot contact records.
Traditional Approaches and Their Limitations
Native product analytics integrations exist for some tools (Segment, Mixpanel) but require those tools to already be tracking your events, and most don't offer real-time sync to HubSpot. You're still writing code to send events to the analytics tool, then configuring the HubSpot integration, then waiting for batch syncs.
Custom API integration means your engineering team writes code that calls the HubSpot Contacts API every time a relevant product event fires. This works but creates ongoing maintenance - API rate limits (100 calls per 10 seconds on Professional tier), error handling, retry logic, and keeping the integration updated as HubSpot's API changes. Engineering teams deprioritize this work because it doesn't ship product features.
Reverse ETL (Hightouch, Census) is the enterprise approach - dump product data into a warehouse, write SQL transformations, sync to HubSpot on a schedule (often hourly). This requires a data warehouse ($200+/mo), the reverse ETL tool ($350-$800/mo), and data engineering time to maintain pipelines. If you already have this stack for other reasons, it works. If you're setting it up just to track trial conversions, it's massive overkill. (Compare reverse ETL tools and when you don't need one.)
The Zoody Solution for RevOps Teams
Zoody exists because RevOps teams need product data in HubSpot without depending on engineering or building a full data stack. You install the Zoody SDK in your product (or use the API directly), define which events and properties matter for your trial lifecycle, and Zoody pushes them to HubSpot in real time.
When a user signs up for a trial, Zoody creates or updates their HubSpot contact with trial_start_date and any plan details. When they complete onboarding, Zoody updates trial_activation_status. When they convert, Zoody sets trial_conversion_date and the plan type. All of this happens within seconds of the event firing in your product.
The tradeoff: Zoody only works with HubSpot (not Salesforce, not multiple CRMs), and it doesn't replace your product analytics tool. Use Mixpanel or Amplitude to analyze user behavior. Use Zoody to get the subset of events that matter for sales and marketing into HubSpot. Cost is $149/mo for unlimited events and contacts on the Pro plan, no warehouse or engineering required.
Key Product Events to Sync for Trial Tracking
Track these events at minimum:
trial_started- User completed signup, trial account createdfirst_login- User authenticated for the first timeonboarding_completed- User finished your core activation flowkey_feature_used- User performed your product's core action (sent first campaign, ran first report, etc.)trial_converted- User upgraded to a paid plantrial_expired- Trial period ended without conversion
Each event should carry properties: user email (to match HubSpot contact), timestamp, plan details, and any context that helps scoring (company size, industry, feature used).
Automating Lifecycle Stage Progression with Workflows
Once product data is flowing into HubSpot, workflows move contacts through your trial lifecycle stages automatically based on their behavior.
Workflow #1: Moving Contacts to Free Trial Stage
Create a contact-based workflow:
Enrollment trigger: "Product event name is trial_started" (this assumes you're syncing product events as custom contact properties or timeline events - if using Zoody, the property is created automatically)
Action 1: Set lifecycle stage to "Free Trial"
Action 2: Set property trial_start_date to today's date
Action 3: Calculate and set trial_end_date (trial_start_date + 14 days, or whatever your trial length is)
Action 4: Send internal notification to SDR team with contact details
This workflow fires the moment someone signs up in your product. The contact moves from "Lead" (or gets created as "Free Trial" if they're new) and your sales team gets notified if the contact matches ICP criteria.
Workflow #2: Promoting to Activated Trial
Create a second workflow for activation:
Enrollment trigger: Lifecycle stage is "Free Trial" AND trial_activation_status is "Activated"
The activation status property gets set by a separate workflow listening for your product's activation events (onboarding completed, key feature used, etc.). You define activation criteria based on your product - maybe it's "completed onboarding and used feature X at least once" or "logged in on 3 separate days."
Action 1: Set lifecycle stage to "Activated Trial" Action 2: Send notification to sales rep (if contact is assigned) with activation details Action 3: Add contact to nurture sequence encouraging deeper product usage
This separation matters because your sales team should focus on activated trials, not every signup. If 50% of trial signups never activate, spamming sales with every signup dilutes their pipeline.
Workflow #3: Marking Trial Conversions
Enrollment trigger: "Product event name is trial_converted" OR trial_plan_type is known (not empty)
This workflow fires when someone upgrades to a paid plan. Your product sends the conversion event with plan details, Zoody pushes it to HubSpot, the workflow catches it.
Action 1: Set lifecycle stage to "Trial Converted"
Action 2: Set trial_conversion_date to today
Action 3: Create deal (if one doesn't exist) with deal stage "Closed Won"
Action 4: Associate deal with contact and company
Action 5: Send internal notification celebrating the conversion
Action 6: Remove contact from trial nurture sequences
Action 7: Enroll in post-conversion onboarding sequence
This is where HubSpot finally reflects revenue reality. The contact moves to "Trial Converted," a closed-won deal appears in your pipeline reports, and attribution tracking connects their original source to revenue.
Workflow #4: Managing Trial Expirations
Enrollment trigger: Lifecycle stage is "Free Trial" OR "Activated Trial" AND trial_end_date is in the past (more than 0 days ago) AND lifecycle stage is NOT "Trial Converted"
Use a scheduled workflow that runs daily to catch expired trials.
Action 1: Set lifecycle stage to "Trial Expired" Action 2: Send internal notification to sales (high-value expired trials might warrant a phone call) Action 3: Enroll in re-engagement email sequence offering extension or discount
This prevents contacts from sitting in "Free Trial" or "Activated Trial" forever after their trial ends. It also gives you a clean segment for win-back campaigns.
For a deeper dive into automating sales handoff specifically, see our guide on automating PLG sales handoff in HubSpot.
Building Trial Conversion Reports and Dashboards
Custom lifecycle stages and product data let you build reports that were impossible before.
Essential Reports to Build
Trial Conversion Rate Report Create a custom report:
- Object: Contacts
- Filters: Lifecycle stage is ever "Free Trial" (this captures everyone who started a trial, even if they've moved to other stages now)
- Breakdown: Lifecycle stage
- Metric: Count of contacts
This shows how many contacts started trials and what percentage reached each subsequent stage. HubSpot calculates the conversion funnel automatically. You'll see something like:
- Free Trial: 1,000 contacts
- Activated Trial: 600 contacts (60% activation rate)
- Trial Converted: 180 contacts (18% overall conversion, 30% of activated trials)
- Trial Expired: 820 contacts
Time to Conversion Report
- Object: Contacts
- Filters: Lifecycle stage is "Trial Converted"
- Metric: Average of "Days between trial_start_date and trial_conversion_date" (you'll need to create a calculated property for this)
- Breakdown by: Original source, industry, company size
This tells you which segments convert fastest. If enterprise trials convert in 5 days but SMB trials take 20, that changes your sales motion.
Activation Rate by Source
- Object: Contacts
- Filters: Lifecycle stage is ever "Free Trial"
- Breakdown: Original source
- Metric: Percentage where lifecycle stage became "Activated Trial"
Shows which marketing channels drive trials that actually use the product vs. tire-kickers who never log in.
Creating a Trial Performance Dashboard
Build a dashboard with these widgets:
- Trial signups this month (count of contacts entering "Free Trial" stage)
- Current active trials (count where lifecycle stage is "Free Trial" or "Activated Trial" and trial_end_date is in the future)
- Trial conversion rate (percentage of trial signups that reached "Trial Converted," 30-day rolling window)
- Activation rate (percentage moving from "Free Trial" to "Activated Trial")
- Average time to activation (days between trial_start_date and entering "Activated Trial" stage)
- Revenue from trial conversions this month (sum of deal amounts where associated contact lifecycle stage is "Trial Converted")
- Top converting traffic sources (original source with highest trial-to-paid percentage)
Update this dashboard weekly in your RevOps sync. It surfaces problems fast - if activation rate drops from 60% to 40%, something broke in your onboarding flow. If time-to-activation doubles, your product got more complex.
Segmenting by Trial Source and Activation Patterns
Create saved filters (Lists in HubSpot):
- "High-intent trials" - Activated within 24 hours, used 3+ features
- "Stalled trials" - Free Trial stage for 7+ days, no activation
- "Expiring soon" - Active trial, trial_end_date is 1-3 days from now, not yet converted
- "Product-qualified leads" - Activated Trial, engagement score above threshold, company size matches ICP
These lists become audiences for targeted campaigns. Your SDRs work the "high-intent trials" list. Marketing runs a "finish activation" campaign to the "stalled trials" segment. Sales calls "expiring soon" contacts who look like good fits.
If you're scoring trial users based on product usage, read our guide on scoring free trial users in HubSpot for detailed scoring models.
Common Pitfalls and How to Avoid Them
Duplicate contacts with different trial records. If someone signs up with a personal email, then signs up again with a work email, you get two contact records in HubSpot unless you're deduplicating on another field (domain, phone). Use HubSpot's duplicate management settings to auto-merge based on email domain, and make sure your product sends a consistent user ID with every event.
Not defining activation clearly. If "Activated Trial" means "logged in once," the stage is meaningless. Define activation as completing your product's core workflow - the behavior that correlates with conversion. This requires analyzing your existing trial cohorts in your product analytics tool first. Most B2B SaaS products see conversion rates 5-8x higher among users who complete specific activation milestones vs. users who just signed up.
Forgetting trial extensions. Some users ask for more time. If you manually extend trial_end_date in Stripe or your product database, make sure that update syncs back to HubSpot or your "trial expired" workflow will fire anyway. Build a product event for trial extensions and sync it like other events.
Over-complicating stages. Don't create 10 trial substages ("Trial - Day 1", "Trial - Day 3", "Trial - Activated - Power User"). You'll spend more time maintaining workflows than getting value from reports. The four-stage structure (Free Trial, Activated, Converted, Expired) covers 90% of use cases.
No data hygiene audits. Run a monthly report checking for contacts stuck in "Free Trial" stage for 60+ days, or contacts in "Trial Converted" with no associated deal. These are signs that workflows aren't firing or product events aren't syncing properly. Fix the automation, then bulk-update the contacts to correct stages.
Understanding how lifecycle stages work for product-led growth helps you design a system that scales as your trial program grows.
FAQ
How do I track user activity in HubSpot?
Sync product usage events from your application into HubSpot as custom contact properties or timeline events. Use an integration tool like Zoody (for real-time sync without engineering), reverse ETL if you have a data warehouse, or build a custom API integration. Once events flow into HubSpot, workflows can act on them and reports can surface usage patterns.
What are the stages of the HubSpot sales cycle?
HubSpot's default lifecycle stages are Subscriber, Lead, Marketing Qualified Lead (MQL), Sales Qualified Lead (SQL), Opportunity, Customer, Evangelist, and Other. For product-led companies running free trials, you should add custom stages like Free Trial, Activated Trial, Trial Converted, and Trial Expired between Lead and Opportunity to track product usage milestones.
What are the 5 stages of the customer lifecycle?
The traditional five stages are Awareness, Consideration, Purchase, Retention, and Advocacy. In product-led growth models, the journey often follows: Awareness (heard about your product), Trial Signup (trying it), Activation (using core features), Conversion (paid customer), Expansion (upgrading or buying more). Each stage requires different data and automation in your CRM.
Can HubSpot track product usage for free trial conversions?
HubSpot can track product usage if you sync product event data into contact records. HubSpot itself doesn't see what happens inside your application - you need
Compare alternatives
- Zoody vs Hightouch- without the warehouse layer
- Zoody vs Census- skip the dbt models
- Zoody vs HubSpot Operations Hub- $7,800/yr cheaper for the one feature
Explore use cases
- PQL scoring in HubSpot- score on real behavior
- Free trial conversion- time-decay + triggers
- PLG sales handoff- AE Slack alerts in under a minute
Try it on your own HubSpot
Zoody is in beta, so every feature is free right now. Connect your HubSpot, put real product signals on your records, and work directly with the founder.