Willingness to Pay Survey Template
Use this willingness-to-pay (WTP) survey template to narrow your price range, compare candidate price points, and spot price sensitivity by segment. Choose Van Westendorp (acceptable price range) or Gabor-Granger (demand curve), then turn results into specific pricing and packaging actions you can validate in-market.
Choose Your WTP Method: Van Westendorp vs Gabor-Granger (and when to use conjoint)
| Method | Use when (decision trigger) | Set up in the survey | Output you will get | Watch out for (biggest pitfalls) |
|---|---|---|---|---|
| Van Westendorp (price sensitivity meter) |
Use when you are early and need an acceptable price range (VW) for positioning or a new offer. | Ask 4 price-threshold questions (too cheap / cheap / expensive / too expensive). Keep the offer text identical for everyone. | Acceptable price range + a few candidate prices for testing. If you want a VW-style flow, start with the price sensitivity survey template. | Direct WTP inflation, inconsistent thresholds, and anchoring from earlier price context. |
| Gabor-Granger (buy-likelihood at set prices) |
Use when people can realistically judge purchase at a specific price (near purchase, clear offer, real budget). | Show a price ladder (typically 4-8 price points as an internal starter range; adjust after a pilot and based on your expected price span). Ask purchase likelihood (or yes/no) at each price. | Demand curve (GG) you can cut by persona/plan/region. You can also estimate a revenue-max candidate price. | Anchoring on the first price shown, order effects, and people saying "yes" to everything. |
| Conjoint (tradeoffs across attributes) |
Use when pricing depends on packaging tradeoffs (features, limits, support) and you need attribute-level utilities. | Build choice tasks with packages (attributes + price). Keep the task count manageable to avoid fatigue. | Relative value of attributes, simulated share, and package/price scenarios. | Survey length, cognitive load, and unrealistic bundles if your attributes are not grounded. |
Decision rule: If you are pre-launch or repositioning, pick Van Westendorp. If you are near purchase, pick Gabor-Granger. If packaging tradeoffs drive value, use conjoint.
Next step: Pick one method for this run, then lock the offer wording and billing details before you send invites.
Who to Survey (Customers vs Prospects) + Segment and Bias Controls
Goal: Decide whose answers you will trust for a pricing decision.
Set up: In this template, you will choose customers vs prospects, then set segment quotas and screeners.
Output: You will end with WTP ranges or a demand curve you can cut by persona/plan/region.
- Recent buyers (best for pricing validation): They remember the purchase context. Screen for recency (for example, last ~90 days as an internal starter window; adjust to your sales cycle) and purchase role.
- Active users (best for packaging/value metric fit): They know what they used. Segment by usage intensity so power users do not dominate.
- Trial users (best for early-stage price sensitivity): Keep the offer description simple and consistent. Screen for trial activation to avoid "tourists."
- Qualified prospects (best for market expectations): Screen for budget ownership and decision influence. Keep industry/company size quotas aligned to your pipeline.
- Churned users (use only with a trigger): Include them if pricing was a plausible driver. Separate their results from customers and prospects.
Segments drive the decision. Cut results by persona, company size, region/currency, current plan, and usage intensity. If personas have different jobs-to-be-done, run separate surveys or separate flows.
Quotas keep your segment cuts usable. Use balanced sampling and quotas so you do not over-sample discount seekers, power users, or one region.
Do this: Add a purchase-role screener, set quotas by key segments, and keep the offer text identical across channels. Follow the practical checklist in AAPOR best practices for survey research for neutral wording and clean sampling.
Avoid this: Leading value claims, price context in the invite, and "everyone can answer" sampling. Common questionnaire bias patterns are well cataloged in a catalog of biases in questionnaires.
Decision rule: If your pricing decision targets a specific segment (plan, persona, region), quota that segment and analyze it separately.
Next step: Write a short set of segment questions (typically 2-4 as an internal starter target: persona, plan, region, usage) and set quotas before launch.
Sample Size Guidance for WTP (Overall and Per Segment)
Set a minimum target for directional results
Internal starter target: Plan for 150-300 completes total for a first pass, then adjust based on your baseline response rates, decision risk, and how many segments you will act on. Use this to narrow candidate price points, not to "pick the perfect price."
Size for segment cuts (per persona/plan/region)
Internal starter target: Plan for 50-100 completes per key segment to get a usable directional signal. For example, if you need 4 segments at ~75 completes each, your total target is ~300.
Use quotas to distribute completes where decisions happen
Example starter split (adjust to your funnel mix): 40% current customers, 40% qualified prospects, 20% trial users. Inside each group, split by plan tier or company size.
Treat outputs as ranges, then validate with behavior
Use the acceptable price range (VW) or demand curve (GG) to pick a small set of prices to test next. Validate with conversion, win/loss notes, retention, and discount rates.
Go deeper if you need tighter planning
Use SuperSurvey sample size guidance when you need confidence planning, rare-segment oversampling, or multiple cuts.
Decision rule: If you will act on a segment-specific price point, treat fewer than ~50 completes in that segment as an internal "too small to bet on" starter threshold and prioritize collecting more data or validating with behavior.
Next step: List your top 3 segments and set a per-segment completes target before you send invites.
Customization + Launch Checklist (Offer, Value Metric, Randomization, Incentives)
-
Goal: Decide a candidate price point, tier split, or value metric you can test next.
-
Set up: Define the offer (included/excluded), value metric (per seat/usage/month), billing period, currency/region, taxes/VAT handling, and contract length.
-
Output: You will end with an acceptable price range (VW) or demand curve (GG) that you can segment and turn into 1-2 testable prices.
-
Lock the offer text so everyone prices the same thing: Add an "Assumptions" block that states limits, support/SLA (B2B), setup fees, and cancelation terms. Keep this wording identical in email, in-app, and sales-assisted sends.
-
Use clean price presentation to reduce anchoring: Randomize the price ladder order (GG), avoid showing competitor prices, and keep question order stable. If you want a quick refresher on anchors and order effects, review these response bias pitfalls.
-
Pick an incentive plan that helps completion without buying "yes" answers: Use a small guaranteed incentive or a short raffle, and keep the incentive text separate from pricing language. A randomized trial found incentives and follow-ups increased response rates in practice (see effectiveness of incentives and follow-up on response rates).
-
Deploy by channel with duplicate protection: In-app (target active users), email (recent buyers), website intercept (prospects), sales-assisted (high-fit deals). Use unique links or login gating, and block repeat submissions per person/account.
-
Copy/paste offer wording examples (edit to match your product):
SaaS: "Assume Plan X includes A, B, C. Price is per seat per month, billed annually. Taxes not included."
Consumer subscription: "Assume access to the full catalog on a single device. Price is per month. Cancel anytime."
Services: "Assume a set number of hours per month, response within one business day, and a minimum term."
Decision rule: If you cannot describe the offer in about 3-5 lines (rule of thumb), simplify before you ask about price.
Next step: Edit the Assumptions block and price display (currency, period, metric), then run a small pilot (for example, ~10 people as an internal starter target) to catch confusion.
How to Interpret WTP Results and Turn Them Into Pricing Actions
-
Pick your analysis path (VW vs GG) and name the decision
Goal: Decide a price point or tier move you can validate next.
Set up: Use Van Westendorp for an acceptable price range (VW) and Gabor-Granger for a demand curve (GG).
Output: You will end with a small set of candidate prices per priority segment (often 1-2 as an internal starter target).
-
For Van Westendorp: compute the acceptable price range (VW)
Plot the 4 cumulative curves (too cheap, cheap, expensive, too expensive) and read the intersections to get the acceptable price range (VW). Keep the result as a range and use it to pick candidates for testing; direct WTP questions often run high in hypothetical settings (see Estimation of Willingness-to-Pay).
- Quality check: Flag people who give inconsistent thresholds (example: "too cheap" higher than "too expensive").
- Segment cut: Compare ranges by plan, usage intensity, region/currency, and company size.
-
For Gabor-Granger: build the demand curve (GG) from the price ladder
Convert each price point into an estimated purchase rate (yes/no or top-box likelihood). Plot price on the x-axis and purchase rate on the y-axis to get your demand curve (GG).
- Drop points: Mark where demand drops sharply. Those are your "do not cross" thresholds.
- Candidate price: Multiply price by estimated purchase rate to compare candidate revenue points (directional, not precise).
- Randomization check: If order was not randomized, test for first-price anchoring by comparing early vs late completes.
-
Filter bad data before you decide
Watch out for protest answers and low-effort patterns. Keep a version of the results with and without flagged responses.
- Red flags: Straight-lining, impossible open-ends ("$0" with angry comments), and speeding through the price ladder.
- Triage: Review open-text reasons, then apply simple quality filters (minimum time, attention check, duplicates).
-
Turn outputs into pricing actions (raise, repackage, re-metric)
Use your acceptable price range (VW) or demand curve (GG) to choose the smallest action that matches the signal.
- Raise list price: If high-intent segments show stable demand up to your target price.
- Add a higher tier: If power users show much higher WTP than the median segment.
- Create an add-on: If a subset values one capability far more than the base offer.
- Change the value metric: If small teams resist per-seat but accept usage-based (or vice versa).
Decision rule: If your action changes list price, validate with observed behavior (A/B price test where possible, win/loss notes, renewal and discount trends) before you roll out broadly.
Next step: Pick 1 action and 1 validation test (pricing test, sales script test, or offer test) and schedule it.
Frequently Asked Questions
Should I use Van Westendorp or Gabor-Granger for willingness to pay?
Use Van Westendorp when you are early and need an acceptable price range (VW) for positioning or a new offer. Use Gabor-Granger when people can realistically judge purchase at specific prices and you want a demand curve (GG) to pick candidates. If packaging tradeoffs drive the decision, use conjoint instead of forcing everything into a single WTP question.
How many responses do I need for a WTP survey (especially by segment)?
As an internal starter target, plan for 150-300 completes total for a first directional read, then size up based on how many segment cuts you will act on. For segment decisions, a common internal starter target is 50-100 completes per segment so you do not overreact to small-N noise. If personas or plans are very different, run separate surveys or separate flows and analyze them independently.
Who should I survey: current customers, churned users, or prospects?
Use customers and recent buyers when you want answers grounded in real usage and purchase context (for example, buyers from the last ~90 days as a starter window, adjusted to your sales cycle). Use qualified prospects when you need market expectations and objections, but screen for purchase role and budget ownership. Use churned users only when pricing was a plausible driver, and keep their results separate from active customers.
How do I avoid biasing respondents with anchors and leading language in pricing questions?
Keep your offer description neutral and identical for everyone, and do not mention a target price in the invite or intro. Randomize the price ladder order (GG) and avoid putting other price questions earlier in the survey. If you must test multiple offers, split them into clearly separated blocks or separate survey versions.
What should I include in the offer description so people are pricing the same thing?
Specify what is included and excluded, plan limits, support/SLA (B2B), contract length, billing period, currency, and whether taxes/VAT or setup fees are included. Add a short Assumptions block and reuse it across email, in-app, and sales-assisted sends. If the offer is hard to describe in about 3-5 lines (rule of thumb), simplify it before you ask about price.
How do I handle "protest" answers or inconsistent WTP responses?
Flag inconsistent Van Westendorp thresholds (for example, "too cheap" above "too expensive") and review open-text explanations for protest patterns. Report results with and without flagged responses so stakeholders see how sensitive the outputs are to low-quality data. Treat WTP as directional ranges and validate any list-price change with conversion, win/loss, and retention signals.
Related Survey Templates
FREE TO START -- NO CREDIT CARD REQUIRED