Subscription Plan Design Strategy

The plans you offer drive your revenue more than any other product decision. Too many plans confuse buyers; too few leave revenue on the table. This guide walks the three-tier model (Starter / Growth / Pro) that 80% of email-marketing SaaS products use, the feature-gating principles that maximize upgrade conversions without frustrating low-tier users, the annual-billing discount math, and the free-trial vs freemium decision.

What this is for

The plans you offer drive your revenue more than any other product decision. Too many plans confuse buyers and increase abandonment; too few leave money on the table. This guide walks the three-tier model that 80% of email-marketing SaaS products use, the feature-gating principles that maximize upgrade conversions without frustrating low-tier users, the annual-billing math, and the free-trial vs freemium decision.

For the broader GTM context, see Building Your Email Marketing SaaS.

The three-tier model

Three plans is the magic number. Two looks under-developed; four+ overwhelms buyers and slows decisions. Three lets you anchor (low-tier), capture (middle "everyone picks this" tier), and upsell (high-tier).

Tier Target buyer Subscribers limit Price signal Key feature gate
Starter Solo / hobby up to 1,000 $15-19/mo No automation; no custom domain
Growth (THE ANCHOR) Small business / in-house marketer up to 10,000 $49-79/mo Automation, segments, A/B testing
Pro / Business Agency / SMB at scale up to 50,000 $149-199/mo Priority support, API, dedicated IP option

The Growth tier is your anchor — most buyers will pick it, and you should design it so. Make Starter feel like "I'll outgrow this quickly" + Pro feel like "I'll grow into this someday".

Optional fourth tier (Enterprise / Custom) — sales-assisted, no public price. Use when:

  • You have customers asking "Do you support 500k+ subscribers?"
  • You want a price-anchor that makes Pro feel like a deal
  • You have legal/security requirements (SSO, SLA, data residency) that justify custom contracts

Feature-gating principles

The choice of WHAT to gate at which tier is more important than the prices themselves.

Good gates (move users to upgrade)

These features are valuable but not essential at entry-level. Locking them at Growth+ creates upgrade pressure without breaking the basic experience:

  • Automations — visible (greyed out) on Starter, locked until Growth. Lets Starter users see "this is here" without using it.
  • Advanced segments — basic list + recent-engagement segment available everywhere; advanced multi-condition + custom-field segments at Growth+
  • A/B testing — Growth+
  • Custom sending domain — Pro+ (deliverability-sensitive operators value this)
  • API access — Pro+ (engineering-tier customers self-select)
  • Dedicated IP — Pro+ add-on (justifies $30-50/month extra)
  • Team members / seats — Starter = 1 seat, Growth = 3, Pro = 10, Enterprise = unlimited
  • Webhook events / Zapier integration — Growth+
  • White-label / brand removal — Pro+ (high-margin add-on for agencies)

Bad gates (frustrate users → churn → bad reviews)

Don't gate features that affect deliverability or basic usability:

  • ❌ DKIM signing — every send needs it; never gate
  • ❌ Unsubscribe link — legal requirement; never gate
  • ❌ Bounce processing — needed for clean lists at any volume
  • ❌ Basic templates — without a starting template, users can't ship anything
  • ❌ Basic reporting (opens, clicks) — minimum needed to evaluate the product
  • ❌ Email verification on signup — anti-spam basic
  • ❌ Mobile-responsive templates — modern minimum

Frustrated free/starter users churn AND leave bad reviews — the negative review damage often exceeds the revenue you'd have captured by force-gating.

Upgrade-trigger UI placement

Design the in-product experience to surface upgrade prompts at the right moment:

Moment Trigger Trigger placement
Approaching subscriber limit 90% of plan limit Dashboard banner + email; "you're at 9,200/10,000 — upgrade to keep adding"
User attempts gated action Click "Create automation" on Starter Modal with feature preview + upgrade CTA
Team-member invite on solo plan Click "Invite teammate" on Starter Modal: "Growth plan supports up to 3 teammates"
API request from unsupported tier API call from Starter API responds with 403 + upgrade URL in error
Approaching send-quota 90% of monthly sends used Email + in-app warning
Trial expiring T-3 days, T-1 day, expiry Email sequence with upgrade CTA

Don't ambush users. Show the limit in advance ("you have 800 subscribers; Starter goes to 1,000") rather than blocking them at the limit. Upgrades that feel pressured drive cancellations.

Annual billing — the 16% discount math

Offer annual billing at 2 months free = ~16.7% discount. This converts 25-40% of monthly subscribers to annual, with two big wins:

  1. Cash flow — you collect 10 months upfront instead of 1
  2. Churn reduction — annual subscribers can't cancel mid-period; effective churn for that year drops to near-zero

Show annual pricing FIRST on your pricing page (with a "monthly billing" toggle). The visual default shapes the buying decision:

Monthly Annual (2 months free)
Starter $19/mo $190/year (≈$15.83/mo)
Growth $79/mo $790/year (≈$65.83/mo)
Pro $199/mo $1,990/year (≈$165.83/mo)

Some operators offer 20% off for annual instead of 16.7% — works similarly. Don't go above 25% off — it signals "monthly is overpriced".

Free trial vs freemium

For email-marketing SaaS, 14-day free trial > freemium:

14-day free trial (recommended)

  • No credit card required at signup (lowers conversion friction)
  • Full access to Growth tier features for 14 days
  • T-3 / T-1 / day-of email reminders to convert
  • Auto-downgrades to a generous-but-limited free plan on expiry (catch-and-release)

Why this works for email SaaS: users only get value from sending campaigns to real subscribers. The 14-day window forces them to set up + send their first campaign. Either they get value and convert, or they don't and churn cleanly.

Freemium (avoid)

  • Forever-free tier with limits
  • Larger user base but proportionally fewer paying customers
  • Creates support burden from free users who'll never pay
  • Attracts spammers who use free tier to abuse your sending IPs

Freemium works for tools where value compounds at low scale (Slack, Notion). Email SaaS doesn't fit that pattern — you'd rather have 500 paying customers than 50,000 free users + 500 paying customers.

If you do offer a free tier, keep it tight:

  • < 100 contacts
  • < 500 sends/month
  • AcelleMail branding visible in sent emails (a "remove branding" upgrade lever)
  • No API; no automations; no custom domain
  • Card required for trial-to-free downgrade (anti-spam)

Pricing experiments worth running

Once you have a stable customer base + monthly revenue, A/B test:

  1. Price points — Growth at $49 vs $79: does the higher price decrease conversion enough to offset the higher revenue per customer?
  2. Anchor pricing — show Pro first vs show Starter first: which order produces highest conversion?
  3. Feature placement on Starter — does showing "Automations (Growth+)" greyed out increase Growth conversions vs hiding it entirely?
  4. Annual vs monthly default — which converts better on pricing-page-first-impression?
  5. Trial length — 7 vs 14 vs 30 days

Run one test at a time. Need 200+ signups per variant for statistical significance — at low volume, run for weeks.

Common pitfalls

Pitfall Why it bites
Five+ tiers Buyers get analysis paralysis; conversion drops
Gating deliverability features Frustrated users churn + leave bad reviews; reputation damage
Free tier without credit card Spammer signups damage your shared sending IPs
Monthly only (no annual) Higher churn, worse cash flow
Pro tier features you can't deliver "Priority support" with no actual SLA = churn signal
Free trial > 14 days Conversion delays; "I'll get to it eventually" mode
Pricing tied to subscriber count only Sends-per-month axis under-monetized
Custom plans for early customers Operationally messy; build a real Enterprise tier instead

How AcelleMail enforces plan limits

In AcelleMail's plan model (per the SaaS setup guide), limits live in the plan's options JSON field:

{
  "max_subscribers": 10000,
  "max_emails_per_month": 100000,
  "max_lists": -1,
  "max_automations": -1,
  "max_team_members": 3,
  "max_sending_servers": -1,
  "api_access": true,
  "create_sending_server_enabled": false,
  "custom_domain_enabled": false,
  "automation_enabled": true
}

-1 = unlimited. AcelleMail enforces at send time (campaigns blocked if quota exceeded) + in the admin UI (greyed-out / disabled controls per the toggle flags).

Add custom field-flagged features by extending the options shape — see Extending AcelleMail Source Code.

FAQ

Should the cheapest plan be free? For email SaaS, no — better as a 14-day trial that catches-and-releases to a tightly-limited free plan. Forever-free attracts spammers.

Multi-currency pricing? Each AcelleMail plan has one currency. Create parallel plans per currency (Pro $79 USD, Pro €72 EUR). Customer's currency is locked to the plan they signed up on.

Per-contact vs per-send pricing? Per-contact (Mailchimp model) is what email SaaS conventionally uses. Per-send (SendGrid model) suits transactional more than marketing. AcelleMail's plan model supports both via the max_subscribers + max_emails_per_month options.

Volume discounts at higher tiers? Usually built into the tier structure (Pro at $149/mo includes 50k subscribers vs Growth at $79/mo for 10k — implicit discount per subscriber). Don't add separate volume-discount tiers; keep tier count low.

Promotional pricing for the first month? Splits revenue per customer over a longer payback; usually not worth the customer-acquisition lift. Better: a 14-day trial that's free.

Custom plans for individual customers? Strongly resist. The operational cost of one-off plans (billing reconciliation, support tickets, quota management) is real. Build an Enterprise tier instead, with the most-asked customizations baked in.

Related articles

9 bình luận

4 bình luận

  1. bos.devops
    Tip for multi-tenant operators: enforce per-tenant rate limits at the queue layer, not just the API layer. One tenant's bad import shouldn't slow the others.
  2. anna.k.pm
    Running ~140 customer tenants on a single AcelleMail install. Resource usage scales reasonably with subscriber count, not tenant count, which is nice.
    1. admin (đã chỉnh sửa)
      Solid case study material here. If you're open to it, we'd love to write this up as a blog post — happy to credit you anonymously or otherwise.
  3. y.yamamoto
    How do you handle per-tenant DNS? Each customer's domain needs SPF/DKIM — do you walk them through it manually or have an automated DNS-checker? anyway
    1. admin
      currently a manual step. There's a feature request tracking it on the repo if you want to +1.
    2. admin (đã chỉnh sửa)
      For your specific case, I'd recommend testing with `--dry-run` first. The behavior under high load isn't 100% deterministic and we want you to see your own pattern before committing.
    3. admin (đã chỉnh sửa)
      Depends on your version. 5.x supports it natively; 4.x needs a config flag set in `.env`. We'll note this caveat in the article on the next pass.
  4. sobrien.kw
    The white-label setup walkthrough is exactly what we needed. Most SaaS-on-Acelle guides assume you've already figured this out.
    1. admin (đã chỉnh sửa)
      Appreciate it. If anything in this needs updating, ping us — we revisit articles every few months...

More in SaaS & Multi-tenant