Founding tester program10 spotsFree forever for beta usersEvery paid feature unlockedDirect Slack with the founderApply now
Founding tester program10 spotsFree forever for beta usersEvery paid feature unlockedDirect Slack with the founderApply now
Founding tester program10 spotsFree forever for beta usersEvery paid feature unlockedDirect Slack with the founderApply now
Founding tester program10 spotsFree forever for beta usersEvery paid feature unlockedDirect Slack with the founderApply now
← All resources
GuideMay 15, 202626 min read

Enrich HubSpot with Product Usage Data (No Clearbit/Engineering)

Learn how to enrich HubSpot with behavioral product usage data without Clearbit, Breeze, data warehouses, or engineering work. Built for RevOps managers.

Quick answer: Product usage enrichment syncs behavioral data from your product database into HubSpot contact and company records - showing what users actually do, not just who they are. Unlike Clearbit or Breeze Intelligence (which add firmographic data like company size and industry), product usage enrichment tracks login frequency, feature adoption, usage milestones, and engagement levels.

  • Clearbit/Breeze Intelligence - Firmographic enrichment (company size, industry, location). Doesn't access your product usage data.
  • Reverse ETL (Hightouch, Census) - Powerful but requires a data warehouse, engineering setup, and $350-$800/mo minimum.
  • Custom API integration - Full control but ongoing engineering maintenance and HubSpot API rate limits.
  • Direct product database sync (Zoody) - No warehouse, no engineering. Connects your product DB directly to HubSpot. $149/mo flat rate.

Why Product Usage Data Matters More Than Firmographic Enrichment

Firmographic data tells you WHO your contacts are. Product usage data tells you WHAT they're doing and HOW engaged they are.

Firmographic enrichment tools like Clearbit, ZoomInfo, and HubSpot's Breeze Intelligence add company size, industry, location, and funding data to your contact records. Useful for initial qualification, but they can't answer:

  • Did this user log in this week?
  • Have they adopted the core workflow yet?
  • Are they a power user or barely active?
  • Did they just hit a usage milestone that signals buying intent?

Those signals live in your product database, not in public firmographic datasets. And those are the signals that drive product-led sales, expansion plays, and churn prevention.

The Limitations of Traditional Enrichment Tools

Clearbit and Breeze Intelligence excel at firmographic enrichment. They can't access your application's usage data because that data lives behind your auth layer, in your product database.

Even if you export product usage data to a CSV and manually upload it to HubSpot, that's a one-time snapshot. Behavioral signals change constantly. A user who logged in daily last week might have gone silent this week - a critical churn signal that a static firmographic enrichment will never surface.

Traditional enrichment also costs per contact enriched. Clearbit starts around $99/mo for a small allotment, scaling to $999+/mo for higher volume. You're paying for company size and industry data, not for behavioral signals that indicate actual buying intent.

What Product Usage Signals Can Tell You

Real examples of product usage properties you can sync to HubSpot:

  • last_login_date - Contact property showing when they last opened the app
  • total_logins_last_30_days - Rolling count of login sessions
  • core_feature_adopted - Boolean flag for whether they've completed your activation workflow
  • current_usage_tier - Enum: "light", "medium", "power_user" based on activity
  • engagement_score - Calculated score combining frequency, recency, feature adoption
  • feature_flags_enabled - Array of active feature flags for this user
  • days_since_last_activity - Inactivity counter for churn prevention triggers

These properties enable workflows that traditional firmographic enrichment can't:

  • Auto-enroll contacts in a sales sequence when engagement_score crosses 75 and current_usage_tier = "power_user"
  • Trigger a retention email when days_since_last_activity > 14
  • Route high-intent PQLs to sales when core_feature_adopted = true and company_size > 50 (combining behavioral + firmographic)

Why RevOps Teams Need Both Types of Data

Firmographic enrichment qualifies the account. Product usage data qualifies the opportunity.

A contact from a 500-person enterprise in your ideal industry looks great on paper. But if they signed up 60 days ago and logged in twice, they're not a hot lead. Meanwhile, a contact from a 20-person startup who logs in daily and has adopted three core features is a better sales opportunity, even if the account doesn't fit your ICP perfectly.

The best lead scoring models combine both:

  • Fit score (firmographic): company size, industry, location, tech stack
  • Engagement score (behavioral): login frequency, feature adoption, usage milestones

RevOps managers who only enrich with firmographic data miss half the picture.

The Problem with Clearbit, Breeze, and Traditional Enrichment

HubSpot's Breeze Intelligence (formerly Clearbit integration) and standalone Clearbit enrichment focus on firmographic data: company name, employee count, industry, funding, location, tech stack. This data comes from public sources, LinkedIn scraping, and third-party datasets.

Breeze Intelligence cannot access your product database. It has no way to know if a contact logged in yesterday, what features they're using, or whether they've hit activation milestones.

What Clearbit/Breeze Does Well (And What It Doesn't)

What it does well:

  • Fills in missing company data on inbound leads (company size, industry, location)
  • Adds technographic data (tech stack signals)
  • Enriches anonymous website visitors (Clearbit Reveal for ABM)
  • Provides intent signals from third-party data (job changes, funding rounds)

What it doesn't do:

  • Track product usage or engagement
  • Sync real-time behavioral signals from your app
  • Show feature adoption or activation milestones
  • Identify power users or churn risk based on actual usage

Breeze Intelligence is designed to answer "Who is this lead?" not "What is this user doing in our product?"

The Missing Piece: Behavioral Product Data

Product usage data lives in your application database. Common sources:

  • User activity logs (logins, sessions, page views)
  • Feature usage events (button clicks, workflow completions)
  • Product analytics tools (Mixpanel, Amplitude, PostHog)
  • Backend database tables (users, accounts, usage_stats)

This data doesn't flow into HubSpot automatically. You need to build or buy a sync mechanism.

Traditional enrichment vendors don't offer product usage enrichment because they don't have access to your application backend. That's not their business model.

Why RevOps Managers Are Looking for Alternatives

HubSpot Community threads and Reddit posts from the last six months show RevOps managers frustrated with Breeze Intelligence reliability and cost:

  • "Breeze enrichment randomly stopped working on half our contacts"
  • "Paying $999/mo for Clearbit but still blind to which users are actually engaged"
  • "We're a PLG company - we need product signals in HubSpot, not just firmographic data"

The demand is clear: RevOps teams at B2B SaaS companies want behavioral enrichment, not just firmographic enrichment. But most solutions require engineering work, data warehouses, or ongoing maintenance.

Traditional Approaches to Getting Product Data into HubSpot (And Why They're Painful)

There are three common ways to sync product usage data into HubSpot. All require significant time, cost, or engineering resources.

The Data Warehouse + Reverse ETL Approach

How it works:

  1. Send product events to a data warehouse (Snowflake, BigQuery, Redshift)
  2. Transform raw events into aggregated usage metrics (dbt models)
  3. Use a reverse ETL tool (Hightouch, Census, Workato) to sync warehouse tables to HubSpot

Tradeoffs:

  • Requires a data warehouse - if you don't have one, that's $150-$500/mo + setup time
  • Reverse ETL tools start at $350-$800/mo (Hightouch's entry tier is $350/mo for 10M rows/year, Census starts at $800/mo)
  • Engineering-heavy - you need a data engineer to model the warehouse tables, write dbt transformations, and maintain the pipeline
  • Latency - most reverse ETL tools run on a schedule (hourly or daily), not real-time
  • Ongoing maintenance - schema changes in your product require updating warehouse models and reverse ETL mappings

For companies already running a modern data stack, this works. For smaller SaaS companies or those without dedicated data engineering, it's overkill.

Custom API Integrations

How it works:

Build a backend service that reads product usage data from your database and pushes it to HubSpot's Contacts API or Companies API (POST /crm/v3/objects/contacts/{contactId}).

Tradeoffs:

  • Engineering time - 2-4 weeks to build, test, and deploy
  • HubSpot API rate limits - 100 requests per 10 seconds on Professional tier, 150/10s on Enterprise. If you're syncing thousands of contacts, you need careful rate limit handling and retry logic.
  • Identity matching - you need logic to match product users (by email, user ID, or custom identifier) to HubSpot contact records
  • Schema management - every time you add a new product usage property, you need to create the custom property in HubSpot and update your integration code
  • Ongoing maintenance - HubSpot API changes, schema drifts, bugs in production

For a one-time sync or a small set of properties, this is doable. For real-time, ongoing product usage enrichment across dozens of properties, it's a maintenance burden.

Why These Solutions Require Engineering Teams

Both approaches (reverse ETL and custom API integration) assume you have:

  • A backend engineer or data engineer who can own the pipeline
  • Time to build and maintain the integration
  • Budget for third-party tools (warehouse, reverse ETL platform)

RevOps managers who want to move fast and don't have engineering bandwidth get stuck. They resort to manual CSV exports and uploads, which defeats the purpose of real-time behavioral enrichment.

The Real-Time Data Challenge

Product usage signals change constantly. A user who was highly engaged last week might drop off this week. A free trial user might hit activation on day 3 and become sales-ready.

If your sync runs daily at midnight, you're always 12-24 hours behind. For product-led sales motions, that lag matters. You want sales reps to see updated engagement scores and usage milestones in real time, before they jump on a call.

Reverse ETL tools can run more frequently (some offer 15-minute syncs), but that increases costs and still isn't real-time. Custom API integrations can be real-time if you trigger them from your application's event stream, but that adds complexity.

How to Enrich HubSpot with Product Usage Data Without Engineering

The direct sync approach bypasses the data warehouse and reverse ETL stack. Instead of:

Product DB → Warehouse → dbt → Reverse ETL → HubSpot

You go:

Product DB → Sync Tool → HubSpot

This approach requires a tool that can:

  • Connect directly to your product database (Postgres, MySQL, MongoDB, or read from your product analytics tool)
  • Map product users to HubSpot contacts/companies (by email, user ID, or custom field)
  • Automatically create custom properties in HubSpot as needed
  • Sync usage data in real-time or near-real-time (sub-hour latency)
  • Handle schema changes without manual intervention

The Direct Sync Approach

Tools built for this workflow eliminate the warehouse and reverse ETL middle layer. They read directly from your product database or event stream and push updates to HubSpot.

Example flow:

  1. Connect Zoody (or similar tool) to your Postgres product database using a read-only user
  2. Select the tables or views containing user activity (e.g., users, sessions, feature_usage)
  3. Map the user identifier (email or external_id) to HubSpot's contact records
  4. Configure which columns to sync as HubSpot custom properties (last_login_date, total_sessions, feature_flags)
  5. Sync runs continuously - new logins update HubSpot within minutes

No data warehouse. No reverse ETL subscription. No dbt models.

What Product Usage Properties to Track

Start with properties that map directly to revenue signals:

Engagement metrics:

  • last_login_date (Date) - when they last opened the app
  • total_logins_last_30_days (Number) - rolling count
  • days_since_last_activity (Number) - inactivity counter for churn workflows

Feature adoption:

  • core_feature_adopted (Boolean) - true if they've completed your activation workflow (e.g., created a project, invited a teammate, sent their first campaign)
  • features_used_count (Number) - how many distinct features they've touched
  • feature_flags_active (Text) - comma-separated list of active feature flags

Product tier and usage:

  • current_plan (Enum) - free, pro, enterprise
  • monthly_active_seats (Number) - how many team members are active
  • usage_tier (Enum) - light, medium, power_user (calculated based on activity)

Lifecycle milestones:

  • trial_start_date (Date)
  • trial_end_date (Date)
  • first_paid_date (Date)
  • activation_completed_date (Date)

Scoring:

  • engagement_score (Number) - calculated score combining recency, frequency, feature adoption
  • pql_score (Number) - product-qualified lead score (engagement + fit)

Setting Up Automated Enrichment Flows

Once product usage properties are syncing to HubSpot, build workflows triggered by changes:

PQL routing workflow:

  • Trigger: Contact property engagement_score is greater than 75 AND current_plan is "free"
  • Action: Add to static list "High-Intent PQLs", assign to sales owner, send internal Slack notification

Churn prevention workflow:

  • Trigger: Contact property days_since_last_activity is greater than 14 AND current_plan is "pro"
  • Action: Enroll in email nurture sequence "Re-engagement Campaign", create task for CSM to reach out

Expansion workflow:

  • Trigger: Company property monthly_active_seats increases by 5+ in the last 7 days
  • Action: Create task for account executive to propose annual contract or enterprise upgrade

Sales enablement workflow:

  • Trigger: Deal stage changes to "Demo Scheduled"
  • Action: Send internal email to deal owner with contact's last_login_date, features_used_count, engagement_score so they have usage context before the call

Real-Time vs. Batch Syncing Considerations

Real-time sync (event-driven, updates within minutes):

  • Best for time-sensitive signals: trial expiration, feature adoption milestones, sudden engagement spikes
  • Enables immediate sales handoff when a user hits PQL criteria
  • Requires event stream infrastructure or frequent polling

Batch sync (scheduled, hourly or daily):

  • Sufficient for aggregate metrics: total_logins_last_30_days, days_since_last_activity
  • Lower infrastructure cost and API call volume
  • Acceptable for reporting and non-urgent workflows

Most RevOps teams want a mix: real-time for critical handoff signals, batch for reporting metrics. Tools that support both modes give you flexibility without over-engineering.

Use Cases: What You Can Do with Product Usage Enrichment

Product-Led Sales Workflows

Identify high-intent users without manual research:

A user signs up for your free plan, completes onboarding in 2 days, logs in daily for a week, and invites 3 teammates. Their engagement_score crosses 80.

Without product usage enrichment: Sales has no idea this user exists until they submit a "talk to sales" form. Opportunity missed.

With product usage enrichment: HubSpot workflow detects engagement_score > 80 and team_seats_active > 1. Automatically creates a deal, assigns to AE, adds contact to "High-Intent Outreach" sequence.

Real workflow setup:

  • Trigger: Contact property engagement_score becomes greater than or equal to 80
  • Criteria: current_plan is "free" AND team_seats_active is greater than 1
  • Actions:
    1. Create deal with pipeline "Product-Led Sales" and stage "PQL - Outreach"
    2. Set deal owner to contact owner (or round-robin if unassigned)
    3. Enroll contact in sequence "PQL Outreach - High Engagement"
    4. Send Slack notification to #sales channel with contact name and usage summary

Expansion and Upsell Plays

Spot power users ready for upsell:

A contact on your Pro plan ($99/mo) has usage_tier = "power_user" and features_used_count = 12 (you offer 15 total features). They're clearly getting value.

Expansion workflow:

  • Trigger: Contact property usage_tier changes to "power_user" AND current_plan is "pro"
  • Action: Create task for account executive: "Contact is power user on Pro plan - propose Enterprise upgrade or annual contract with discount"

Another example: company property monthly_active_seats jumps from 8 to 15 in the last week. They're growing and likely hitting seat limits.

Expansion workflow:

  • Trigger: Company property monthly_active_seats increases by 5 or more in the last 7 days
  • Action: Email to account owner: "Account [Company Name] added 5+ active seats this week. Check in on expansion opportunity."

Churn Prevention and Retention

Trigger retention campaigns before it's too late:

A contact on a paid plan hasn't logged in for 14 days. days_since_last_activity = 14, last_login_date = 14 days ago.

Churn prevention workflow:

  • Trigger: Contact property days_since_last_activity is greater than 14 AND current_plan is not "free"
  • Criteria: Contact is not already enrolled in "Churn Prevention Sequence"
  • Actions:
    1. Enroll in email sequence "Win-Back Campaign - Inactive Users"
    2. Create task for CSM: "Contact inactive for 14+ days - reach out to check in"
    3. Add to static list "At-Risk - Inactive"

You can also layer in firmographic criteria. If days_since_last_activity > 14 AND company_arr > $10,000, escalate to CSM immediately instead of automated email.

Sales Enablement and Context

Arm reps with usage context before calls:

Sales rep has a demo scheduled with a contact. Before the call, they want to know:

  • When did they sign up?
  • How active have they been?
  • Which features have they tried?

Without product usage enrichment, the rep has to ask engineering to pull a usage report (if they even think to ask). With product usage enrichment, the rep opens the HubSpot contact record and sees:

  • signup_date: 12 days ago
  • last_login_date: yesterday
  • total_logins_last_30_days: 8
  • features_used_count: 5
  • core_feature_adopted: true
  • engagement_score: 72

The rep now knows this contact is moderately engaged, has tried core features, and is likely evaluating seriously.

Automated sales briefing workflow:

  • Trigger: Deal property closedate is known (deal is in active pipeline) AND deal stage changes to "Demo Scheduled"
  • Action: Send internal email to deal owner with summary of contact's product usage properties from the associated contact record

Implementing Product Usage Enrichment: Step-by-Step

Step 1: Identify Your Key Product Signals

Audit your product database and product analytics tool. What tables or events contain usage data?

Example schema (Postgres):

  • users table: id, email, signup_date, last_login_at, plan_tier
  • sessions table: user_id, session_start, session_end
  • feature_events table: user_id, event_name, timestamp

Key signals to prioritize:

  1. Activation signal - has the user completed your core workflow? (e.g., created a project, sent a campaign, invited a teammate)
  2. Engagement frequency - how often do they log in? (daily, weekly, monthly)
  3. Feature breadth - how many features have they tried?
  4. Recency - when was their last activity?
  5. Team growth - how many teammates have they invited?

For each signal, decide:

  • What HubSpot property will store this? (Date, Number, Boolean, Enum)
  • Should it sync to Contact or Company records? (or both?)
  • What workflows will trigger off changes to this property?

Step 2: Map Product Users to HubSpot Records

Identity matching is critical. Your product users need to map to HubSpot contact records.

Common matching strategies:

  • Email match - if your product requires email signup and you collect email in HubSpot, match on email field
  • External ID - if you store a HubSpot contact ID or company ID in your product database, use that as a foreign key
  • Custom identifier - use a unique identifier field (e.g., user_uuid or account_id) and create a custom HubSpot property to store it

Most tools support matching by email out of the box. If your product allows multiple users per email (rare) or doesn't require email (consumer apps), you'll need a custom identifier strategy.

Create custom properties for product identifiers:

In HubSpot, create custom properties:

  • product_user_id (Single-line text) - stores your internal user ID for reference
  • product_account_id (Single-line text) - stores your internal account/company ID

Sync these IDs first, then use them for matching on subsequent syncs.

Step 3: Configure Automated Syncing

Once you've identified signals and matching strategy, configure the sync tool.

Example Zoody configuration:

  1. Connect to Postgres product database using read-only credentials
  2. Select users table as source
  3. Map email column to HubSpot contact email (identity match)
  4. Map additional columns to HubSpot custom properties:
    • last_login_atlast_login_date (Date property, auto-created)
    • plan_tiercurrent_plan (Dropdown property with options: free, pro, enterprise)
    • signup_datesignup_date (Date property)
  5. Set sync frequency: real-time (on database change) or hourly batch
  6. Enable automatic custom property creation (tool creates properties in HubSpot if they don't exist)

For aggregated metrics (not in a single table):

If you need calculated metrics (e.g., total_logins_last_30_days), options:

  • Create a database view that pre-aggregates the metric, then sync the view
  • Use your product analytics tool's calculated properties (Mixpanel, Amplitude) and sync those
  • Build the aggregation in HubSpot using calculation properties (if source data is already synced)

Step 4: Build Workflows and Automation

With product usage properties flowing into HubSpot, build workflows that act on the data.

Example workflow: PQL handoff

  1. Go to HubSpot Workflows → Create workflow → Contact-based
  2. Enrollment trigger: Contact property engagement_score is greater than or equal to 75
  3. Re-enrollment: Allow contacts to re-enroll when trigger criteria is met (in case score drops and rises again)
  4. Filter criteria: current_plan is "free" AND engagement_score_last_updated is in the last 1 day (prevents stale scores from triggering)
  5. Actions:
    • Create deal: Pipeline "Product-Led Sales", Stage "PQL - Outreach", Owner = contact owner
    • Set contact property: lifecycle_stage = "Product Qualified Lead"
    • Enroll in sequence: "PQL Outreach - High Engagement"
    • Send internal email to sales team with contact link and usage summary

Example workflow: Churn prevention

  1. Enrollment trigger: Contact property days_since_last_activity is greater than 14
  2. Filter criteria: current_plan is any of "pro", "enterprise" (exclude free users)
  3. Actions:
    • Add to static list: "At-Risk - Inactive Users"
    • Create task for CSM: "Contact inactive 14+ days - reach out"
    • Wait 3 days
    • If days_since_last_activity is still greater than 14, enroll in email sequence "Win-Back Campaign"

Test with a small segment first:

Don't roll out to your entire database on day one. Create a test list of 50-100 contacts, run the sync and workflows, verify data accuracy and workflow behavior. Then expand to full contact list.

How Zoody Makes Product Usage Enrichment Simple

Zoody connects your product database directly to HubSpot without requiring a data warehouse, reverse ETL tool, or custom engineering.

No Data Warehouse, No Engineering Required

Most product usage enrichment solutions assume you have a modern data stack: warehouse, dbt, reverse ETL. Zoody skips all of that.

How Zoody works:

  1. Connect Zoody to your product database (Postgres, MySQL, MongoDB) using a read-only user - or connect to your product analytics tool (Mixpanel, Amplitude, PostHog)
  2. Select the tables or events you want to sync (e.g., users, sessions, feature_usage)
  3. Zoody automatically maps columns to HubSpot custom properties, creating them if they don't exist
  4. Set your sync frequency: real-time (triggered on database writes) or scheduled batch (hourly, daily)
  5. Zoody matches product users to HubSpot contacts by email or custom identifier

No data warehouse subscription. No reverse ETL tool. No engineering work.

Tradeoffs:

  • HubSpot only - Zoody syncs to HubSpot, not Salesforce or other CRMs. If you're on HubSpot, this is the fastest path.
  • Not a replacement for product analytics - Zoody syncs usage data to HubSpot, but it's not a product analytics tool. You still need Mixpanel, Amplitude, or your own event tracking for detailed analysis.
  • Limited transformation - Zoody syncs database columns or pre-aggregated metrics. If you need complex transformations (multi-table joins, advanced calculations), you'll need a database view or calculated fields in your product analytics tool.

Real-Time Product Signals in HubSpot

Zoody syncs in near-real-time (updates within minutes of database changes) or on a schedule.

Real-time mode:

  • Zoody watches your product database for changes (using logical replication or polling)
  • When a user logs in and last_login_at updates, Zoody pushes the new value to HubSpot within 60-120 seconds
  • Ideal for time-sensitive signals: trial expiration, feature adoption milestones, PQL scoring

Scheduled batch mode:

  • Zoody runs a full sync on your chosen schedule (hourly, daily)
  • Lower API call volume, sufficient for aggregate metrics like total_logins_last_30_days
  • Cheaper on API rate limits if you have a large contact base

Most customers use real-time mode for critical properties (engagement_score, core_feature_adopted) and batch mode for reporting metrics.

Built for RevOps Teams

Zoody's interface is designed for RevOps managers who know HubSpot but not SQL or data engineering.

Setup flow:

  1. Authenticate with HubSpot (OAuth)
  2. Connect your product database (provide connection string)
  3. Zoody shows you available tables and columns
  4. Click the columns you want to sync
  5. Zoody auto-generates HubSpot custom property names (you can rename)
  6. Choose real-time or scheduled sync
  7. Click "Start Sync"

No code, no API keys to manage (beyond initial connection), no schema files.

Pricing:

  • Sandbox - Free, 100 contacts, connects to test databases
  • Pro - $149/mo flat rate, unlimited contacts, unlimited properties, real-time sync
  • Growth - $249/mo, adds company-level sync, advanced identity matching, priority support

Flat monthly rate, no per-contact or per-row pricing like reverse ETL tools.

Support:

Because Zoody is built for RevOps managers (not engineers), support is geared toward HubSpot workflow setup, property mapping, and identity matching questions - not database optimization or data modeling.

Complementary to firmographic enrichment:

Use Breeze Intelligence or Clearbit for firmographic data (company size, industry). Use Zoody for product usage data (login frequency, feature adoption). Both enrich different dimensions of your contact records.

Combining Product Usage Data with Firmographic Enrichment

The Best of Both Worlds Approach

Firmographic enrichment and product usage enrichment solve different problems. Use both.

Firmographic enrichment (Clearbit, Breeze Intelligence):

  • Company size (employee count, ARR estimate)
  • Industry and vertical
  • Location (HQ city, country)
  • Tech stack (technologies used)
  • Funding and growth signals

Product usage enrichment (Zoody, custom integration, reverse ETL):

  • Login frequency and recency
  • Feature adoption and activation
  • Usage tier and engagement score
  • Product milestones and lifecycle events

Combined use case:

Target high-fit accounts with high engagement for sales outreach.

Lead scoring formula:

  • Fit score (0-50):
    • Company size 50-500 employees: +20
    • Industry = SaaS or Tech: +15
    • Location = US, Canada, UK: +10
    • Uses HubSpot (tech stack signal): +5
  • Engagement score (0-50):
    • Logins last 7 days > 3: +15
    • Core feature adopted: +20
    • Features used count > 5: +10
    • Days since last activity < 3: +5

Total score = Fit + Engagement (max 100)

Contacts scoring 80+ are high-fit, high-engagement PQLs. Route to sales immediately.

Workflow setup:

  • Trigger: Calculated property total_lead_score (Fit + Engagement) becomes greater than or equal to 80
  • Action: Create deal, assign to AE, enroll in sequence

Without product usage data, you'd route based on firmographic fit alone - resulting in low-quality leads who haven't engaged. Without firmographic data, you'd route highly engaged users from tiny companies with no budget. Both data types together create better targeting.

Building Comprehensive Lead Scoring Models

Step 1: Define fit criteria

Use firmographic data to define your ICP:

  • Company size: 50-5,000 employees
  • Industries: SaaS, Marketing Tech, E-commerce
  • Locations: US, Canada, UK, Australia
  • Tech stack: Uses HubSpot, Salesforce, or Stripe (buying signals)

Assign point values to each criterion. Store as calculated property fit_score.

Step 2: Define engagement criteria

Use product usage data to measure engagement:

  • Frequency: logins per week, sessions per month
  • Recency: days since last activity
  • Depth: feature adoption, workflow completion
  • Growth: team invites, seat expansion

Assign point values. Store as property engagement_score.

Step 3: Combine into total score

Create calculated property total_lead_score = fit_score + engagement_score.

Step 4: Route based on score + stage

  • Score 80-100 + free plan = PQL, route to sales
  • Score 60-79 + free plan = warm lead, nurture sequence
  • Score 80-100 + paid plan = expansion opportunity, route to account management
  • Score 30-59 + paid plan + inactive = churn risk, retention workflow

This model surfaces the right leads at the right time, combining who they are (firmographic) with what they're doing (behavioral).

FAQ

What's the difference between product usage enrichment and tools like Clearbit or Breeze?

Clearbit and Breeze Intelligence enrich contact records with firmographic data - company size, industry, location, tech stack - sourced from public datasets and third-party data providers. They tell you WHO the contact is and whether they fit your ICP.

Product usage enrichment syncs behavioral data from your product database - login frequency, feature adoption, usage milestones, engagement scores. It tells you WHAT the contact is doing inside your product and HOW engaged they are.

Firmographic enrichment qualifies the account. Product usage enrichment qualifies the opportunity. You need both for complete lead scoring.

Do I need a data warehouse to sync product usage data to HubSpot?

No, but most traditional solutions (reverse ETL tools like Hightouch and Census) assume you have one. They're built for the modern data stack: product events → warehouse → dbt transformations → reverse ETL → HubSpot.

Tools like Zoody skip the warehouse and connect directly to your product database or product analytics tool (Mixpanel, Amplitude). This eliminates warehouse costs ($150-$500/mo), reverse ETL subscriptions ($350-$800/mo), and the engineering work to maintain the pipeline.

If you already have a data warehouse and reverse ETL for other use cases (syncing to Salesforce, Marketo, etc.), keep using it. If you're only syncing product data to HubSpot, direct database sync is faster and cheaper.

How can I get product usage data into HubSpot without engineering resources?

Use a tool that connects your product database directly to HubSpot and handles identity matching, property creation, and sync scheduling automatically.

No-code options:

  • Zoody - connects product database or analytics tool to HubSpot, no warehouse required. RevOps manager can set up in 15 minutes.
  • HubSpot Operations Hub + custom code workflows (requires Professional or Enterprise tier) - write JavaScript to call external APIs or query databases. Steeper learning curve, but no external tool subscription.

Low-code options:

  • Zapier or Make (formerly Integromat) - build automation flows that pull data from your product (via API) and push to HubSpot. Limited to scheduled batch syncs, can get expensive at volume.

Avoid solutions that require you to build and maintain a custom API integration. That defeats the "no engineering" requirement.

What product usage signals should I track in HubSpot for product-led sales?

Start with signals that indicate buying intent or readiness for sales conversation:

Critical signals:

  • engagement_score - composite score combining frequency, recency, feature adoption
  • core_feature_adopted - boolean flag for activation milestone
  • current_plan - free, pro, enterprise (to segment PQLs from expansion opportunities)
  • last_login_date - recency signal for churn risk and sales timing

Supporting signals:

  • total_logins_last_30_days - frequency metric
  • features_used_count - breadth of adoption
  • team_seats_active - multi-user accounts are higher intent
  • days_since_last_activity - inactivity counter for churn prevention

Milestone flags:

  • trial_end_date - urgency signal for trial-to-paid conversion
  • first_paid_date - lifecycle transition
  • expansion_milestone_reached - custom flag for usage thresholds (e.g., "sent 1,000 emails", "created 10 projects")

Prioritize properties that directly trigger workflows: PQL routing, churn prevention, expansion plays. Avoid syncing every raw event - aggregate into meaningful metrics.

Can I use product usage enrichment alongside Clearbit or Breeze Intelligence?

Yes, they're complementary. Use Clearbit or Breeze Intelligence for firmographic data (company size, industry, location). Use product usage enrichment for behavioral data (login frequency, feature adoption, engagement).

Both enrich different dimensions of your contact records. Best practice: build lead scoring that combines both.

Example combined workflow:

  • Firmographic criteria (from Breeze): Company size 100-1,000 employees, Industry = SaaS, HQ location = US
  • Behavioral criteria (from product usage sync): Engagement score > 75, Core feature adopted = true, Logins last 7 days > 3
  • Action: If both criteria met, create deal and route to sales as high-fit, high-engagement PQL

This avoids routing low-engagement leads from great-fit companies (waste of sales time) and avoids routing highly engaged users from tiny companies with no budget (poor close rate).

Run both enrichment systems in parallel. They don't conflict - they write to different custom properties on the same contact records.

Compare alternatives

Explore use cases

Be one of the first 10

Founding testers shape what Zoody becomes. Free forever once you're in, every paid feature unlocked, direct Slack with the founder.

More resources