HomeProduct DocsAPI ReferenceChangelog
RecurlyAPI GuidesRecurly.jsWebhooksAPI ReferenceSupportBook demo
Product Docs

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.

Upcoming: Join our CSMs for a live pricing Q&A — bring your advanced billing questions. Register now →
Acquire Acquire · Pricing & Plans 201

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.

Plan-level
Where segments live
Segments are configured on the plan itself, alongside the default price. Any number of segments can be added to a single plan.
At creation
When the code is assigned
The segment code drives your internal selection logic. When creating the subscription or purchase, your application passes the chosen segment's price via the Recurly API or Recurly.js.
Per-currency
How prices are set
Each segment must have a price set for each of your plan's enabled currencies — Recurly does not auto-convert between currencies.

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.

Without segments

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
With segments

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-a or price-b at 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 pricing

A/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.

Price testing

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 pricing

Channel-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 pricing
Segment codes cannot be changed after creation, but you can add segments to existing plans at any time

Plan ahead with a clear, consistent naming convention.

No native segment analytics in Recurly

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.

Segment reporting is available in exports and Explore

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 →