Most SaaS pricing pages fail at the same point: the prospect needs a quote but doesn't want to talk to sales yet. They leave, compare competitors, and maybe come back, or they don't. A self-serve pricing calculator bridges that gap. Prospects enter their requirements, see an instant estimate, and give you qualified lead data in the process.
This guide walks you through building an interactive SaaS pricing calculator widget with involve.me that lets visitors configure their own quote, captures their details, and pushes everything to your CRM.
Why Self-Serve Pricing Calculators Work for SaaS
Buyers want control. Research from Gartner consistently shows that B2B buyers prefer to gather information independently before engaging with a sales rep. For usage-based or tiered SaaS pricing, a static pricing table can't cover every configuration.
A pricing calculator solves this by:
Reducing friction: prospects get answers instantly instead of waiting for a sales call
Qualifying leads silently: the inputs they provide (team size, feature needs, usage volume) are the same questions your SDR would ask
Anchoring on value: when prospects see what they'll pay alongside what they'll get, the conversation shifts from cost to value
Capturing high-intent data: someone configuring a quote is further down the funnel than someone downloading a whitepaper
Planning Your Pricing Calculator
Define Your Pricing Variables
Before building, list every factor that affects your price:
Seat count or user licenses — most common for team-based SaaS
Usage volume — API calls, storage, contacts, events, messages per month
Feature tier — basic, professional, enterprise feature sets
Contract length — monthly vs. annual vs. multi-year discounts
Add-ons — premium support, integrations, dedicated infrastructure, training
Map the Calculation Logic
For a Typical Seat-based SaaS Product with Tiered Pricing:
base_price = IF(tier = "Starter", 29, IF(tier = "Pro", 79, 129))
seat_cost = base_price × number_of_seats
annual_discount = IF(billing_cycle = "Annual", 0.20, 0)
addon_cost = SUM(selected_addons)
monthly_price = (seat_cost + addon_cost) × (1 - annual_discount)
annual_price = monthly_price × 12
For Usage-based Pricing:
base_fee = 99
usage_cost = IF(api_calls <= 10000, 0, (api_calls - 10000) × 0.002)
monthly_price = base_fee + usage_cost
How to Build a SaaS Pricing Calculator in involve.me
Step 1: Create the Funnel
Click Create new funnel and choose Start from template to use the pricing calculator template (the funnel type comes pre-configured), or Start from scratch for a blank canvas, if starting from scratch, you'll be prompted to choose a funnel type upfront; select Score-based Outcomes so you can display different pricing recommendations based on the prospect's configuration. Set your brand colors, fonts, and logo in the design settings.
Step 2: Build the Configuration Pages
Page 1: Team & Usage
Add these elements:
Q1: Number slider: "How many team members need access?" (range: 1-500, step: 1)
Q2: Single-choice buttons: "What's your expected monthly usage?" with options like "Up to 1,000 contacts," "1,000-10,000 contacts," "10,000-50,000 contacts," "50,000+"
Q3: Dropdown: "Preferred billing cycle", Monthly / Annual (save 20%). Enable Individual Score & Calculation and assign values: Monthly = 0, Annual = 0.20
Page 2: Features & Add-ons
Q4: Single-choice cards: "Which plan fits your needs?" display three plan cards (Starter, Pro, Business) with feature bullet points on each card. Enable Individual Score & Calculation. Assign routing values, not the actual prices to each answer: Starter = 10, Pro = 20, Business = 30.
Q5: Multi-choice checkboxes: "Select any add-ons" Premium Support ($49/mo), API Access ($29/mo), Custom Domain ($19/mo), Dedicated Account Manager ($99/mo) Enable Individual Score & Calculation and assign each add-on its monthly cost as its value: Premium Support = 49, API Access = 29, Custom Domain = 19, Dedicated Account Manager = 99
Because Q5 allows multiple selections, involve.me automatically sums the values of every option the respondent selects when you reference [Q5] in a formula.
Page 3: Contact Details
Work email (with business email validation enabled, add OTP verification so prospects confirm their address before receiving their quote)
Full name
Company name
Phone number (optional)
Page 4: Your Custom Quote (Outcome Page)
Display the calculated pricing with a clear breakdown. You will have multiple outcome pages, not one, one per pricing recommendation.
Step 3: Configure the Formulas
For this calculator you need to display three separate numbers to the prospect, monthly price, annual price, and annual savings. Since each Calculator element produces exactly one output, you need three separate Calculator elements on each outcome page, each with its own formula.
To avoid writing the same sub-calculations three times over, use Global Formulas first.
Global Formula 1: base_subtotal
[seat_cost] + [addon_total]
Q4 *Q1 + Q5
Q4 holds routing values (10, 20, 30) rather than actual prices, use an IF statement to convert:
IF([Q4] = 10, 29, IF([Q4] = 20, 79, 129))
Thus, base_subtotal: IF([Q4] = 10, 29, IF([Q4] = 20, 79, 129))*Q1 + Q5
Calculator Elements on the Outcome Page
Add three Calculator elements to each outcome page. Set all three to Always hide for participants .
Calculator 1 — label: monthly_price
[base_subtotal] * (1 - [Q3])
When Q3 = 0 (Monthly), no discount applied. When Q3 = 0.20 (Annual), 20% reduction applied.
Calculator 2 — label: annual_price
[base_subtotal] (1 - [Q3]) 12
Calculator 3 — label: annual_savings
IF([Q3] = 0.20, [base_subtotal] 12 0.20, 0)
Returns the total yearly saving when Annual is selected. Returns 0 for Monthly billing.
Click the Outcome Range Settings and assign a score range to each outcome page.
Your score is driven primarily by Q4 (plan selection routing values: 10, 20, 30). Q1 contributes its raw slider value to the score as well, so define your ranges to account for this. The cleanest approach for this setup:
Outcome page | Recommendation shown | Score range |
Outcome 1 | Starter plan | 10–19 |
Outcome 2 | Pro plan | 20–29 |
Outcome 3 | Business plan | 30+ |
Step 5: Design the Quote Results Pages
Structure the outcome page as a professional quote:
Header: "Your Custom [Product Name] Quote"
Summary card: Monthly price, annual price, savings from annual billing
Line-item breakdown:
Plan: [selected_plan] × [team_members] seats = $[seat_cost]/mo
Add-ons: list each selected add-on with price
Discount: Annual billing saves you $[annual_savings]/year
Total: Bold monthly and annual figures
CTA buttons:
Primary: "Start Free Trial" or "Talk to Sales"
Secondary: "Email Me This Quote"
Use answer piping ({{variable_name}}) to insert all calculated values dynamically. Enable Personalized AI Text on the outcome page to generate unique copy for each prospect, instead of a generic "Here's your quote," the AI writes a tailored summary that references the prospect's specific configuration and highlights the value most relevant to their selections.
Advanced Pricing Logic
Volume Discounts
For seat-based pricing with volume breaks:
per_seat_price = IF(team_members >= 100, base_price × 0.70,
IF(team_members >= 50, base_price × 0.80,
IF(team_members >= 20, base_price × 0.90,
base_price)))
This gives 10% off for 20+ seats, 20% off for 50+, and 30% off for 100+.
Conditional Feature Availability
Use involve.me's conditional logic to show or hide pages based on selections. For example:
If a prospect selects "Enterprise," show an additional page with enterprise-specific options (SSO, custom integrations, SLA requirements)
If they select fewer than 5 seats, skip the volume discount page
Currency Selection
Add a currency dropdown on the first page and use IF/THEN formulas with exchange rate multipliers:
currency_multiplier = IF(currency = "EUR", 0.92, IF(currency = "GBP", 0.79, 1))
display_price = calculated_price × currency_multiplier
CRM Integration: Pushing Quote Data
Field Mapping Strategy
When connecting to your CRM, map these fields for maximum sales team value:
Calculator Field | CRM Property | Why It Matters |
|---|---|---|
team_members | Custom: "Quoted Seat Count" | Sizes the deal |
selected_plan | Custom: "Quoted Plan Tier" | Routes to right sales motion |
monthly_total | Deal Amount (monthly) | Pipeline forecasting |
annual_total | Deal Amount (annual) | Revenue projection |
billing_cycle | Custom: "Preferred Billing" | Discount negotiation context |
selected_addons | Custom: "Interested Add-ons" | Upsell opportunities |
HubSpot Setup
Create custom properties in HubSpot for each calculator output
In involve.me, connect HubSpot and map every field
Set the deal pipeline stage to "Quote Generated"
Trigger a HubSpot workflow: when "Quoted Plan Tier" = "Enterprise" AND "Quoted Seat Count" > 50, assign to enterprise sales team
Salesforce Setup
Create custom fields on the Lead object
Map involve.me outputs to those fields
Set up a Salesforce flow: when annual deal amount exceeds your enterprise threshold, convert to Opportunity automatically
Alongside your CRM push, configure involve.me's workflow automation to send conditional follow-up email sequences. For example, prospects who selected the Enterprise plan receive a different email cadence than those who quoted Starter, each sequence can include their specific pricing details via answer piping.
Embedding the Calculator
On Your Pricing Page
The most effective placement is directly below or alongside your standard pricing table.
Grab the exact embed snippet from the Share tab in your funnel editor, click Embed in a web page to get the code with your organization's subdomain and funnel URL pre-filled. Append hidden fields to the embed URL to capture UTM parameters, ad campaign IDs, or referral sources alongside the quote data.
Add a prominent heading above it: "Get an Instant Custom Quote" or "Calculate Your Price."
As a Popup on Feature Pages
Use involve.me's popup embed triggered by a "Get Pricing" button on individual feature pages. This captures pricing interest without requiring the prospect to navigate to the pricing page.
On Paid Landing Pages
For Google Ads campaigns targeting "your-product pricing" or "competitor alternative" keywords, the calculator should be the hero element of the landing page.
Optimization Strategies
Test These Variations
Showing price before vs. after collecting contact info: Some SaaS companies find that showing the price first increases trust and form completion. Others find that gating the final number increases lead capture. Test both.
Default seat count: Setting the default to your median customer size (e.g., 25 seats) can anchor prospects toward your sweet spot
"Most Popular" badge: Highlighting your mid-tier plan with a "Most Popular" or "Recommended" badge steers selections.
Track Key Metrics
After your calculator is live, use the built-in analytics dashboard to monitor how it's performing. Navigate to your funnel's Responses tab in the analytics section. Key metrics to track:
Completion rate: What percentage of visitors who start the calculator finish it?
Drop-off page: Which page has the highest abandonment?
Average quoted amount: Is the calculator attracting your ideal customer profile?
Plan distribution: Are selections skewing toward the right tier?
AI Insights If your funnel includes at least one open-ended text question, you can generate an AI Insights report from the analytics tab. This uses AI Credits to summarize patterns in your respondents' free-text answers, useful for spotting common objections or requests mentioned in a "tell us more" field. |
Get Started
involve.me's formula engine supports VLOOKUP, conditionals, arithmetic operators, and scoring, everything you need for complex SaaS pricing calculations. Start from a SaaS pricing calculator template, customize the formulas for your product, and embed it on your pricing page today.
FAQs
-
For enterprise or custom tiers, configure the outcome page to say "Based on your requirements, your estimated investment is $[amount]/month. Our team will prepare a detailed proposal within 24 hours." Then trigger an immediate notification to your sales team with the full configuration.
-
Yes. involve.me supports partial submission capture, so even if a prospect doesn't complete the form, you capture what they've entered. You can also set up an "email me this quote" button that sends the configured pricing to their inbox with a link to resume.
-
Show exact pricing if your pricing is straightforward. If enterprise deals involve custom negotiation, show an estimated range with a note: "Enterprise pricing starts at $X/month. Contact sales for a custom quote." This sets expectations without boxing you in.
-
Update the formula values in involve.me's formula builder, no need to rebuild the entire calculator. If prices change seasonally or based on promotions, use involve.me's A/B testing to run promotional pricing against standard pricing.
-
You can enable involve.me's business email validation to block free email addresses (Gmail, Yahoo, etc.). You can also require company name and work email before revealing detailed pricing. Some companies show percentage savings rather than absolute dollar amounts.
-
Absolutely. Create separate involve.me funnels for SMB vs. enterprise, or for different product lines. Embed the relevant calculator on the corresponding landing page. Each funnel can have its own formulas, questions, and CRM field mappings.