← All resources
GuideAug 11, 202618 min read

Product Adoption Metrics to Track in HubSpot

Learn which product adoption metrics to sync to HubSpot, activation rate, feature adoption, DAU/WAU, and time-to-value, and how to set them up as properties.

Quick answer: Track activation rate, feature adoption, DAU/WAU stickiness, and time-to-value as HubSpot contact properties. These four metrics tell you whether users are getting value from your product, which features they use, how often they return, and how quickly they hit their first milestone. Store activation as a boolean (is_activated) or date property (activation_date), feature adoption as checkbox or number properties per feature, DAU/WAU as a rolling ratio, and time-to-value as a number field (days or hours from signup to first outcome).

  • Activation rate - Percentage of users who complete key setup steps. Track as is_activated (boolean) or activation_date (date).
  • Feature adoption - Which core features users actually engage with. Track as feature_x_used (checkbox) or feature_x_count (number).
  • DAU/WAU stickiness - How often activated users return. Store as a rolling ratio property, updated weekly.
  • Time-to-value - Days/hours from signup to first meaningful outcome. Store as time_to_value_days (number).

Why Product Adoption Metrics Belong in HubSpot

Product adoption metrics tell you which users are getting value from your product and which are struggling. Activation rate shows whether users complete setup. Feature adoption reveals which capabilities drive engagement. DAU/WAU stickiness measures how often users return. Time-to-value tracks how quickly new signups hit their first milestone.

Most B2B SaaS companies track these metrics in product analytics tools like Mixpanel, Amplitude, or PostHog. The problem is your sales and customer success teams live in HubSpot. When product signals stay trapped in analytics dashboards, Sales can't prioritize activated users for outreach and CS can't spot low-engagement accounts before they churn.

The Gap Between Product Usage and CRM Data

A typical scenario: your CSM opens HubSpot to prep for a customer check-in. The contact record shows email opens, meeting history, and support tickets. What it doesn't show is that the user logged in once three weeks ago, never activated the core feature, and hasn't returned since. The CSM walks into the call blind to the most important signal, product usage.

This gap exists because getting product data into HubSpot traditionally requires building a data warehouse, setting up event tracking pipelines, transforming raw events into metrics, and running reverse ETL to sync the results back to HubSpot. Most teams under $10M ARR don't have the engineering bandwidth to build that stack, so product signals never reach the CRM.

Getting product usage data into HubSpot has gotten easier. Modern tools sync product events directly to HubSpot without requiring a warehouse. This means RevOps teams can surface activation status, feature usage, and engagement frequency on contact and company records without writing pipeline code.

How Product Signals Improve RevOps Outcomes

When product adoption metrics live in HubSpot, your revenue teams can act on them:

  • Sales can prioritize outreach to activated free users who've hit usage milestones (PQLs) instead of cold-calling every signup.
  • CS can identify low-engagement accounts before renewal and trigger proactive check-ins.
  • Marketing can segment campaigns by feature adoption, sending upsell emails to users who've mastered the core product.
  • RevOps can build customer health scores that combine product usage with traditional signals like support tickets and NPS.

The key is making product metrics visible in the tools your teams already use daily. Adding activation_date, feature_x_count, and dau_wau_ratio properties to your HubSpot contacts turns vague hunches about product engagement into concrete, actionable data.

Core Product Adoption Metrics Worth Tracking

Not every product metric belongs in your CRM. Page views, session counts, and button clicks are useful for product teams optimizing UI, but they don't help Sales or CS make decisions. Focus on metrics that signal value delivered or risk emerging.

Four metrics cover most B2B SaaS use cases:

  1. Activation rate - Did the user complete setup and reach first value?
  2. Feature adoption rate - Which core features are they actually using?
  3. DAU/WAU ratio (stickiness) - How often do they come back after activating?
  4. Time-to-value - How long did it take them to hit their first meaningful outcome?

Activation Rate: Did They Get Started?

Activation rate measures the percentage of signups who complete your defined activation milestone. That milestone varies by product. For a project management tool, activation might be "created first project and invited a teammate." For an analytics platform, it might be "connected a data source and viewed a report."

The metric itself is simple: activated users divided by total signups. What matters is defining the right activation event. It should represent the moment a user gets enough value that they're likely to return. Too early (just signed up) and you're tracking noise. Too late (completed a 30-day workflow) and you miss users who churned before reaching it.

Track activation as a boolean contact property (is_activated) or a date property (activation_date). The boolean is simpler for workflow triggers. The date lets you calculate time-to-value and build cohort reports.

Feature Adoption Rate: Are They Using Core Features?

Feature adoption rate tracks what percentage of users engage with specific product capabilities. This matters for three reasons:

  1. Upsell qualification - Users who adopted advanced features are better upsell targets than users stuck on the basics.
  2. Churn prevention - Users who never adopt core features churn faster. You need to spot them early.
  3. Product roadmap signals - If a feature has low adoption, it's either poorly designed or poorly explained.

Track feature adoption as checkbox properties (feature_x_used) or number properties (feature_x_count). Checkbox properties work for binary "have they ever used this feature?" tracking. Number properties work better if usage frequency matters. For example, api_calls_count or reports_created_count let you segment power users from light users.

Don't track every feature. Pick 3-5 core capabilities that correlate with retention. More than that and your HubSpot property list becomes unmanageable.

DAU/WAU Ratio (Stickiness): How Often Do They Come Back?

DAU/WAU ratio measures engagement frequency. It's the number of unique days a user was active in the past week divided by 7 (or the number of unique days in the past 28 days divided by 28 for monthly stickiness). A ratio of 0.5 means the user logged in about half the days in the period. A ratio of 0.1 means they logged in once and disappeared.

This metric separates activated users who get ongoing value from activated users who tried the product once and forgot about it. High stickiness correlates strongly with retention. Low stickiness after activation is an early churn warning.

Store this as a number property (dau_wau_ratio or stickiness_score) updated weekly. You can either calculate it in your product analytics tool and sync the result, or calculate it in HubSpot using a workflow that counts last_activity_date updates over a rolling window (more complex, but keeps all logic in HubSpot).

Time-to-Value: How Quickly Did They See Results?

Time-to-value (TTV) is the duration between signup and activation. Fast TTV correlates with higher trial-to-paid conversion and lower early churn. Slow TTV means your onboarding flow has friction or unclear value props.

Track this as a number property in days or hours (time_to_value_days). Calculate it by subtracting signup_date from activation_date. If a user hasn't activated yet, the field stays empty or shows a null value.

Segment users by TTV to identify cohorts that activate quickly vs. slowly. Users who activate in under 24 hours behave differently from users who take a week. Fast activators might need less hand-holding. Slow activators might need proactive outreach from CS.

How to Represent Each Metric as HubSpot Properties

HubSpot properties come in specific data types: text, number, date, checkbox, dropdown, multiple checkboxes. Choosing the right type matters because it affects how you can use the property in workflows, reports, and filters.

Property Structure for Activation Metrics

Activation works best as two properties:

  1. is_activated (Checkbox / Boolean) - Set to true when the user completes the activation event. This is the simplest property to use in workflow enrollment triggers ("Contact Property > is_activated > is known") and list filters.

  2. activation_date (Date) - The timestamp when activation occurred. Use this to calculate time-to-value, build cohort reports by activation month, or trigger time-delayed workflows ("3 days after activation_date, send this email").

Both properties update once when the user activates. They don't change after that unless you reset them (which you usually don't).

Example: A user signs up on January 5, then completes your activation milestone (say, "created first project and invited a teammate") on January 7. On January 7, your product event tracking sends an event to HubSpot. A workflow or direct property sync sets is_activated to true and activation_date to 2026-01-07.

Tracking Feature Adoption in HubSpot

Feature adoption requires one property per tracked feature. Use checkbox properties for binary tracking (used / not used) or number properties for usage counts.

Checkbox approach:

  • feature_reports_used (Checkbox) - Set to true the first time the user views a report.
  • feature_api_used (Checkbox) - Set to true the first time they make an API call.
  • feature_integrations_used (Checkbox) - Set to true when they connect an integration.

This works well when you only care whether the feature was ever adopted, not how often.

Number approach:

  • reports_created_count (Number) - Increments each time the user creates a report.
  • api_calls_count (Number) - Increments with each API call.
  • integrations_connected_count (Number) - Count of active integrations.

This gives you more granularity. You can segment "created 1-5 reports" vs. "created 50+ reports" to identify power users.

Multiple checkboxes approach:

  • features_adopted (Multiple Checkboxes) - Options: Reports, API, Integrations, Exports, Automation. Check each option when the user adopts that feature.

This keeps your property list shorter but makes workflow logic slightly more complex (you have to check "contains" rather than "is known").

Pick the approach that matches how your sales and CS teams think about usage. If they ask "did this user ever try the API?" use checkboxes. If they ask "how many API calls did they make?" use numbers.

Representing Engagement Frequency (DAU/WAU)

Store DAU/WAU as a number property with a value between 0 and 1 (or 0 to 100 if you prefer percentages). Update it weekly or monthly.

Property definition:

  • Name: dau_wau_ratio or engagement_score
  • Type: Number
  • Description: Ratio of unique active days in the past 7 days to 7. Updated weekly. 0.5 = active 3-4 days, 0.1 = active 1 day.

Calculating this in HubSpot workflows is tricky because it requires counting discrete events over a rolling window. Most teams calculate DAU/WAU in their product analytics tool or data warehouse and sync the result to HubSpot as a pre-computed number.

If you're using a direct product-to-HubSpot sync tool like Zoody, you can define a calculation that counts login_event occurrences in the past 7 days, divides by 7, and writes the result to the dau_wau_ratio property on a weekly schedule.

Capturing Time-to-Value Data

Time-to-value is a calculated field. Store it as a number property representing days (or hours if your product has fast onboarding).

Property definition:

  • Name: time_to_value_days
  • Type: Number
  • Description: Days from signup_date to activation_date. Empty if not yet activated.

Calculation logic:

  • When activation_date is set, calculate activation_date - signup_date and write the result to time_to_value_days.
  • If the user hasn't activated, leave the field empty or set it to null.

You can calculate this in a HubSpot workflow using the "Calculate a property value" action (if your HubSpot tier supports it) or by sending the pre-calculated value from your product backend when you log the activation event.

Contact vs. Company Property Strategy

Product adoption metrics typically start as contact-level properties because individual users log in, activate, and use features. Company-level rollups come later.

Contact properties:

  • is_activated, activation_date, time_to_value_days, dau_wau_ratio, feature_x_used, feature_x_count

Company properties (rollups):

  • activated_users_count - Number of activated users at this company
  • total_users_count - Total users (contacts) associated with this company
  • company_activation_rate - activated_users_count / total_users_count
  • company_dau_wau_ratio - Average stickiness across all company users
  • power_users_count - Users with high feature adoption

You need company rollups for account-based workflows and CS health scoring. Calculate these in a workflow that runs whenever a contact property updates, or use a HubSpot calculated property if your tier supports company-level calculations.

Building a customer health score in HubSpot often combines contact-level product usage with company-level rollups. For example, health score might penalize accounts where fewer than 20% of users have activated or where average DAU/WAU is below 0.2.

Syncing Product Usage Data to HubSpot

You can't set HubSpot properties manually for every user. You need an automated sync from your product backend or product analytics tool.

Traditional Approach: Data Warehouse + Reverse ETL

The traditional method for getting product data into HubSpot involves five steps:

  1. Event tracking - Instrument your product to send events (signups, logins, feature usage) to a product analytics tool or directly to your data warehouse.
  2. Data warehouse - Store raw events in Snowflake, BigQuery, or Redshift.
  3. Transformation - Use dbt or SQL to transform raw events into metrics (activation_date, feature_x_count, dau_wau_ratio).
  4. Reverse ETL - Use a tool like Hightouch or Census to sync the transformed metrics from your warehouse to HubSpot as contact properties.
  5. Mapping - Map warehouse columns to HubSpot property internal names and set sync frequency.

This works if you already have a data warehouse and a data engineering team. Costs add up: Snowflake starts around $200/mo, reverse ETL tools start at $350-$800/mo, plus engineering time to build and maintain the pipelines.

Most B2B SaaS companies under $10M ARR don't have this infrastructure. They track product events in tools like Mixpanel or Amplitude, but those events stay siloed in the analytics tool.

Reverse ETL explained covers when you need a warehouse and when you can skip it. If you're only syncing product metrics to HubSpot and not running complex multi-source transformations, you don't need the full reverse ETL stack.

Modern Approach: Direct Product-to-HubSpot Sync

A simpler approach sends product events directly to HubSpot without a warehouse in the middle. Tools in this category (including Zoody, which we built for exactly this use case) let you:

  1. Track events - Send product events from your backend or analytics tool.
  2. Define properties - Map events to HubSpot contact properties (e.g., "user_activated" event sets is_activated to true and activation_date to event timestamp).
  3. Sync in real time - Properties update on the HubSpot contact record immediately when the event fires.
  4. No warehouse required - No Snowflake, no dbt, no reverse ETL layer.

This approach works well for PLG companies that need Sales and CS teams to act on product signals fast. Real-time sync means your AE sees that a free user just activated while they're still in the product trial, not three days later when the nightly batch runs.

Zoody handles this by connecting to your product analytics tool (or accepting events directly from your backend), mapping those events to HubSpot properties you define, and syncing them to HubSpot in real time. No data warehouse required. Flat pricing at $149/mo for the Pro tier, vs. $350-$800/mo for reverse ETL tools plus warehouse costs.

Tradeoff: This approach works if HubSpot is your single source of truth for CRM data. If you need to sync product metrics to HubSpot, Salesforce, and Zendesk simultaneously from a single warehouse model, reverse ETL makes more sense. If you're a HubSpot-first team that just needs product signals on contact records, direct sync is faster and cheaper.

Implementation Considerations

Before you flip the switch on syncing product data to HubSpot, plan for:

Event mapping - Which product events correspond to which HubSpot properties? Write this mapping down. Example: "project_created" event sets is_activated to true. "report_viewed" event increments reports_viewed_count.

Property limits - HubSpot Professional allows 1,000 contact properties. HubSpot Starter allows 50. Count your existing properties before adding 20 new product usage fields. You may need to archive unused properties first.

Sync frequency - Real-time sync is ideal but not always necessary. Activation status needs to update immediately. DAU/WAU can update daily or weekly. Pick sync frequency based on how your teams use the data.

Historical data - Decide whether to backfill historical product usage or only sync forward from the integration launch date. Backfilling lets you score existing contacts, but it can take time to process if you have thousands of users. Most teams start with a clean slate and backfill activation status only.

Testing - Create a test contact in HubSpot, trigger a product event on a test account, and verify the property updates as expected. Don't roll out to your entire sales team until you've validated the data flow.

Using Product Adoption Metrics in HubSpot Workflows and Scoring

Once product adoption metrics live in HubSpot as properties, you can use them everywhere: workflow triggers, list filters, lead scoring, reporting, and custom views.

Workflow Triggers Based on Adoption Events

Product usage makes a strong workflow trigger because it reflects real user behavior, not just email clicks or form fills.

Activation milestone workflow:

  • Trigger: Contact property is_activated is known (changed to true)
  • Action 1: Send congratulations email ("You're all set up, here's what to do next")
  • Action 2: Notify assigned CSM via Slack or email
  • Action 3: Add contact to "Activated Users" list

Low engagement alert workflow:

  • Trigger: Contact property dau_wau_ratio is less than 0.1 AND is_activated is true
  • Action 1: Create task for CSM to reach out
  • Action 2: Send re-engagement email series

Power user identification workflow:

  • Trigger: Contact property reports_created_count is greater than 50
  • Action 1: Add contact to "Power Users" list
  • Action 2: Send upsell email offering advanced features or higher tier
  • Action 3: Notify sales rep to schedule expansion call

Feature adoption campaign workflow:

  • Trigger: Contact is in "Activated Users" list AND feature_integrations_used is unknown (they haven't connected an integration)
  • Action 1: Wait 7 days after activation
  • Action 2: Send educational email about integrations feature
  • Action 3: Wait 7 more days, if still not adopted, create task for CSM

Identifying and tracking product-qualified leads in HubSpot depends on workflows like these. A PQL is typically a free user who has activated, used core features, and hit usage thresholds that signal buying intent.

Feeding Metrics into Customer Health Scores

Customer health scores combine multiple signals to predict churn risk or expansion opportunity. Product adoption metrics are the most predictive signals you can add.

A basic health score formula might look like:

  • +20 points if is_activated is true
  • +10 points if dau_wau_ratio > 0.3 (active at least 2 days per week)
  • +5 points per feature adopted (up to 3 features = +15 max)
  • -10 points if time_to_value_days > 14 (slow activation)
  • -20 points if dau_wau_ratio < 0.1 (barely active)

Store the result in a calculated property or workflow-updated property called health_score. Trigger CS outreach workflows when the score drops below a threshold.

You can also roll up contact-level metrics to company-level health scores. For example, calculate company_activation_rate (percentage of users at the account who are activated) and penalize accounts where fewer than 30% of users have activated. That's a red flag that the product didn't stick across the team.

Segmentation for Targeted Campaigns

Product adoption metrics let you segment users by behavior, not just demographics or firmographics.

Example segments:

  • Activated, high stickiness - Prime upsell targets. They're getting value.
  • Activated, low stickiness - Churn risk. They activated but stopped using the product.
  • Not yet activated, fast signups - Signed up recently but haven't activated. Send onboarding nudges.
  • Not yet activated, slow signups - Signed up weeks ago, still not activated. Likely to churn unless you intervene.
  • Feature X adopted, Feature Y not adopted - Target for Feature Y education campaign.

Build these as HubSpot active lists using the product properties as filters. Use them in email campaigns, ad retargeting, and CSM outreach prioritization.

Product-led growth relies on these segments to route free users through nurture vs. sales-touch vs. self-serve paths based on their product behavior, not guesses about intent.

FAQ

How to calculate product adoption rate?

Product adoption rate is the percentage of users who complete a defined adoption milestone within a time period. Formula: (number of users who adopted / total users) x 100. For example, if 150 out of 200 signups activated in the first 30 days, your 30-day adoption rate is 75%. Define "adopted" based on your product's key value moment (created a project, connected a data source, sent their first campaign). Track this in HubSpot by storing is_activated as a contact property, then building a report that counts activated contacts divided by total contacts in a date range.

How to track product adoption?

Track product adoption by instrumenting key product events (signups, activation milestones, feature usage) and syncing them to HubSpot as contact properties. Use event tracking in your product backend or analytics tool to capture when users complete activation steps. Map those events to HubSpot properties like is_activated, activation_date, and feature-specific properties. Update properties in real time using a direct sync tool or batch sync via reverse ETL. Once in HubSpot, use the properties in workflows, reports, and scoring models.

What is the product adoption score?

A product adoption score (sometimes called engagement score or health score) quantifies how deeply a user has adopted your

Compare alternatives

Explore use cases

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.

More resources