Skip to main content

Behind the scenes

Why I bundle every feature into the price

Most WordPress plugins charge extra for file uploads, webhooks, and Mailchimp. Core Forms doesn't. Here's the math, and the philosophy.

The standard WordPress plugin pricing pattern: $99 for the base plugin, $49 for file uploads, $59 for Mailchimp, $79 for webhooks. By the time you’ve got a working contact form, you’ve spent $300/year and the upgrade prompts haven’t stopped.

Core Forms doesn’t do this. Every premium feature is in the base plugin. One price, one license, no add-on tax.

This is a philosophy decision, not a marketing tactic. Here’s the math behind it.

What the add-on model actually optimizes for

Plugin authors who use the add-on model usually frame it as “fairness.” You only pay for what you use. The base plugin is cheaper because you don’t subsidize features you’ll never need.

That’s the pitch. It’s not what the model actually optimizes for.

The add-on model optimizes for average revenue per user (ARPU). Every feature behind a paywall is a chance to upsell. Every checkout funnel for an add-on is a conversion event the team can A/B test. Every renewal email mentions the add-on you might be missing out on.

The result, after three years of compounding upsells: you’re paying $300+/year for a forms plugin. The “fair” cheap base price was the hook.

This is fine for vendors who want to maximize per-customer revenue. It’s hostile for buyers who want to plan their budget.

What bundling optimizes for

The bundling model optimizes for two things:

  1. Customer simplicity. One purchase, one license, one feature set. Nothing to decide later.
  2. Vendor focus. The feature roadmap isn’t shaped by “which add-on can we sell next.” It’s shaped by “which feature would make the existing customer base happier.”

These two are aligned. A simpler purchase decision and a focus on existing-customer happiness are the same direction.

Bundling has a downside: the headline price is higher. Core Forms is $59/year or $249 lifetime. The base of an add-on plugin is often $99, sometimes $49. The headline number looks worse.

But the all-in cost is lower. Significantly.

The math

A typical WordPress contact-form site uses:

  • File uploads (job applications, demo requests with attachments).
  • Mailchimp or another ESP (newsletter signup).
  • Conditional fields (multi-purpose contact forms).
  • A captcha (mandatory).
  • Submission storage (so you don’t lose leads to email).
  • Webhooks or Zapier (CRM integration).

Six features. With an add-on plugin, the math is roughly:

Base plugin:           $99/year
File uploads add-on:   $49/year
Mailchimp add-on:      $59/year
Conditional logic:     $59/year
Submission storage:    $39/year
Webhooks add-on:       $49/year
                      ────────
Total:                $354/year

Versus Core Forms at $59/year (or $249 once for lifetime). The bundle is about 6× cheaper at year one, and the gap widens every renewal.

That’s not a fluke of one comparison. Run the same exercise against Gravity Forms, Formidable, Ninja Forms, WPForms, Fluent Forms — they all run the add-on model, with similar arithmetic.

What this costs me as a vendor

Bundling means I leave money on the table from customers who would have paid $354/year if they could be talked into the add-on ladder. That’s a real choice.

I made it on purpose. Two reasons:

1. The add-on model wastes my time. Every add-on needs its own purchase flow, its own renewal cycle, its own upgrade modal, its own marketing positioning. Add-on plugins are 30% product work and 70% upsell engineering. I’d rather spend that energy on the next release or roadmap item.

2. The customers I want know the math. Agency owners who run 12 client sites can do the spreadsheet. They know $354/site/year for 12 sites is $4,200/year. They know $249 once is $249. The bundling pitch sells itself to anyone who’s been billed by the add-on model before.

What this means for the roadmap

Bundling changes how I think about new features. Every new integration is “free for everyone.” So I can’t ship features that exist purely as upsell hooks. They have to actually be useful, or they’re not worth the maintenance burden.

The roadmap reflects this. The 4.1 WhatsApp work is on there because real customers asked for it. The Stripe payments work in 4.3 is on there because a third of customers use Core Forms for paid intake. The exploring items (headless mode, AI-assisted form creation) are there because they’re genuinely useful, not because they’re easy upsells.

If a feature only makes sense as a $49/year add-on, I don’t build it. The constraint is good for the product.

What I won’t promise

Bundling forever. Pricing changes happen. Either the cost of running the business goes up (it does) or the user base scales to the point where I add a higher tier with extra features.

What I will promise:

  • Existing licenses keep working. If you bought Lifetime at $249, you keep every future feature for free.
  • Existing yearly subscriptions keep their renewal price. If you bought Yearly at $59, you renew at $59 even when new customers pay more.
  • No “essentials” tier downgrade. I won’t move features behind a higher tier and re-sell them to existing customers.

That’s the actual deal. It’s why the headline price is what it is.

The next step

Run the math on your stack. Sum every “add-on” line item on the forms plugin you currently pay for. Compare against $59/year or $249 once for everything bundled.

The decision usually makes itself. Use code CFLAUNCH for 20% off either plan.

Build the form. Stop reading.

Every note here came out of a real Core Forms setup. Use CFLAUNCH for 20% off either plan.