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:
- Cash flow — you collect 10 months upfront instead of 1
- 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:
- Price points — Growth at $49 vs $79: does the higher price decrease conversion enough to offset the higher revenue per customer?
- Anchor pricing — show Pro first vs show Starter first: which order produces highest conversion?
- Feature placement on Starter — does showing "Automations (Growth+)" greyed out increase Growth conversions vs hiding it entirely?
- Annual vs monthly default — which converts better on pricing-page-first-impression?
- 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#