Pricing & plans 201: Price segmentation
Prevent plan sprawl using Recurly price segments. Learn how to configure geographic pricing, run A/B price tests, and manage grandfathered subscriber cohorts from a single subscription plan configuration.
Price segmentation
Your plan structure shouldn't multiply every time you enter a new market or test a new price point. Price segments let you serve different subscriber groups at different price points — from a single plan.
Navigation Menu
What are price segments?
A price segment is a named price point within a plan that you assign to a subscriber at the moment their subscription is created. When Recurly calculates what that subscriber owes each billing period, it uses the price tied to their segment code — not the plan's default price.
Everything else about the subscription stays the same regardless of segment. Segments change what a subscriber pays. They don't change how the subscription is structured.
Segments are available on all Recurly plans.
The problem segments solve: plan sprawl
Without segments, every distinct price point requires a separate plan. A business serving four geographic markets at different prices needs four plans — even if the only difference is the number on the invoice. Multiply that by billing intervals and product tiers, and you accumulate dozens of functionally identical plans that are expensive to maintain, hard to analyze, and increasingly fragile to manage.
One plan per price point
- US, EU, UK, and APAC markets each need a separate plan, even when everything except price is identical
- An A/B price test requires two plans and split traffic routing
- Grandfathered subscribers need their own plan to preserve their legacy price
- Churn-by-plan analytics become meaningless when one "plan" is actually fifteen
- Adding a new market means creating, configuring, and maintaining another plan
One plan, multiple price points
- One plan with segment codes:
us,eu,uk,apac— each with its own price - A/B test runs on the same plan — pass
price-aorprice-bat subscription creation - Grandfathered subscribers keep their original segment code; new subscribers get the current one
- Dunning, trials, add-ons, and billing interval are configured once and shared
- Adding a new market means adding one segment and a price — nothing else changes
Four use cases where segments earn their complexity
Price segments add a configuration layer that's worth managing in four specific situations. Outside these, the plan's default price — or a separate plan — is usually simpler.
Geographic pricing
Charge $12/month in the US, €9.99/month in Germany, and £8.99/month in the UK — all on the same plan. Each segment carries its own currency-specific price. Your application detects the subscriber's location (via geo-IP or user input) and passes the correct segment code via the API or Recurly.js at checkout.
Geographic pricingA/B price testing
Test $29/month against $39/month without creating a second plan or splitting reporting between two plan codes. Route new subscribers to price-a or price-b at subscription creation, track conversion and retention externally by segment code, and roll out the winner by updating which code your checkout passes going forward.
Grandfathered pricing
When you raise prices for new subscribers, existing subscribers keep their original price by retaining their original segment code. New subscribers are created with the current segment. No plan migration, no versioning complexity — the same plan accommodates both cohorts simultaneously.
Grandfathered pricingChannel-specific pricing
Offer a promotional price through a specific acquisition channel — a partnership deal, a reseller, a conference promotion — without a public-facing coupon. Assign a segment code to subscribers coming through that channel at checkout. When the promotion ends, new subscribers default to the standard segment; existing ones keep their negotiated price.
Channel pricingPlan ahead with a clear, consistent naming convention.
Recurly's built-in analytics and dashboards do not filter by segment code. If you're running an A/B price test or measuring performance by geography, you need to capture the segment code alongside subscription data in an external analytics tool or data warehouse. Set this up before activating segments — a test you can't measure isn't a test.
The price_segment_code and price_segment_id fields are available in the Recurly Subscriptions export and in Analytics Explore (Elite plan). These are the primary mechanisms for tracking segment performance in external BI tools or Explore reporting.
Questions about your segmentation setup?
Bring your segment taxonomy questions, A/B test design, or plan consolidation questions to Global Office Hours — our CSMs can help you think through the right structure before you start creating segments in production.
Register for Office Hours →
Price segmentation