The RevOps Tech Stack for PLG Companies on HubSpot
Build a revenue operations tech stack for product-led growth on HubSpot. Learn the essential tools, data sync strategies, and scoring models RevOps leaders need.
Quick answer: A PLG RevOps tech stack on HubSpot needs six layers: HubSpot as your CRM, product analytics (Amplitude, Mixpanel, Heap), a real-time data sync tool to pipe usage into HubSpot, scoring models that weight product signals, lifecycle workflows triggered by usage milestones, and unified reporting dashboards.
- HubSpot CRM - System of record for contacts, companies, deals, lifecycle stages
- Product analytics - Track activation, feature adoption, retention (Mixpanel, Amplitude, Heap)
- Data sync layer - Zoody (no warehouse, real-time), reverse ETL (Census, Hightouch), or custom API build
- Scoring models - Combine firmographic, behavioral, and product usage signals; weight usage highest
- Lifecycle automation - HubSpot workflows that move contacts through stages based on product milestones
- Reporting - Dashboards tracking activation rate, PQL velocity, trial-to-paid conversion, revenue attribution
What Revenue Operations Means in a PLG Context
Revenue operations is the discipline of aligning marketing, sales, and customer success around a single goal: predictable, repeatable revenue growth. RevOps teams own the systems, processes, and data pipelines that connect these functions.
In a product-led growth company, the job changes. Traditional RevOps tracks leads, form fills, and demo requests. PLG RevOps tracks product signups, activation milestones, feature adoption, and usage frequency. The product itself generates pipeline, so your RevOps stack needs to surface product signals alongside marketing and sales activity.
Traditional RevOps vs. PLG RevOps
Traditional B2B RevOps starts with a marketing qualified lead (MQL) from a form fill or gated content download. Sales qualifies the lead, books a demo, runs discovery calls, and closes the deal. The CRM tracks email engagement, meeting activity, and deal stages.
PLG flips this. Users sign up for a free trial or freemium product without talking to sales. They activate (or don't) based on the product experience. Sales only gets involved after the user demonstrates intent through usage, not a form fill. The CRM needs product data to identify which free users are worth a sales touch.
A PLG RevOps manager spends most of their time answering questions like:
- Which trial users activated this week?
- What usage threshold signals product-qualified lead (PQL) status?
- How do we route high-value accounts to sales automatically?
- What's our trial-to-paid conversion rate by activation cohort?
You can't answer these questions without product usage data inside your CRM.
Why HubSpot for Product-Led Growth
HubSpot is the CRM of choice for mid-market B2B SaaS companies running PLG motions. It's affordable (starts at $50/mo for Marketing Hub, $20/mo for Sales Hub), flexible enough to model custom lifecycle stages and scoring properties, and has a robust workflow engine for automation.
The HubSpot ecosystem includes thousands of integrations. Most product analytics tools, reverse ETL platforms, and data sync solutions support HubSpot natively. You don't need a Salesforce admin or a six-month implementation to get started.
The core limitation: HubSpot doesn't track product usage out of the box. It knows when a contact opens an email or visits your pricing page, but it has no visibility into whether that contact logged into your product, completed onboarding, or invited their team. Getting product usage data into HubSpot is the foundation of PLG RevOps.
This guide walks through the six layers of a PLG tech stack on HubSpot, from your CRM setup to real-time data sync to lifecycle automation to revenue reporting.
The 6 Essential Layers of a PLG RevOps Tech Stack
A complete PLG RevOps stack has six layers. Each layer serves a specific function, and they stack on top of each other. Skip a layer and you create gaps in visibility or automation.
Layer 1: HubSpot as Your Central CRM
HubSpot is your system of record for contacts (individual users), companies (accounts), deals (revenue opportunities), and lifecycle stages. Every user who signs up for your product should exist as a contact in HubSpot. Every paying account should exist as a company.
Your HubSpot setup needs:
- Custom contact properties for product usage metrics:
last_login_date,total_logins,onboarding_completed,features_used_count,activation_date - Custom company properties for account-level rollups:
total_users,activated_users,last_account_activity_date,mrr,plan_tier - Lifecycle stages that reflect your PLG funnel: Subscriber (signed up), Trial User (started trial), Activated User (hit activation criteria), Product Qualified Lead (usage threshold met), Opportunity (sales-engaged), Customer
- Deal pipelines for both self-serve conversions and sales-assisted deals
The HubSpot CRM setup for B2B SaaS PLG companies covers the full property schema and lifecycle stage definitions.
Layer 2: Product Analytics Tools
You need a product analytics platform to instrument event tracking inside your app. These tools capture user actions (button clicks, page views, feature usage), session data, and behavioral cohorts.
Popular options:
- Mixpanel - Event-based analytics with funnels, retention curves, and cohort analysis. Strong for tracking activation and feature adoption.
- Amplitude - Similar to Mixpanel, better for complex multi-product companies. Built-in behavioral scoring.
- Heap - Auto-captures all events without manual instrumentation. Easier setup, less flexible querying.
- PostHog - Open-source alternative with session replay and feature flags. Self-hostable.
Your product analytics tool is not a replacement for HubSpot. It answers different questions. Use it to understand which features drive activation and retention. Use HubSpot to route activated users to sales and track revenue outcomes.
The gap: product analytics lives in a separate system. Sales reps and RevOps managers working in HubSpot can't see product usage without switching tools. Layer 3 closes this gap.
Layer 3: Real-Time Data Sync - The Missing Link
This is the layer most PLG companies get wrong. You need a pipeline that syncs product usage data from your analytics tool (or directly from your app) into HubSpot contact and company properties.
Three approaches:
Option 1: No-code sync tools (Zoody)
Zoody connects directly to your product and pushes usage events to HubSpot in real time. No data warehouse, no reverse ETL setup, no engineering work. You define which events to track (e.g., user_logged_in, onboarding_completed, feature_a_used), and Zoody writes those to HubSpot contact properties and creates timeline events.
Cost: $149/mo for unlimited contacts and events. Setup takes 15 minutes.
Best for: RevOps teams that want product data in HubSpot today without waiting on engineering or standing up a warehouse.
Option 2: Reverse ETL (Census, Hightouch) Reverse ETL tools sync data from your data warehouse (Snowflake, BigQuery, Redshift) to HubSpot. You write SQL queries to define the data model, then the tool pushes updates on a schedule (every 15 minutes, hourly, daily).
Cost: $350-$800/mo plus warehouse costs ($100-$500/mo). Requires a data warehouse already in place.
Best for: Companies that already have a warehouse and need to sync data from multiple sources (product, billing, support) into HubSpot. Reverse ETL alternatives for HubSpot compares the full stack.
Option 3: Custom API integration
Build your own pipeline using the HubSpot API. Your backend sends product events to HubSpot's /properties/v1/contacts/:contact_id/property/:property_name endpoint whenever a user takes an action.
Cost: Engineering time (2-4 weeks to build, ongoing maintenance). Watch out for HubSpot API rate limits (100 calls per 10 seconds on Professional).
Best for: Engineering-heavy teams that need full control and already have robust event infrastructure.
The decision comes down to speed and engineering bandwidth. If you want product data in HubSpot this week without building a warehouse, use Zoody. If you already run a warehouse and need complex multi-source syncs, use reverse ETL. If you have engineering capacity and specific requirements no tool can meet, build custom.
Layer 4: Scoring and Segmentation
Once product usage data flows into HubSpot, you can score contacts and companies based on usage signals. A PLG scoring model combines three dimensions:
- Firmographic fit - Company size, industry, revenue, location (traditional ICP criteria)
- Behavioral engagement - Email opens, website visits, content downloads, demo requests
- Product usage - Login frequency, features adopted, activation status, depth of usage
In a PLG motion, product usage gets the highest weight. A user who logs in daily and uses three core features is far more likely to convert than a user who opened one marketing email but never logged in.
HubSpot supports two score types:
- HubSpot Score property (contact-level) - Built-in score field, updated by workflows
- Calculated properties - Real-time scores based on formulas combining multiple properties
Example contact score calculation:
(company_size_score * 0.2) + (email_engagement_score * 0.2) + (product_usage_score * 0.6)
Company scores roll up contact activity. If three users from the same company are all activated and using the product daily, that company's score should be high.
Building PLG lead scoring in HubSpot without code walks through the exact property setup and workflow logic.
Layer 5: Lifecycle Automation
HubSpot workflows move contacts through lifecycle stages automatically based on product milestones. Instead of manually reviewing trial users each week, you define the criteria and let workflows handle stage transitions.
Example workflow: "Move to Activated User"
- Trigger: Contact property
onboarding_completedistrue - Action: Set lifecycle stage to "Activated User"
- Action: Add to "Activated Users" list
- Action: Send internal Slack notification to RevOps channel
Example workflow: "Promote to PQL"
- Trigger: Contact property
total_loginsis greater than or equal to 10 ANDfeatures_used_countis greater than or equal to 3 - Enrollment: Re-enrollment enabled (so score updates trigger re-evaluation)
- Action: Set lifecycle stage to "Product Qualified Lead"
- Action: Create task for sales rep: "Review this PQL's usage and reach out"
- Action: Enroll in "PQL nurture sequence"
Automating PLG sales handoff in HubSpot covers the full handoff workflow from free user to sales-engaged opportunity.
Key workflows every PLG RevOps stack needs:
- Activation detection (onboarding complete, first value delivered)
- PQL promotion (usage threshold met)
- Sales handoff (create task, assign owner, trigger outreach)
- Lifecycle rollback (user churned, account downgraded)
- Account-level triggers (multiple users activated, team size crossed threshold)
Layer 6: Reporting and Revenue Attribution Dashboards
HubSpot's reporting tools let you build custom dashboards that unify product, marketing, and sales metrics. A complete PLG dashboard tracks:
Top-of-funnel product metrics:
- Signups per week
- Activation rate (% of signups who complete onboarding)
- Time to activation (median days from signup to activation)
PQL and pipeline metrics:
- PQLs created per week
- PQL to Opportunity conversion rate
- Days from PQL to first sales touch
- Days from PQL to Opportunity stage
Revenue metrics:
- Trial to paid conversion rate (overall and by activation cohort)
- Average contract value by activation status
- Revenue attributed to activated users vs. non-activated
- Expansion revenue from accounts that hit usage milestones
Sales efficiency:
- PQL to closed-won rate
- Average deal cycle length by PQL score
- Sales rep activity on PQL accounts (emails sent, calls logged, meetings booked)
Use HubSpot's custom report builder to create these reports, then pin them to a shared dashboard. Refresh cadence: daily for top-of-funnel metrics, weekly for pipeline, monthly for revenue attribution.
Revenue attribution in PLG is tricky. A user might sign up from an ad, activate through the product, get nurtured via email, then convert after a sales call. Which channel gets credit? Most PLG teams use a weighted multi-touch model: first touch (how they found you), activation touch (what drove product value), and closed touch (final conversion driver). HubSpot's attribution reporting supports this if you tag each touchpoint correctly.
Buy vs. Build: Choosing Your Data Sync Solution
The data sync layer (Layer 3) is the most critical decision in your tech stack. Every other layer depends on product usage data flowing into HubSpot. You have three options: build a custom integration, buy a no-code tool, or set up reverse ETL.
The Build Path: Custom Integrations
Building your own HubSpot integration gives you full control. Your backend application sends product events directly to HubSpot's API whenever a user takes an action.
How it works: When a user completes onboarding, your app makes a POST request to HubSpot's contact properties endpoint:
POST https://api.hubapi.com/crm/v3/objects/contacts/:contact_id
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json
{
"properties": {
"onboarding_completed": "true",
"activation_date": "2026-06-13",
"features_used_count": "3"
}
}
You also create timeline events for product activity:
POST https://api.hubapi.com/crm/v3/timeline/events
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json
{
"eventTemplateId": "123456",
"email": "user@example.com",
"tokens": {
"feature_name": "Dashboard Export",
"timestamp": "2026-06-13T14:32:00Z"
}
}
Pros:
- No monthly tool cost (just engineering time)
- Full customization of what data syncs and when
- Direct control over error handling and retries
Cons:
- 2-4 weeks of engineering time to build and test
- Ongoing maintenance when HubSpot API changes or your data model evolves
- Rate limit management (HubSpot limits API calls to 100 per 10 seconds on Professional, 150 on Enterprise)
- Delayed updates if you batch events instead of streaming them real-time
- No built-in UI for non-technical users to configure which events sync
Most companies underestimate the maintenance cost. Your integration breaks when HubSpot deprecates an API version, when you add new product features, or when you hit rate limits during usage spikes.
The Buy Path: No-Code and Reverse ETL Tools
Buying a tool shifts the maintenance burden to the vendor. Two categories:
No-code sync tools (Zoody) Zoody connects to your product and syncs usage events to HubSpot without requiring a data warehouse. You install Zoody's SDK or webhook receiver in your app, define which events to track, and map them to HubSpot properties. Zoody handles the API calls, rate limiting, retries, and error handling.
Setup: 15 minutes. Point Zoody at your event stream, map events to HubSpot fields, and product data starts flowing.
Cost: $149/mo for unlimited contacts and events, $249/mo for advanced features like multi-property updates and custom scoring rules.
Best for: RevOps managers who need product data in HubSpot this week without waiting on engineering. Works for teams that don't have a data warehouse and don't want to build one. Product-led growth RevOps playbook explains how Zoody fits into the full PLG stack.
Reverse ETL platforms (Census, Hightouch) Reverse ETL syncs data from your warehouse (Snowflake, BigQuery, Redshift, Databricks) to HubSpot. You write SQL queries that define the data model, then the tool pushes updates on a schedule.
Setup: 1-2 weeks. You need a warehouse already in place, dbt models or SQL queries that shape your data, and configuration in the reverse ETL UI to map warehouse columns to HubSpot fields.
Cost: $350-$800/mo for the reverse ETL tool, plus $100-$500/mo for warehouse compute, plus engineering time to maintain the data models.
Best for: Companies that already run a data warehouse and want to sync data from multiple sources (product, billing, support, third-party tools) into HubSpot in one unified pipeline. Why reverse ETL is expensive for HubSpot breaks down the full cost.
When to Choose Each Approach
Choose custom build if:
- You have engineering bandwidth and a senior backend engineer who can own the integration long-term
- Your product already sends events to a message queue (Kafka, SQS) and you want to tap into that stream
- You need sub-second latency and absolute control over what syncs when
- You're committed to maintaining the integration as your product and HubSpot evolve
Choose Zoody if:
- You want product data in HubSpot this week without engineering work
- You don't have a data warehouse and don't want to build one
- Your RevOps team (not engineering) needs to configure which events sync
- Real-time updates matter (workflows trigger instantly when a user activates)
- You want a flat monthly cost with no usage-based pricing or warehouse bills
Choose reverse ETL if:
- You already have a data warehouse with product, billing, and CRM data modeled in dbt
- You need to sync data from multiple sources into HubSpot (not just product usage)
- Your data team can maintain SQL models and monitor the sync pipeline
- Scheduled syncs (every 15-60 minutes) are acceptable for your use case
- You're willing to pay $500-$1,300/mo all-in for the warehouse plus reverse ETL tool
Most mid-market PLG companies choose Zoody because it eliminates the warehouse complexity and gets product data into HubSpot the same day. Reverse ETL makes sense if you're already running a warehouse and have the team to maintain it.
Wiring Product Usage into HubSpot Lifecycle Stages
Lifecycle stages in HubSpot represent where a contact is in their buyer journey. Traditional stages (Subscriber, Lead, MQL, SQL, Opportunity, Customer) map to form fills and sales activity. PLG stages map to product milestones.
Defining PLG Lifecycle Stages
A typical PLG lifecycle in HubSpot:
- Subscriber - Signed up for your product or newsletter but hasn't logged in yet
- Trial User - Started a free trial or freemium account, logged in at least once
- Activated User - Completed onboarding and reached the "aha moment" (your activation criteria)
- Product Qualified Lead (PQL) - Meets usage threshold that signals sales-readiness (frequency, feature depth, team size)
- Opportunity - Sales-engaged, in active conversation about upgrading or expanding
- Customer - Paying account (self-serve or sales-assisted close)
- Evangelist - Power user, refers others, writes reviews, speaks at events
Mapping product usage to HubSpot lifecycle stages explains the full stage logic and property setup.
Setting Activation and PQL Criteria
Activation criteria define when a user has experienced the core value of your product. This varies by product:
- Project management tool: User created their first project, invited a team member, and added 3 tasks
- Analytics platform: User connected a data source, built their first dashboard, and viewed it twice
- Marketing automation tool: User imported contacts, created a campaign, and sent their first email
Your activation criteria should correlate with long-term retention. Run a cohort analysis in your product analytics tool: which actions in the first 7 days predict users who are still active after 90 days? Those actions become your activation checklist.
PQL criteria define when an activated user is ready for a sales conversation. Common PQL signals:
- Usage frequency: Logged in 10+ times in the last 14 days
- Feature breadth: Used 3 or more core features
- Team growth: Invited 2+ team members
- Account firmographics: Company has 50+ employees, is in a target industry
- Engagement with paid features: Hit a usage limit or tried a locked premium feature
Create a HubSpot score property that combines these signals, then set a PQL threshold. Example: contacts with a product usage score above 70 get auto-promoted to PQL stage.
Building Lifecycle Workflows in HubSpot
Workflows automate stage transitions. Instead of manually reviewing trial users, you define the logic once and HubSpot handles it.
Workflow 1: Detect Activation
- Trigger: Contact property
onboarding_step_3_completedequalstrue - Action: Set lifecycle stage to "Activated User"
- Action: Set property
activation_dateto today's date - Action: Add to static list "Activated Users - June 2026"
Workflow 2: Promote to PQL
- Trigger: Contact property
product_usage_scoreis greater than or equal to 70 - Filters: Lifecycle stage is "Activated User" (don't re-promote Customers)
- Re-enrollment: Enabled (so score updates re-trigger workflow)
- Action: Set lifecycle stage to "Product Qualified Lead"
- Action: Create task for contact owner: "New PQL - review usage and reach out"
- Action: Send internal notification to #sales-pqls Slack channel via webhook
- Action: Enroll in "PQL nurture sequence" (email drip encouraging upgrade conversation)
Workflow 3: Sales Handoff
- Trigger: Lifecycle stage changed to "Product Qualified Lead"
- Filters: Company property
total_employeesis greater than 20 (route high-value PQLs to sales) - Action: Rotate and assign contact owner (sales rep)
- Action: Create deal in "PQL Pipeline" with amount based on company size
- Action: Send rep notification: "You've been assigned a new PQL from [company name]"
Workflow 4: Rollback on Churn
- Trigger: Contact property
last_login_dateis more than 30 days ago - Filters: Lifecycle stage is "Activated User" or "Product Qualified Lead"
- Action: Set lifecycle stage to "Disengaged"
- Action: Unenroll from active nurture sequences
- Action: Enroll in re-engagement campaign
These workflows keep HubSpot in sync with product reality without manual updates.
Building a Product-Usage Lead Scoring Model
Lead scoring assigns a numeric value to each contact based on their likelihood to convert. In PLG, product usage is the strongest predictor, so it gets the highest weight in your scoring model.
Three Dimensions of PLG Scoring
Firmographic fit (20% weight) Does this contact work at a company that matches your ideal customer profile? Score based on:
- Company size (employees, revenue)
- Industry
- Location
- Tech stack (if available)
Example: Companies with 50-200 employees get +10 points, 201-500 get +15, 500+ get +20. Target industries (SaaS, fintech, e-commerce) get +10.
Behavioral engagement (20% weight) How engaged is this contact with your marketing and sales content? Score based on:
- Email opens and clicks
- Website visits (especially pricing, case studies, product pages)
- Content downloads
- Webinar attendance
- Demo requests
Example: Each email open +1 point, pricing page visit +5 points, demo request +20
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.