Convert Free Users to Paying Customers in HubSpot (2024)
Learn how to convert free users to paying customers in HubSpot using product usage data, PQL scoring, and automated workflows. Practical playbook for RevOps teams.
Quick answer: Converting free users to paying customers in HubSpot requires syncing product usage data into your CRM, scoring users based on engagement signals, and triggering automated workflows when they hit conversion-ready milestones. The best approach combines real-time product events with HubSpot workflows - no warehouse needed if you use a direct integration like Zoody.
- Track the right signals - Feature adoption, usage frequency, limit approaches, team invites
- Build PQL scores - Weight engagement signals (recency, frequency, depth) in HubSpot properties
- Automate conversion workflows - Trigger emails and sales alerts when scores hit thresholds
- Route to sales strategically - High-value accounts get outreach, others stay self-serve
Why Product Usage Data Is Critical for Free-to-Paid Conversion
The biggest conversion opportunity in freemium SaaS sits in your product, not your marketing funnel. A free user who logged in 15 times last week and invited three teammates is worth 10x more than an MQL who downloaded a whitepaper. HubSpot doesn't see that behavior by default.
Most B2B SaaS companies run HubSpot as their CRM but track product usage in a completely separate analytics tool (Mixpanel, Amplitude, PostHog). Marketing and sales work from HubSpot contact records that show email opens and form fills, while the actual conversion signals - feature adoption, usage frequency, limit approaches - live in a tool only the product team checks.
This creates a blind spot. You score leads based on firmographic data (company size, industry) and behavioral data (website visits, email clicks), but those signals don't predict freemium conversion. A VP at a 500-person company who signed up and never logged in is a worse bet than a solo founder who uses your core feature daily.
The Problem with HubSpot-Only Data for Freemium Products
Traditional lead scoring in HubSpot weights demographic and engagement signals. You add points for job title, company size, email opens, content downloads. That works when conversion depends on awareness and education - classic marketing-led motion.
Freemium conversion depends on product value realization. A user converts when they experience enough value that continuing without payment feels worse than paying. You can't measure value realization from HubSpot properties like "Last email opened" or "Number of page views."
Here's what HubSpot sees without product data:
- Contact signed up 30 days ago
- Opened 2 emails
- Works at a 50-person company
- Job title: Product Manager
Here's what actually matters:
- Logged in 18 times in the last 7 days
- Created 12 projects (approaching the 15-project free tier limit)
- Invited 2 teammates last week
- Used 3 premium features during trial period
The second set of signals predicts conversion. The first set doesn't. Product-led growth companies need product signals in their CRM.
What Product Usage Data Reveals About Conversion Intent
Product behavior reveals buying intent better than any marketing touchpoint. When a free user hits specific usage patterns, their conversion probability spikes. These patterns are detectable and measurable.
High-intent signals for freemium conversion:
- Frequency: Daily active usage in the last 7 days
- Depth: Adopted 3+ core features, not just one
- Recency: Logged in within 24 hours
- Expansion signals: Invited teammates, requested permissions for features outside their plan
- Limit proximity: Used 80%+ of free tier allowance (projects, API calls, storage)
- Premium feature engagement: Clicked on or attempted to use paid-only features during trial
These are the signals that define a Product-Qualified Lead (PQL). Unlike an MQL, which measures marketing engagement, a PQL measures product engagement. PQL scoring models weight usage depth, frequency, and recency because those predict conversion and expansion revenue.
How to Sync Product Usage Events into HubSpot
Getting product data into HubSpot means tracking events in your app and syncing them to contact and company records. You need both event properties (what happened, when) and aggregate metrics (total logins this week, features used this month).
Product Events That Matter for Conversion
Not every product event predicts conversion. Track events that indicate value realization and buying intent. For freemium conversion, focus on:
Core feature adoption
- First use of your most valuable feature
- Repeated use of that feature (3+ times in 7 days)
- Adoption of secondary features (shows depth of engagement)
Usage frequency and recency
- Login count (daily, weekly, monthly)
- Days since last session
- Session duration (if meaningful in your product)
Limit-approach signals
- Percentage of free tier quota used (projects, seats, API calls, storage)
- First time hitting a plan limit
- Actions blocked by plan restrictions
Team expansion indicators
- Teammate invites sent
- New users added to workspace
- Permission requests or role assignments
Premium feature interest
- Clicks on upgrade CTAs in-app
- Attempts to use paid-only features
- Views of pricing or plan comparison pages
Track these as both timeline events (for visibility in HubSpot contact records) and as properties (for scoring and segmentation). A contact property like feature_adoption_score or days_since_last_login is queryable in HubSpot workflows and lists. Timeline events give sales context when they open a contact record.
How to Get Usage Data into HubSpot (Without a Data Team)
You have four main options for syncing product usage into HubSpot:
1. Native HubSpot API integration (custom-built) Write code in your app that calls the HubSpot Contacts API whenever a product event fires. This works if you have engineering capacity and want full control.
Downsides: ongoing maintenance, rate limits (100 calls per 10 seconds on Professional tier), engineering bottleneck for every new event you want to track.
2. Customer data platform (Segment, RudderStack) Send all product events to a CDP, configure a HubSpot destination. The CDP handles retries and rate limiting.
Downsides: adds cost ($120/mo+ for Segment), requires defining event schemas in two places (your app and the CDP), batch processing can delay data.
3. Reverse ETL (Hightouch, Census) Pipe product events into a data warehouse (Snowflake, BigQuery), transform them in SQL, sync the results to HubSpot.
Downsides: requires a data warehouse ($500+/mo), reverse ETL tool ($350+/mo), SQL skills, and ongoing pipeline maintenance. Setup time is weeks, not days. See Hightouch alternative for HubSpot for a comparison.
4. Direct product-to-HubSpot sync (Zoody) Zoody sits between your product and HubSpot, syncing events directly to contact and company records. No warehouse, no CDP, no custom code.
You instrument events in your app (or use an existing analytics SDK), point them at Zoody, and map which events/properties go to which HubSpot fields. Updates happen in real time. Pricing is flat-rate ($149/mo), not per-row.
For most RevOps teams managing freemium conversion, option 4 (Zoody) or option 2 (Segment) is the fastest path. Option 3 makes sense if you already have a warehouse and data team. Option 1 only if you have spare engineering cycles and want to own the entire pipeline.
Best Practices for Event Schema and Property Naming
Consistency matters. If your product team calls something project_created and your RevOps team calls it New Project in HubSpot, you'll spend hours debugging why workflows don't fire.
Use a naming convention and stick to it:
- Event names:
snake_caseorcamelCase, action-focused (user_logged_in,feature_activated,limit_reached) - HubSpot property names: Prefix product properties to separate them from marketing properties (
product_login_count,product_last_session_date,product_feature_score) - Event properties: Include context like
feature_name,plan_type,timestamp,user_id
Create a shared schema doc (Notion, Confluence, Airtable) that lists every tracked event, what triggers it, and which HubSpot properties it updates. This is your source of truth when building workflows.
Store aggregate metrics as HubSpot properties (rollup counts, scores, dates), not individual events. A property like total_logins_last_7_days is useful in workflows. Individual login events are useful in the timeline, but you can't easily query "contacts with 10+ logins this week" if logins are only timeline events.
Building PQL Scoring Models for Free Users in HubSpot
A Product-Qualified Lead is a free user who has demonstrated enough product engagement to indicate buying intent. Unlike MQLs, which measure top-of-funnel interest, PQLs measure actual product value realization.
What Makes a Free User 'Qualified' to Convert?
The threshold depends on your product and conversion model, but most freemium PQLs share three characteristics:
- Activation: They completed your core activation flow and experienced value (created a project, sent an email, ran a report).
- Engagement depth: They use multiple features, not just one. A user who only uses your free tier's most basic feature is less qualified than one who explores premium features.
- Frequency or limit proximity: They use the product regularly (daily or weekly) OR they're approaching a usage limit (80%+ of free projects, API calls, seats).
For example, a project management tool might define a PQL as:
- Created 3+ projects
- Logged in 5+ times in the last 14 days
- Invited at least 1 teammate OR used 10+ of their 15 free projects
That combination signals: they got value (projects created), they're engaged (login frequency), and they're either expanding (team invite) or hitting limits (capacity constraint).
Your PQL definition should map to conversion data. Pull a cohort of free users who converted in the last 90 days and analyze which usage patterns they shared in the 7-14 days before conversion. Those patterns become your PQL criteria.
How to Build a PQL Score in HubSpot
HubSpot's native lead scoring is designed for MQLs, not PQLs. It weights demographic and behavioral properties (job title, company size, email clicks). You need a separate PQL score based on product properties.
The simplest approach: a calculation property.
Step 1: Create product usage properties
Set up number properties for each signal:
product_logins_last_7_days(number)product_features_adopted(number, count of distinct features used)product_days_since_last_session(number)product_free_tier_usage_pct(number, percentage of quota used)product_teammates_invited(number)
These get updated by your sync pipeline (Zoody, Segment, custom API calls) whenever the underlying data changes.
Step 2: Build a weighted calculation property
Create a new number property called pql_score. Set it as a calculation property with a formula like:
(product_logins_last_7_days * 5) +
(product_features_adopted * 10) +
(product_teammates_invited * 20) +
(product_free_tier_usage_pct * 2) -
(product_days_since_last_session * 3)
Weights depend on what predicts conversion in your data. In this example:
- Each login in the last week adds 5 points
- Each feature adopted adds 10
- Each teammate invited adds 20 (expansion signal)
- Usage percentage adds 2 points per percent (80% usage = 160 points)
- Recency penalty: lose 3 points per day since last session
A highly engaged user (10 logins, 4 features, 1 invite, 90% usage, last session today) scores ~300. A dormant user (1 login, 1 feature, 0 invites, 10% usage, 10 days ago) scores ~15.
Step 3: Set thresholds and segments
Define score ranges:
- Hot PQL (200+): Route to sales immediately
- Warm PQL (100-199): Automated nurture with upgrade CTAs
- Engaged but not qualified (50-99): Feature adoption campaigns
- Low engagement (<50): Re-engagement or win-back flows
These thresholds become workflow triggers. For a deeper guide on workflow-based scoring, see how to build a PQL scoring model in HubSpot workflows.
Segmentation Strategy for Free User Cohorts
PQL scores are useful, but segmentation by behavior type gives you more targeting precision. Group free users by engagement pattern, not just score.
Power users (high frequency, high depth, not hitting limits yet)
- Daily active, adopted 4+ features, but only using 30-50% of free tier quota
- Likely to convert based on value, not necessity
- Nurture with feature education and case studies showing ROI
Limit-hitters (approaching or exceeding free tier caps)
- Used 80%+ of free projects, seats, API calls, or storage
- Likely to convert to remove friction
- Trigger urgency campaigns: "You're almost at your limit, upgrade to keep going"
Team expanders (inviting colleagues, assigning roles)
- Invited 2+ teammates in the last 30 days
- Shows buying intent (individual users don't invite teams unless they plan to stick around)
- Route to sales if company size or ARR is above threshold, otherwise automated team plan upgrade flow
Casual users (activated but low frequency)
- Completed activation, but login frequency dropped to <1/week
- Still engaged enough to re-activate
- Send feature highlight emails, use case examples, "You haven't tried X yet" campaigns
Dormant users (no activity in 30+ days)
- Signed up, maybe activated, then stopped
- Unlikely to convert without re-engagement
- Win-back campaigns, product update announcements, or archive from active nurture
Segment using HubSpot lists based on the product properties you're syncing. A "Power Users" list might filter on product_logins_last_7_days >= 5 AND product_features_adopted >= 3 AND product_free_tier_usage_pct < 80.
Creating Automated Conversion Workflows Based on Product Signals
Workflows automate the actions you'd take manually if you had time to watch every user's product behavior. When a user hits a milestone, HubSpot should respond - send an email, create a task for sales, update a lifecycle stage, trigger an in-app message.
High-Converting Workflow Triggers for Free Users
The best workflow triggers are specific product events or threshold crosses, not time-based. Instead of "7 days after signup," use "when product_pql_score becomes greater than 200" or "when product_free_tier_usage_pct becomes greater than 80."
Activation milestone triggers
product_activation_completedis true: Send welcome email with next-step guideproduct_features_adoptedbecomes 3: Highlight advanced features they haven't tried
Engagement threshold triggers
product_logins_last_7_daysbecomes greater than or equal to 5: Tag as "highly engaged," add to power user nurtureproduct_days_since_last_sessionbecomes greater than 14: Re-engagement email
Limit-approach triggers
product_free_tier_usage_pctbecomes greater than 75: "You're getting close to your limit" email with upgrade CTAproduct_free_tier_usage_pctbecomes 100: "You've hit your limit, upgrade to continue" (urgent, time-sensitive)
Expansion signal triggers
product_teammates_invitedbecomes greater than 0: If company size or revenue threshold met, create sales task; otherwise, email about team plansproduct_premium_feature_clicksbecomes greater than 2: Email highlighting premium plan benefits
PQL threshold triggers
pql_scorebecomes greater than 200: Create high-priority sales task, update lifecycle stage to PQL, enroll in conversion sequence- Lifecycle stage changes to PQL: Alert sales, add to "Hot PQLs" view, start 3-day conversion email drip
For a full list of essential PLG workflows, see 7 essential HubSpot workflows every product-led growth company needs.
Email Sequences That Drive Upgrades Without Being Pushy
Freemium conversion emails should feel helpful, not salesy. The best sequences teach users how to get more value while naturally surfacing the benefits of upgrading.
Limit-approach sequence (triggered when usage hits 75% of free tier quota)
- Email 1 (day 0): "You're getting close to your [projects/API calls/seats] limit. Here's what happens when you reach it, and how to upgrade if you need more."
- Email 2 (day 3): Case study or testimonial from a customer who upgraded at the same usage level
- Email 3 (day 7): "You're now at 90% of your limit. Upgrade in 2 clicks to avoid hitting the cap."
Feature-adoption sequence (triggered when user activates but hasn't used key features)
- Email 1: "You haven't tried [feature X] yet. Here's a 90-second video showing how [customer name] uses it to [outcome]."
- Email 2: "5 ways to use [feature Y] (one of them is only available on paid plans)."
- Email 3: "Unlock [premium feature Z] - here's what it does and why customers upgrade for it."
Power-user sequence (triggered when PQL score crosses threshold but user hasn't upgraded)
- Email 1: Social proof - "You're using [product] like a pro. Here's how [similar company] scaled with a paid plan."
- Email 2: ROI framing - "You've created [X projects], invited [Y teammates]. At your usage level, the Pro plan pays for itself in [time saved/revenue enabled]."
- Email 3: Offer a sales call or discount code for annual plans
Keep sequences short (3-5 emails), spaced 3-7 days apart. Stop the sequence if the user upgrades or if engagement drops (no logins in 14 days).
Combining In-App and HubSpot Touchpoints
Email works, but in-app messages convert better for freemium users who are already active in your product. Coordinate HubSpot workflows with in-app messaging tools (Appcues, Pendo, Intercom, or custom banners).
Example coordinated flow for limit-hitters:
- In-app banner (shown when user hits 75% of free tier): "You're using 12 of 15 free projects. Upgrade to Pro for unlimited projects."
- HubSpot email (triggered 24 hours later if no upgrade): Reinforce the same message with a case study
- In-app modal (shown when user hits 100% of free tier): Block action, show upgrade CTA
- HubSpot email (triggered immediately when limit hit): Urgent tone, time-limited discount if applicable
You can trigger in-app messages from HubSpot workflows if your messaging tool has an API (Intercom, Customer.io, others). Or trigger both from the same product event - send the event to both HubSpot (for email) and your in-app tool (for banner).
The goal: meet users where they are. Active users convert from in-app CTAs. Users who logged in once and left need email reminders.
Enabling Sales Outreach at the Right Moment
Not every freemium conversion should be self-serve. High-value accounts - large companies, enterprise buyers, high-usage signals - convert better with sales involvement. The trick is routing the right PQLs to sales without overwhelming them with unqualified users.
How to Identify Free Users Ready for Sales Conversations
Set firmographic and behavioral thresholds for sales-assisted conversion. A solo founder with 10 logins is probably self-serve. A VP at a 200-person company with 10 logins and 3 teammate invites is a sales opportunity.
Sales-qualified PQL criteria (example thresholds, adjust for your ICP)
pql_score>= 200 (highly engaged)- Company size >= 50 employees OR annual revenue >= $5M
product_teammates_invited>= 2 (team use case)- Job title contains "Director", "VP", "Head of", "Chief" (decision-maker or influencer)
If a contact meets all four, route to sales. If they meet engagement criteria but not firmographic criteria, keep them in automated conversion flows.
Create a HubSpot workflow:
- Trigger:
pql_scorebecomes greater than or equal to 200 - If/then branch: If company size >= 50 AND job title contains decision-maker keywords, create task for sales owner; otherwise, enroll in automated upgrade sequence
Building Sales Views and Alerts in HubSpot
Sales reps shouldn't have to hunt for high-intent free users. Build HubSpot views that surface them automatically.
Hot PQLs view (contacts)
- Filters:
pql_score>= 200, lifecycle stage is "Lead" or "PQL", company size >= 50 - Columns: Contact name, company, PQL score, last product login, features adopted, teammates invited
- Sort by: PQL score descending
Limit-Hitters view (contacts)
- Filters:
product_free_tier_usage_pct>= 80, lifecycle stage is not "Customer" - Columns: Contact name, company, usage percentage, date limit was hit
- Sort by: Usage percentage descending
Recently Active Free Users view (contacts)
- Filters:
product_logins_last_7_days>= 3, deal stage is not "Closed Won", lifecycle stage is not "Customer" - Columns: Contact name, company, logins last 7 days, PQL score
- Sort by: Last login date descending
Set up HubSpot notifications or Slack alerts when a contact enters the "Hot PQLs" view. Use a workflow:
- Trigger: Contact enters list "Hot PQLs"
- Action: Send Slack message to #sales-pqls channel with contact name, company, PQL score, and link to contact record
- Action: Create task for contact owner: "High-intent PQL - review product usage and reach out"
Sales now gets an alert the moment a free user crosses into sales-qualified territory, with full context on what they've been doing in the product.
Best Practices for Product-Led Sales Outreach
When a sales rep reaches out to a PQL, they have an advantage over cold outreach: context. The user is already using the product. The conversation isn't "Are you interested?" - it's "I see you're using X, here's how we can help you do more."
Use product behavior as conversation starters
- "I noticed you invited 3 teammates last week. Are you evaluating [product] for your team?"
- "You've created 12 projects and you're close to the free tier limit. I can walk you through our team plan options."
- "You clicked on [premium feature] a few times. That feature is available on our Pro plan - would it be useful for your workflow?"
Don't ask questions you already know the answer to Bad: "Are you using our product?" (You know they logged in 8 times last week.) Good: "I see you're using [feature] heavily. What's your workflow around that?"
Offer to solve a problem, not sell a plan
- "It looks like you're hitting the project limit. I can bump you to 50 projects temporarily so you're not blocked, and we can talk about a plan that fits your usage."
- "You've invited teammates but they can't access [feature] on the free plan. I can set up a trial of the team plan so you can test that workflow together."
Time your outreach to the buying moment Reach out when a user crosses a threshold (hits a limit, invites teammates, uses premium features), not randomly. A user at 95% of their free tier limit is in a buying moment. A user at 30% is not.
Coordinate with automated emails. If a user received a limit-approach email 2 days ago and didn't upgrade, a sales call offers a human alternative to the automated CTA. If they just signed up yesterday, they're not ready for sales.
For more on [automating PLG sales handoff in H
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.