HubSpot

Upsell & Expansion with HubSpot

How to drive expansion revenue using HubSpot. Step-by-step implementation guide with real examples.

RD
Ronald Davenport
March 24, 2026
Table of Contents

Why Most Upsell Motions Fail Before They Start

The problem isn't that your customers aren't ready to expand. It's that you don't know which ones are ready, and you reach out too late, too early, or with the wrong offer.

HubSpot gives you the infrastructure to fix this — not through guesswork, but through behavioral signals, lifecycle tracking, and automated workflows that surface the right accounts at the right moment. This guide walks you through exactly how to build that system.

---

The Core Framework: Signal, Score, Sequence

Before touching any HubSpot feature, you need to align on the approach. Upsell and expansion in HubSpot runs on three mechanics:

  1. Signal collection — tracking product usage, engagement, and account health data inside HubSpot
  2. Expansion scoring — building a score that identifies upgrade-ready accounts
  3. Sequenced outreach — triggering the right message when the score threshold is hit

Each step depends on the one before it. Skip signal collection, and your scoring is meaningless. Skip scoring, and your sequences are just bulk emails.

---

Step 1: Structure Your CRM for Expansion Data

HubSpot's default contact and company properties weren't built with expansion revenue in mind. You need to extend them.

Custom Properties to Create

Go to Settings > Properties and create the following at the Company level:

  • `Current Plan` — single-line text or dropdown
  • `Plan Tier` — dropdown (Starter, Pro, Enterprise, etc.)
  • `Seats Used` / `Seats Purchased` — number fields
  • `Last Renewal Date` — date property
  • `NPS Score` — number field
  • `Product Usage Score` — number field (synced from your product or data warehouse)
  • `Expansion Opportunity` — dropdown (None, Upsell, Cross-sell, Seat Expansion)

If you're passing usage data from your product into HubSpot, use the HubSpot API or a connector like Segment or Census to write these values to company or contact records on a scheduled sync.

---

Step 2: Build Your Expansion Score

HubSpot's Custom Score property (available in Marketing Hub Professional and above) lets you assign point values based on property conditions and activity. Use it to build an Expansion Score.

Setting Up the Score

Navigate to Contacts > Properties, create a new property of type Score, and name it `Expansion Score`.

Add criteria across two categories:

Positive signals (add points):

  • Product usage score above 70 — +20 points
  • Logged in more than 3 times in the last 30 days — +15 points
  • Seats used is 90% or more of seats purchased — +25 points
  • NPS score is 8 or above — +10 points
  • Has opened 2+ customer emails in the last 60 days — +10 points
  • Company has been a customer for 12+ months — +5 points

Negative signals (subtract points):

  • Support tickets opened in last 30 days is 3 or more — -20 points
  • Last login was more than 45 days ago — -15 points
  • NPS score is 6 or below — -25 points

Set a threshold — typically 50 to 60 points — as your trigger for expansion outreach. Adjust based on your close rate data after the first 60 days of running this.

---

Step 3: Create Expansion Lists

With your score in place, build Active Lists in HubSpot that update automatically as records change.

Key Segments to Build

  • Upsell Ready — Expansion Score ≥ 60 AND Current Plan is Starter or Pro AND Expansion Opportunity is Upsell
  • Seat Expansion — Seats Used ÷ Seats Purchased ≥ 0.9 (use a calculated property or filter directly)
  • Cross-sell Candidates — Current Plan does not include [Feature X] AND Product Usage Score ≥ 65
  • At-Risk Accounts — Expansion Score dropped more than 20 points in 30 days

These lists feed directly into workflows and give your CS and sales team filtered views without manual filtering.

---

Getting the most out of HubSpot?

I'll audit your HubSpot setup and show you where revenue is hiding.

Step 4: Automate the Outreach with Workflows

HubSpot Workflows (Marketing Hub Professional+) are where signal turns into action.

Upsell Trigger Workflow

Build a Company-based workflow with this logic:

  1. Enrollment trigger: Company is member of "Upsell Ready" list
  2. Delay: Wait 1 day (to prevent instant sends that feel automated)
  3. Action: Send internal notification to the assigned CSM via HubSpot Tasks and Slack (if Slack integration is enabled)
  4. Action: Enroll company's primary contact into an Email Sequence (see below)
  5. If/Then Branch: If contact replies within 5 days → create a deal in the pipeline; if no reply → send follow-up email at day 7
  6. Goal: Deal created in "Expansion" pipeline stage

Seat Expansion Workflow

This one is simpler and more transactional:

  1. Trigger: Seats Used ≥ 90% of Seats Purchased
  2. Action: Send a targeted email explaining the seat limit and upgrade path
  3. Action: Create a task for the account owner to follow up within 48 hours
  4. Action: Update `Expansion Opportunity` property to "Seat Expansion"

---

Step 5: Build the Expansion Email Sequences

HubSpot Sequences (Sales Hub Professional+) let your reps send semi-automated, personalized outreach that pauses when a contact replies.

A three-email sequence for upsell outreach should look like this:

  • Email 1 (Day 0): Reference their current usage. Name the specific feature or tier they'd unlock. No generic "checking in."
  • Email 2 (Day 5): Share a customer story or outcome tied to the upgrade. Keep it under 100 words.
  • Email 3 (Day 10): Make the ask direct. Offer a 20-minute call or a trial of the next tier.

Use Sequence Templates with personalization tokens for `Current Plan`, `Seats Used`, and `First Name` to keep these emails specific without manual editing for every contact.

---

Step 6: Report on Expansion Revenue

Go to Reports > Custom Reports and build an expansion pipeline report using:

  • Object: Deals filtered by pipeline = "Expansion"
  • Metrics: Deal amount, close date, associated company, original plan tier
  • Breakdown: By CSM owner, by expansion type (upsell vs. seat vs. cross-sell)

Add this report to a HubSpot Dashboard shared with your CS and revenue leadership. Review it weekly.

---

Limitations to Know

HubSpot is strong on workflow automation and CRM structure, but there are real gaps here:

  • Product usage data doesn't live natively in HubSpot. You need a third-party sync (Segment, Census, or a custom API integration) to get usage signals into the platform. Without this, your expansion score is based on engagement proxies, not actual behavior.
  • Scores are static until manually recalculated or triggered. HubSpot Score properties update when conditions are met, but they don't decay automatically unless you build that logic into a workflow.
  • Sequences require a Sales Hub Pro license. If your team only has Marketing Hub, you're limited to workflow-based email sends, which lack the reply detection that makes sequences effective.
  • No native product analytics. Unlike tools built specifically for PLG motions, HubSpot doesn't have a usage analytics layer. You're always pulling that data in from outside.

---

Frequently Asked Questions

Can I run this expansion system without Sales Hub?

Partially. You can build the scoring, lists, and workflow-based email automation with Marketing Hub Professional. What you lose without Sales Hub is Sequences — the semi-automated, reply-aware email tool. You'd need to replicate that logic manually through workflows with enrollment goals, which works but requires more maintenance.

How do I get product usage data into HubSpot if I don't have an engineering team?

Tools like Census, Hightouch, or Segment offer no-code or low-code syncs from your data warehouse or product database to HubSpot custom properties. If you're on a tighter budget, Zapier can move basic event data from tools like Mixpanel or Amplitude into HubSpot contact and company properties on a scheduled basis.

What's a realistic timeline to see this system working?

Expect two to three weeks to set up properties, scoring, lists, and workflows if you already have your product data syncing. The first 30 to 60 days after launch are calibration time — you'll need to adjust score thresholds based on which accounts actually convert. Don't lock your scoring model in stone before you've seen real results.

How do I prevent this from becoming spam to my best customers?

Use suppression lists in your workflows. Any contact who has an open support ticket, an NPS score below 7, or who has engaged with an expansion email in the last 90 days should be excluded from enrollment. HubSpot's workflow enrollment filters make this straightforward — set the suppression conditions in the "Filters" tab of your enrollment trigger.

Related resources

Get the Lifecycle Playbook

One framework per week. No fluff. Unsubscribe anytime.