HubSpot CRM Setup for B2B SaaS PLG Companies: Complete Guide
Learn how to set up HubSpot CRM for PLG companies. Get product data synced, configure lifecycle stages, build PQL scoring, and optimize deal pipelines.
Quick answer: Setting up HubSpot CRM for PLG companies requires syncing product usage data into HubSpot, configuring PLG-specific lifecycle stages, building PQL scoring based on usage signals, and automating sales handoffs. The biggest challenge is getting product data out of your app and into HubSpot - most PLG companies either build custom integrations, use reverse ETL tools like Hightouch or Census, or use purpose-built solutions like Zoody that sync product events directly to HubSpot without a data warehouse.
- Product data sync - Zoody, reverse ETL (Hightouch/Census), or custom-built API integration
- Lifecycle stages - Customize for PLG: Subscriber → Trial User → Activated User → PQL → Opportunity → Customer
- PQL scoring - Combine feature adoption, usage frequency, team size, and collaboration signals
- Deal pipelines - Separate pipelines for self-serve conversion, expansion, and enterprise sales
- Workflows - Automate PQL alerts, expansion plays, churn risk detection based on product signals
The #1 Challenge PLG Companies Face with HubSpot CRM Setup
Most B2B SaaS companies running a product-led growth motion hit the same wall when setting up HubSpot: your product usage data lives in your application database or analytics tool, not your CRM. HubSpot knows when someone fills out a form or opens an email, but it has no idea that Sarah from Acme Corp just invited 12 teammates, configured SSO, and ran her first export - the exact signals that indicate she's ready to buy.
This creates a massive blind spot. Your sales team sees contacts and companies in HubSpot, but they don't know who's actually using the product, what features they've adopted, or when usage patterns indicate buying intent. Meanwhile, your product analytics tool (Mixpanel, Amplitude, PostHog, etc.) shows beautiful usage dashboards, but that data never makes it to the people who need to act on it.
Why Traditional HubSpot Setup Fails for PLG
Every HubSpot setup guide assumes a sales-led motion: marketing generates leads through forms and ads, sales qualifies and closes them, customer success manages accounts. This framework doesn't work when your product is the primary acquisition and qualification channel.
Traditional lead scoring looks at demographic data (company size, job title) and engagement signals (email opens, content downloads). But for PLG companies, the strongest buying signals come from product behavior: feature adoption, usage frequency, collaboration patterns, approaching plan limits.
Standard lifecycle stages (Subscriber → Lead → MQL → SQL → Opportunity → Customer) don't map to the PLG funnel. You need stages that reflect the product journey: free signup → activation → active usage → product-qualified → sales conversation → paid customer.
The Product Data Gap: What You're Missing
Without product usage data in HubSpot, you can't:
- Identify which free users are actually good-fit customers showing buying intent (PQLs)
- Trigger expansion plays when teams grow or hit usage limits
- Personalize outreach based on which features someone has adopted
- Route high-value accounts to sales at the right moment
- Score accounts by product health for customer success prioritization
- Build accurate conversion funnels from signup to revenue
RevOps managers running PLG companies need HubSpot to be a single source of truth that combines product usage, sales activity, and customer data. That only works if product signals flow into HubSpot in real time.
Prerequisites: What You Need Before Setting Up HubSpot for PLG
Before you start configuring HubSpot for product-led growth, make sure you have these pieces in place:
Required HubSpot Features for PLG
You need HubSpot Professional or Enterprise tier. The Starter tier doesn't include the features required for PLG automation:
- Custom properties (to store product usage data)
- Workflows with complex triggers and branching logic
- Custom reports and dashboards
- API access (if building custom integrations)
- Multiple deal pipelines
- Calculated properties (for real-time scoring)
Most PLG companies need Professional ($800/mo for 2,000 contacts) or Enterprise ($3,600/mo for 10,000 contacts). If you're on Starter, you'll hit limitations immediately.
Mapping Your PLG Funnel
Write down your actual user journey before touching HubSpot. Define each stage clearly:
- Signup - User creates account (free trial, freemium, or waitlist)
- Activation - User completes core setup actions that indicate they "got" the product (invited team, connected integrations, completed first workflow)
- Active usage - User returns regularly and uses core features
- Product-qualified - Usage signals indicate strong buying intent (team collaboration, approaching limits, power user behaviors)
- Sales conversation - Rep engages, trial extension or demo scheduled
- Paid customer - Subscription active
Your stages might differ. A data pipeline tool might define activation as "first successful data sync." A collaboration tool might use "first team invite." The key is having clear, measurable definitions before building automation.
Also identify your key usage signals that indicate buying intent:
- Feature adoption milestones (SSO configured, API used, exports run)
- Usage frequency (daily active, weekly sessions)
- Team size (seats occupied, invites sent)
- Engagement depth (number of workflows created, integrations connected, data volume processed)
- Plan limit proximity (80% of free tier used, hitting rate limits)
Write these down with specific thresholds. "Active user" means what exactly? 3+ sessions per week? 5+ actions per session? You'll need these definitions for scoring and automation.
Step 1: Getting Product Usage Data Into HubSpot
This is the hardest part and the most critical. You have three options.
The Three Ways to Sync Product Data
Option 1: Build a custom integration using HubSpot's API
If your engineering team has bandwidth, you can build a service that pushes product events to HubSpot via the Contacts API and Companies API. When a user completes an action in your product, your backend makes an API call to update their HubSpot contact record.
Pros: Full control, no third-party costs Cons: Engineering time (2-4 weeks to build, ongoing maintenance), HubSpot API rate limits (100 calls per 10 seconds on Professional), error handling and retry logic, monitoring and alerting
Most PLG companies start here, underestimate the complexity, and then look for alternatives after the custom integration becomes a maintenance burden.
Option 2: Reverse ETL from your data warehouse
If you already have a data warehouse (Snowflake, BigQuery, Redshift), you can use a reverse ETL tool like Hightouch (starts at $350/mo) or Census (starts at $400/mo) to sync product usage data from the warehouse to HubSpot.
This approach requires:
- Data warehouse infrastructure ($100-$1,000+/mo)
- Event tracking piped into the warehouse (Segment, RudderStack, or custom)
- SQL knowledge to write sync queries
- dbt models or warehouse tables that aggregate usage metrics
- Engineering support to maintain the pipeline
Pros: Works if you already have warehouse infrastructure, flexible for complex data models Cons: Expensive ($500-$1,500/mo total), slow setup (4-8 weeks), requires SQL and data engineering, sync lag (typically 15 minutes to 1 hour)
This is the right choice if you're a larger PLG company with strong data infrastructure. But most RevOps managers don't have a data warehouse or the engineering support to maintain it.
Option 3: Use Zoody to sync product events directly to HubSpot
Zoody is built specifically for RevOps managers who need product usage data in HubSpot without engineering work or warehouse infrastructure. You send product events from your app to Zoody's API (one line of code), and Zoody syncs them to HubSpot contact and company records in real time.
Setup:
- Install Zoody's tracking snippet or use the API (similar to how you'd instrument Mixpanel or Segment)
- Connect your HubSpot account (OAuth, takes 30 seconds)
- Map which events and properties to sync to HubSpot
- Zoody handles rate limiting, retries, deduplication, and keeps records updated
Pros: No warehouse required, fast setup (minutes not weeks), real-time sync, built for RevOps teams, flat-rate pricing ($149/mo Pro, no usage-based fees) Cons: Only works with HubSpot (not multi-CRM), doesn't replace your product analytics tool (it complements Mixpanel/Amplitude)
This is the fastest path for most PLG companies. You still need to track events somewhere (either with Zoody's SDK or by piping events from your analytics tool), but you skip the warehouse and reverse ETL complexity.
Essential Product Properties to Create in HubSpot
Once you have a sync method, create these custom properties in HubSpot to store product usage data:
Contact-level properties:
product_signup_date(date) - When user created accountproduct_activation_date(date) - When user completed activation milestonelast_active_date(date) - Most recent product login or activitytotal_sessions(number) - Lifetime session countsessions_last_7d(number) - Sessions in past weeksessions_last_30d(number) - Sessions in past monthfeatures_adopted(number) - Count of features user has triedkey_feature_used(checkbox) - Has user completed your core actioncurrent_plan(dropdown) - Free, Trial, Pro, Enterpriseteam_role(dropdown) - Owner, Admin, Memberpql_score(number) - Product qualification score (0-100)
Company-level properties:
account_created_date(date) - First user signup from this domaintotal_seats_occupied(number) - Active users from this accounttotal_seats_invited(number) - Total team size including pending invitesaccount_mrr(number) - Current MRR if paid customerplan_limit_usage_pct(number) - Percentage of plan limits usedintegrations_connected(number) - Count of integrations activeaccount_health_score(number) - Usage health metric (0-100)expansion_opportunity(checkbox) - Flagged for upsell based on usage
Use single-line text for IDs, checkboxes for binary flags, dropdowns for categorical data, and number fields for metrics. Date properties let you build time-based reports and workflows.
Contact vs Company Properties: Where to Store Product Data
Store individual user behavior (sessions, feature adoption, last active) on contact records. Store account-level metrics (team size, integrations, plan usage) on company records.
Many PLG products have multiple users per account. HubSpot's contact-to-company association lets you roll up individual usage into account-level signals. For example:
- Contact property
sessions_last_30don each user - Company property
active_users_last_30dcalculated from associated contacts - Workflow that counts contacts where
sessions_last_30d > 0and updates the company property
This approach gives sales reps visibility into both individual champions and overall account health.
Step 2: Configure Lifecycle Stages for PLG Motion
HubSpot's default lifecycle stages assume a linear sales process. PLG companies need stages that reflect the product journey.
PLG-Specific Lifecycle Stage Framework
Replace HubSpot's default stages with these:
- Subscriber - Signed up for mailing list or waitlist, but not yet a product user
- Trial User - Created product account, not yet activated
- Activated User - Completed activation milestone, actively using product
- Product Qualified Lead (PQL) - Usage signals indicate buying intent
- Opportunity - Sales engaged, deal created
- Customer - Paying subscription active
- Evangelist (optional) - Power user, referral source, case study candidate
To configure these in HubSpot:
- Go to Settings → Properties → Contact properties
- Find "Lifecycle stage" property
- Edit the dropdown values to match your PLG stages
- Set up stage order (prevents regression)
Set "Subscriber" as your starting stage for all new contacts. Users who sign up for your product should immediately move to "Trial User."
Workflows for Automated Lifecycle Progression
Build workflows to move contacts through stages based on product signals:
Workflow 1: Subscriber → Trial User
- Trigger: Contact created with
product_signup_dateis known - Action: Set lifecycle stage to "Trial User"
Workflow 2: Trial User → Activated User
- Trigger:
product_activation_dateis known ORkey_feature_usedis true - Action: Set lifecycle stage to "Activated User"
Workflow 3: Activated User → PQL
- Trigger:
pql_score≥ 70 (or your threshold) - Action: Set lifecycle stage to "Product Qualified Lead", create internal notification for sales, optionally create deal
Workflow 4: PQL → Opportunity
- Trigger: Deal created and associated with contact
- Action: Set lifecycle stage to "Opportunity"
Workflow 5: Opportunity → Customer
- Trigger: Deal stage moves to "Closed Won"
- Action: Set lifecycle stage to "Customer"
Handling Self-Serve Signups vs Sales-Assisted Deals
Many PLG companies have two paths:
- Self-serve: User signs up, activates, upgrades to paid plan via product checkout (no sales involvement)
- Sales-assisted: User signs up, hits PQL threshold, sales engages, closes deal
Handle both by adding a branch in your PQL → Opportunity workflow:
- If
current_planchanges from "Free" to "Pro" (self-serve upgrade), move directly to Customer lifecycle stage - If sales rep creates a deal, move to Opportunity stage
This prevents self-serve customers from getting stuck in "PQL" stage when they've already converted without sales involvement.
Step 3: Build PQL Scoring Based on Usage Signals
Traditional lead scoring uses demographic and engagement data (company size, job title, email opens, form submissions). Product-qualified lead scoring focuses on usage behavior.
What Makes a Product-Qualified Lead
A PQL is a free user showing strong buying signals based on how they use your product:
- High engagement - Frequent sessions, returning multiple times per week
- Feature adoption - Using core features or advanced capabilities
- Team collaboration - Inviting colleagues, multiple users from the same company
- Approaching limits - Close to free plan caps (usage limits, seat limits, storage limits)
- Integration depth - Connecting external tools, configuring advanced settings
- Good-fit signals - Company size, industry, use case aligns with ICP
The strongest PQLs show multiple signals simultaneously. Someone who logs in daily, has invited 5 teammates, connected 3 integrations, and is at 85% of their free tier limit is much more qualified than someone who just hits one threshold.
HubSpot Score Property Configuration
Create a custom number property called pql_score (0-100 scale). Then build a workflow that calculates the score based on product usage properties.
Workflow: Calculate PQL Score
Trigger: Contact property changes (any of your product usage properties)
Actions (conditional branches adding points):
- If
sessions_last_7d≥ 3, add 15 points - If
sessions_last_7d≥ 7, add 25 points (replaces previous) - If
features_adopted≥ 3, add 10 points - If
features_adopted≥ 5, add 20 points (replaces previous) - If
key_feature_usedis true, add 15 points - If
team_roleis "Owner" or "Admin", add 10 points - If company property
total_seats_occupied≥ 3, add 15 points - If company property
total_seats_occupied≥ 10, add 25 points (replaces previous) - If company property
plan_limit_usage_pct≥ 60%, add 10 points - If company property
plan_limit_usage_pct≥ 80%, add 20 points (replaces previous) - If company property
integrations_connected≥ 1, add 5 points
Final action: Set pql_score to calculated total
This gives you a dynamic score that updates whenever product usage changes. Adjust point values based on which signals correlate with conversion in your data.
Usage Signals That Indicate Buying Intent
These product behaviors are the strongest conversion predictors across PLG companies:
Team growth: When a single user invites colleagues, it signals organizational adoption. Companies that go from 1 to 3+ users convert at 5-10x higher rates than solo users.
Usage frequency: Daily or near-daily usage indicates the product is becoming part of someone's workflow. Weekly users convert at 3-4x the rate of monthly users.
Power features: Using advanced features, API access, or admin controls indicates a sophisticated user who needs more than the free tier offers.
Limit proximity: Users at 70-90% of plan limits are actively feeling the constraint. They're primed for upgrade conversations.
Integration connections: Connecting external tools shows commitment and stickiness. Each integration increases switching costs.
Data volume: High usage (number of records, API calls, projects created) indicates meaningful adoption.
Track which of these signals exist in your product and weight them according to your historical conversion data. If you don't have conversion data yet, start with equal weighting and adjust after 30-60 days.
Setting Your PQL Threshold
Start with a threshold of 70/100. When pql_score reaches 70, trigger a sales alert and move the contact to PQL lifecycle stage.
Over time, analyze your conversion rates by score band:
- 70-79: X% convert to paid
- 80-89: Y% convert to paid
- 90-100: Z% convert to paid
Adjust your threshold based on sales capacity. If your team is overwhelmed with PQLs, raise the threshold to 80. If they need more pipeline, lower it to 60.
Also segment by fit: a score of 75 from an enterprise account is more valuable than 85 from a small team. Add demographic scoring (company size, industry) to your calculation if you want a blended score, or keep them separate and use both in routing logic.
Step 4: Design Deal Pipelines for Freemium-to-Paid Motion
PLG companies need different deal pipelines than traditional SaaS sales. Create separate pipelines for each motion.
Three Pipeline Structure for PLG Companies
Pipeline 1: Self-Serve Conversion
Use this for users who upgrade via product checkout without sales involvement. Stages:
- Trial Started - Free trial activated
- Activated - Completed onboarding, using product
- Upgrade Intent - Viewed pricing page, started checkout flow
- Closed Won - Paid subscription active
- Closed Lost - Trial expired without conversion
This pipeline mostly tracks automated conversion funnels. You might not create deals manually - instead, use workflows to auto-create deals when someone starts a trial, then automatically move them through stages based on product events.
Pipeline 2: Expansion / Upgrade
Use this for existing customers upgrading plans, adding seats, or buying additional products. Stages:
- Expansion Qualified - Usage signals indicate upsell opportunity
- Outreach - CSM or AE contacted customer
- Proposal Sent - Quote or upgrade options shared
- Negotiation - Discussing terms, pricing, contracts
- Closed Won - Expansion revenue booked
- Closed Lost - Passed on expansion
This pipeline lets customer success and account managers track upgrade opportunities separately from new customer acquisition.
Pipeline 3: Enterprise Sales
Use this for larger accounts that require demos, custom contracts, or sales-assisted onboarding. Stages:
- PQL Identified - High-value free user showing buying intent
- Discovery Call Scheduled - Rep engaged, meeting booked
- Demo Completed - Product walkthrough done
- Trial / POC - Extended trial or proof-of-concept running
- Proposal Sent - Quote, MSA, security review
- Negotiation - Legal, procurement, final terms
- Closed Won - Contract signed
- Closed Lost - Disqualified or chose competitor
This is your traditional sales pipeline, but it starts with PQL instead of MQL.
Automating Deal Creation from Product Signals
Use workflows to automatically create deals when certain product events occur:
Workflow 1: Auto-create trial conversion deal
- Trigger:
current_planchanges to "Trial" ORproduct_signup_dateis in last 1 day - Action: Create deal in "Self-Serve Conversion" pipeline, stage "Trial Started", associate with contact and company
Workflow 2: Auto-create expansion deal
- Trigger: Contact is Customer lifecycle stage AND (
plan_limit_usage_pct≥ 80% ORtotal_seats_occupied≥ 8) - Filters: No open deal in Expansion pipeline
- Action: Create deal in "Expansion / Upgrade" pipeline, stage "Expansion Qualified", assign to account owner
Workflow 3: Auto-create enterprise sales deal
- Trigger:
pql_score≥ 80 AND company propertytotal_seats_occupied≥ 10 - Filters: Lifecycle stage is "PQL", no open deal exists
- Action: Create deal in "Enterprise Sales" pipeline, stage "PQL Identified", assign to sales rep (round-robin or by territory)
Automated deal creation ensures no opportunities slip through the cracks when product signals fire.
Deal Stage Configuration and Win/Loss Reasons
For each pipeline, configure deal properties:
Deal amount calculation:
- Self-serve: Auto-populate from plan price (e.g., Pro plan = $149/mo = $1,788 annual deal value)
- Expansion: Difference between current MRR and projected MRR
- Enterprise: Manual entry by sales rep
Deal close date:
- Self-serve: Set to end of current trial period
- Expansion: 30-60 days from creation (typical expansion cycle)
- Enterprise: 60-90 days from creation (adjust based on your sales cycle)
Win/loss reasons: For Closed Won:
- Self-serve upgrade (no sales touch)
- Sales-assisted close
- Expansion upsell
- Annual prepay
For Closed Lost:
- Price too high
- Chose competitor
- Not using product enough
- Budget/timing
- Poor product fit
- Trial expired - no engagement
Tracking loss reasons helps you iterate on product experience, pricing, and sales approach.
Step 5: Essential Workflows and Automation for PLG
Beyond lifecycle and deal automation, these workflows are critical for PLG motion.
Critical Workflows Every PLG Company Needs
Workflow 1: PQL Alert to Sales
- Trigger:
pql_scorereaches 70 - Action: Send internal email to assigned sales rep with contact details, company info, usage summary (sessions, features adopted, team size), link to HubSpot contact record
- Optional: Create task for rep to review account
Workflow 2: Activated User Nurture
- Trigger: Lifecycle stage changes to "Activated User"
- Action: Enroll in email nurture series highlighting advanced features, use cases, customer stories
- Timing: Day 3, 7, 14, 21 after activation
- Goal: Move users toward PQL threshold
Workflow 3: Trial Expiration Warning
- Trigger: Contact has
current_plan= "Trial" AND trial end date is in 3 days - Action: Send email with upgrade CTA, highlight usage stats ("You've created 47 workflows - upgrade to keep them"), offer discount or trial extension
- Follow-up: If no upgrade, send one more email on expiration day
Workflow 4: Expansion Play - Seat Limit
- Trigger: Company property
total_seats_occupied≥ 90% of plan limit - Action: Send email to account owner suggesting plan upgrade, create expansion deal, notify CSM
Workflow 5: Expansion Play - Usage Limit
- Trigger: Company property
plan_limit_usage_pct≥ 85% - Action: Send email explaining overage policies, offer upgrade to higher tier, create expansion deal
Workflow 6: Churn Risk - Declining Usage
- Trigger: Contact is Customer lifecycle stage AND
sessions_last_30ddecreased by 50%+ compared to previous 30 days - Action: Create task for CSM to check in, send re-engagement email, flag account for retention focus
Workflow 7: Engagement Recovery
- Trigger: Contact hasn't logged in for 14 days AND lifecycle stage is "Activated User" or "PQL"
- Action: Send email with tips to get more value, highlight features they haven't tried, offer 1:1 onboarding session
Product-Triggered Sales Alerts
The most valuable alerts for sales teams are:
- PQL threshold hit - Score reaches qualification level
- Team growth - Company goes from 1 to 3+ users (signal of org adoption)
- Power feature usage - Contact uses API, custom integrations, or enterprise features on free plan
- Limit approaching - Account at 80%+ of plan limits
- Competitor signal - Contact viewed "vs [Competitor]" page or asked about migration
Format these alerts with context sales reps need:
- Contact name, title, company
- Current usage stats (sessions, features adopted, team size)
- Specific trigger that fired the alert
- Recommended action
- Direct link to contact record in HubSpot
Example alert email:
Subject: PQL Alert - Sarah Johnson at Acme Corp
Sarah Johnson (Product Manager at Acme Corp) just hit PQL status.
Usage signals:
- 18 sessions in the past 7 days
- Invited 6 teammates (5 active users now)
- Connected 2 integrations
- At 78% of free tier data limit
- PQL score: 85/100
Recommended action: Reach out about upgrading to Pro plan before they hit data limit.
View contact: [link to HubSpot record]
Send these to the assigned rep's email or Slack channel via HubSpot workflows.
Automated Expansion and Upsell Plays
Most expansion revenue comes from three triggers:
- Team growth - As more users join, they need more seats or move from per-seat to flat-rate plans
- Usage growth - Account hits data limits, API rate limits, or storage caps
- Feature needs - Free user wants access to advanced features (SSO, custom roles, priority support)
Build workflows that detect these triggers and either auto-create expansion deals or alert the account owner.
For self-serve products, you can automate upgrade prompts directly in-product and via email. For sales-assisted expansions, create tasks for CSMs to proactively reach out before the customer gets blocked by a limit.
Time these conversations carefully. The best moment to discuss an upgrade is when someone is actively hitting a constraint (trying to invite user #11 on a 10-seat plan, about to exceed API quota). Surface these moments in your product UI and in HubSpot.
Step 6: Reporting and Dashboards for PLG Metrics
HubSpot's reporting tools let you combine product and CRM data into dashboards for different teams.
Essential PLG Reports to Build
Report 1: PLG Funnel Conversion
- Type: Funnel report
- Stages: Subscriber → Trial User → Activated User → PQL → Opportunity → Customer
- Date range: Last 90 days
- Shows: Drop-off rates at each stage, time in stage, total conversions
This is your primary health metric. Track conversion rates week over week.
Report 2: PQL-to-Customer Conversion Rate
- Type: Custom report
- Objects: Contacts
- Filters: Lifecycle stage reached "PQL" in date range
- Metrics: Count of contacts that reached "Customer" stage, time from PQL to Customer
- Shows: What percentage of PQLs convert and how long it takes
Target: 20-40% PQL-to-customer conversion depending on PQL threshold tightness.
Report 3: Free-to-Paid Conversion by Cohort
- Type: Custom report
- Objects: Contacts
- Grouping:
product_signup_dateby week - Metrics: Percentage that reached Customer stage, days to conversion
- Shows: Weekly signup cohorts and their conversion performance
Look for trends - are newer cohorts converting faster or slower? Use this to measure impact of product or onboarding changes.
Report 4: Product Usage Distribution
- Type: Custom report
- Objects: Contacts
- Filters: Lifecycle stage is "Activated User" or "PQL"
- Grouping: Bucket by
sessions_last_30d(0-5, 6-10, 11-20, 21+) - Metrics: Count of contacts in each bucket
- Shows: How engaged your user base is
Healthy distribution has 40%+ in the 11+ sessions bucket.
Report 5: Expansion Pipeline by Trigger
- Type: Deal report
- Pipeline: Expansion / Upgrade
- Grouping: Deal property "expansion trigger" (seat limit, usage limit, feature request)
- Metrics: Count of deals, total value, win rate
- Shows: Which expansion triggers generate the most revenue
Report 6: Time to Activation
- Type: Custom report
- Objects: Contacts
- Filters:
product_activation_dateis known - Metrics: Days between
product_signup_dateandproduct_activation_date, median and P90 - Shows: How quickly users reach activation milestone
Target: Median under 3 days, P90 under 7 days for most PLG products.
Creating Sales and RevOps Dashboards
Sales Dashboard (for AEs and CSMs)
Widgets:
- My open deals by stage
- My PQLs this week (contacts assigned to me with lifecycle stage "PQL")
- Top accounts by usage score (companies ranked by
account_health_score) - Expansion opportunities (companies at 80%+ plan limit usage)
- Churn risk accounts (customers with declining session counts)
This gives reps a daily view of who to contact and why.
RevOps Dashboard (for operations and leadership)
Widgets:
- PLG funnel conversion (Report 1 from above)
- Weekly signups and activations
- PQL volume by week
- PQL-to-customer conversion rate trend
- MRR from self-serve vs sales-assisted
- Product usage distribution
- Average deal size by pipeline
- Sales cycle length by pipeline
Update this weekly in leadership meetings to track PLG motion health.
Product Usage Reports for Account Managers
For customer success teams managing existing accounts, create reports showing:
- Accounts with declining usage (churn risk)
- Accounts approaching plan limits (expansion opportunity)
- Accounts with low feature adoption (onboarding issue)
- Accounts with growing teams (seat expansion)
- Accounts with single active user (adoption risk)
These become the input for CSM weekly account reviews and QBR prep.
Step 7: Common Mistakes to Avoid in HubSpot PLG Setup
Every PLG company makes similar mistakes when setting up HubSpot. Avoid these:
Mistake 1: Not syncing product data frequently enough
If your product data only syncs to HubSpot once per day or once per hour, sales alerts arrive too late. A user who hit your PQL threshold this morning shouldn't get a sales email tomorrow afternoon.
Use real-time or near-real-time sync (under 5 minutes). Zoody syncs in real time. Reverse ETL tools typically sync every 15-60 minutes, which is borderline acceptable. Nightly batch syncs are too slow for PLG.
Mistake 2: Creating too many custom properties without governance
It's tempting to create a HubSpot property for every product event and data field. This creates clutter and makes it hard to find what matters.
Set property naming conventions (product_* prefix for product data, account_* prefix for company metrics). Create properties for aggregated signals (session counts, feature adoption flags) rather than raw event logs. Archive unused properties regularly.
Mistake 3: Treating all signups as MQLs
Not every free signup is a marketing-qualified lead. Many are students, competitors doing research, or people kicking tires.
Reserve MQL designation for contacts that match your ICP criteria (company size, industry, job title) AND show engagement. Better yet, skip MQL entirely in a PLG motion and jump straight to PQL based on product usage.
Mistake 4: Not aligning sales and product teams on PQL definition
RevOps can build the perfect PQL scoring model, but if sales doesn't trust it or understand the signals, they won't act on PQL alerts.
Before launching PQL workflows, sit down with sales leadership and review:
- What usage signals indicate buying intent
- What score threshold means "ready for outreach"
- What information reps need to personalize outreach
- How reps should approach PQLs (consultative, not aggressive)
Get buy-in that these are real opportunities, not just "active free users."
Mistake 5: Over-automating outreach without considering user experience
Just because you can send an automated email when someone hits a usage threshold doesn't mean you should.
Users chose your product for self-serve convenience. Bombarding them with sales emails the moment they start using advanced features can feel pushy and hurt conversion.
Balance automation with user experience:
- Use in-product upgrade prompts before email outreach
- Delay sales contact until clear buying intent (approaching limits, team growth)
- Let users opt into sales conversations rather than auto-enrolling them
- Send helpful content first, sales pitch second
The best PLG motion feels like the product is helping you succeed, not trying to sell you. Keep that principle when designing automation.
How Zoody Simplifies HubSpot PLG Setup
Most of this guide describes workflows and configuration you build in HubSpot - but it all depends on step 1, getting product data synced. That's where Zoody comes in.
Why RevOps Teams Choose Zoody
Zoody was built specifically for RevOps managers running PLG companies on HubSpot. It solves the product data sync problem without requiring a data warehouse, reverse ETL pipeline, or engineering time.
Here's what that means in practice:
No warehouse required: Most reverse ETL solutions (Hightouch, Census) assume you have Snowflake or BigQuery already set up. Building a data warehouse for a startup costs $500-$2,000/mo and takes weeks of engineering work. Zoody skips that entirely - you send events directly from your product to Zoody, and Zoody syncs them to HubSpot.
Real-time sync: Zoody updates HubSpot contact and company records in real time (under 1 second latency). When a user invites their fifth teammate or hits 80% of plan limits, that data is in HubSpot immediately, not 15-60 minutes later like batch reverse ETL syncs.
Built for RevOps, not engineers: Zoody's UI is designed for non-technical HubSpot admins. You configure which events and properties to sync using dropdowns and toggles, not SQL queries. You can set up product data sync in 30 minutes without opening a ticket to engineering.
Pre-built PLG templates: Zoody includes templates for common PLG use cases - trial conversion scoring, expansion opportunity detection, churn risk flagging. Instead of building PQL scoring from scratch, start with a proven model and customize it.
Flat-rate pricing: $149/mo for unlimited product events, unlimited contacts, unlimited HubSpot users. No usage-based fees, no surprises. Compare to reverse ETL tools that charge per row synced or per warehouse query.
Only works with HubSpot: The tradeoff is Zoody is HubSpot-only. If you use multiple CRMs (Salesforce + HubSpot) or plan to migrate away from HubSpot, Zoody won't work. But for companies committed to HubSpot as their system of record, it's the fastest path to product-led revenue operations.
Getting Started with Zoody + HubSpot
Setup process:
Install tracking: Add Zoody's JavaScript snippet to your product (similar to Google Analytics) or use the server-side API to send events from your backend. This tracks user actions like signups, feature usage, team invites.
Connect HubSpot: OAuth connection takes 30 seconds. Zoody asks for permissions to read contacts/companies and write custom properties.
Map events to properties: Choose which product events create or update HubSpot records. For example: "user_signed_up" → create contact, "feature_adopted" → update
features_adoptedproperty, "teammate_invited" → increment companytotal_seats_invited.Configure scoring: Set up PQL score calculation using Zoody's scoring builder. Assign point values to usage signals (sessions, features, team size) and define your PQL threshold.
Build HubSpot workflows: Use the product properties Zoody creates to build lifecycle workflows, sales alerts, and automation (steps 2-7 in this guide).
Most teams are syncing product data to HubSpot within an hour of starting. From there, it's configuring the HubSpot-side workflows and dashboards described in this guide.
Zoody also surfaces product usage timelines inside HubSpot contact records, so sales reps can see a contact's recent activity (sessions, features used, teammates invited) without leaving HubSpot.
FAQ
Is HubSpot good for B2B SaaS companies with product-led growth?
Yes, HubSpot works well for PLG companies if you solve the product data sync challenge. HubSpot's strength is combining marketing, sales, and customer data in one platform, which is exactly what PLG companies need - visibility into both product usage and go-to-market activity. The weakness is that HubSpot doesn't track product usage natively, so you need to pipe that data in via Zoody, reverse ETL, or custom integration. Once product signals are in HubSpot, the platform's workflows, lifecycle stages, and reporting tools handle PLG motions effectively.
What HubSpot tier do I need for PLG company setup?
You need HubSpot Professional ($800/mo) or Enterprise ($3,600/mo). The Starter tier doesn't include custom properties, complex workflows, or API access - all required for PLG automation. Most early-stage PLG companies start with Professional, which includes 2,000 contacts, unlimited custom properties, workflows with branching logic, and custom reports. Upgrade to Enterprise when you need advanced features like calculated properties, predictive lead scoring, or custom objects for usage data modeling.
How do I get product usage data into HubSpot CRM?
Three methods: (1) Build a custom integration using HubSpot's Contacts API and Companies API to push product events from your backend - takes 2-4 weeks engineering time and ongoing maintenance. (2) Use reverse ETL (Hightouch, Census) to sync product data from your data warehouse to HubSpot - requires existing warehouse infrastructure, costs $350-$800/mo, sync lag of 15-60 minutes. (3) Use Zoody to send product events directly to HubSpot without a warehouse - real-time sync, no engineering work, $149/mo flat rate. Most RevOps teams choose option 3 for speed and simplicity.
What is a PQL (Product Qualified Lead) and how do I identify them in HubSpot?
A product-qualified lead is a free user showing strong buying intent based on product usage behavior, not demographic data. PQL signals include frequent usage (daily sessions), feature adoption (using core or advanced features), team collaboration (multiple users from same company), and approaching plan limits (near free tier caps). To identify PQLs in HubSpot, sync product usage data to custom properties, build a scoring workflow that adds points for each signal, and set a threshold (typically 70-80/100). When a contact reaches that score, move them to "PQL" lifecycle stage and alert sales.
What are the best HubSpot workflows for PLG companies?
The five critical workflows are: (1) PQL alert to sales when usage score hits threshold, (2) automated deal creation when product signals fire (trial start, expansion trigger, usage milestone), (3) lifecycle stage progression based on product activity (signup → activation → PQL → customer), (4) expansion plays triggered by team growth or limit proximity, and (5) churn risk detection when customer usage declines. Build these using HubSpot's workflow builder with triggers on your product data properties (sessions, features adopted, team size, plan limits). Each workflow should update contact records, create deals, send notifications, or enroll contacts in targeted campaigns.
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.