Skip to main content

Getting Started

UpsellSDK helps SaaS companies convert free users to paid by tracking usage signals and syncing conversion intent to HubSpot.

How It Works

User hits limit → SDK tracks event → Syncs to HubSpot → CS team gets notified
  1. Install the SDK in your app
  2. Identify users when they log in
  3. Track conversion signals (limits reached, features blocked, trial warnings)
  4. HubSpot syncs automatically with custom contact properties
  5. Your CS team gets notified when users are ready to convert

Quick Start

1. Install

npm install @upsellsdk/js

2. Initialize

import { upsell } from '@upsellsdk/js'

upsell.init({ apiKey: 'us_your_api_key' })

3. Identify Users

upsell.identify('user-123', {
email: 'user@example.com',
plan: 'free',
company: 'Acme Inc'
})

4. Track Conversion Signals

// User hit a usage limit
upsell.track('limit_reached', {
feature: 'projects',
current: 5,
limit: 5
})

// User tried to access a blocked feature
upsell.track('feature_blocked', {
feature: 'analytics'
})

// Trial ending soon
upsell.track('trial_warning', {
daysLeft: 3
})

What Gets Synced to HubSpot?

When events are tracked, we automatically update HubSpot contacts with:

PropertyDescription
upsellsdk_planCurrent plan
upsellsdk_upgrade_intenthigh/medium/low
upsellsdk_last_eventMost recent event name
upsellsdk_last_event_atTimestamp

Next Steps