Self-hosted vs SaaS for e-commerce extensions: when each one actually wins
Five concrete tests for whether self-hosted modules or a SaaS extension is the right pick for a given category. Pricing math, ops shape, and team constraints — not religion.
Anyone who's run an online shop for five years has had this conversation: "We're paying Y / month for X. Could we do it ourselves?"
The honest answer is "sometimes". This post is the five-question framework we use to decide. It cuts through the architectural religion in either direction — sometimes SaaS is genuinely better, sometimes self-hosted is, the trick is knowing which is which for your shop.
Question 1: Does the SaaS run something operationally hard?
Some things are genuinely hard to self-host. They require either scarce engineering talent, expensive infrastructure, or 24/7 ops rotation. For these, SaaS is almost always the right answer.
Examples:
- Payment processing (Stripe, Adyen, Mollie) — you'd need to be PCI-DSS certified yourself. Not happening.
- Fraud detection at scale (Signifyd, Sift) — the model only works because it sees fraud signals across thousands of merchants you can't see.
- Transactional email at scale (Resend, Postmark, SendGrid) — IP warming + ESP relationship management is its own job.
- Global CDN (Cloudflare, Fastly) — physically can't replicate without 100+ PoPs.
If the SaaS does one of these, just buy the SaaS. Self-hosting is not the right call.
Question 2: Does it scale linearly with your traffic?
Some SaaS pricing scales sub-linearly with your value extracted — for example, a flat €50/month gives you unlimited use. Other SaaS bills per query, per indexed record, per transaction, or per seat. The latter scales worse than your revenue often does.
A shop doing €10M in revenue but with very high search query volume can end up paying €4k/month for hosted search. Self-hosting that same workload runs on €40/month of EU VPS.
Rule of thumb: when annual SaaS spend in a category exceeds ~€2,000/year, run the self-hosted math.
Question 3: Does the SaaS phone home with data you wish stayed put?
SaaS extensions for e-commerce typically ingest your catalogue, search queries, customer behaviour, and sometimes order data. This is fine when the SaaS is your processor for that data, you have a signed DPA, and the data flows are documented.
It's not fine when:
- Your DPO has been pushing back on the number of sub-processors in your privacy notice.
- You operate in a vertical where regulators look hard at data minimisation (insurance, pharmaceutical, vape, age-restricted).
- The SaaS sells anonymised aggregates of your customer behaviour back to your competitors (more common than admitted).
Self-hosted modules don't have this problem at all — the data never leaves your server.
Question 4: What's the cost of a bad migration if you change your mind later?
This cuts both ways:
- SaaS → self-hosted: usually painful. Export historical analytics, recreate synonym + searchandising rules, rerun A/B tests. Days to weeks of work depending on how much custom configuration accumulated.
- Self-hosted → SaaS: usually easier. The SaaS provides import tools. You're a desirable migration target for them.
Conclusion: the migration asymmetry is real but small enough that it shouldn't drive the initial decision. Pick what's right for now; migrate when wrong.
Question 5: Does the extension category have meaningful network effects?
Some categories get better the more shops use them. Fraud detection is the canonical example — Signifyd is good because it sees patterns across all its merchants. So is some kinds of personalization (collaborative filtering benefits from cross-shop behaviour signals).
Most e-commerce extension categories don't have network effects. Search relevance, free shipping bar, age verification, cross-sell upsell, wishlist, loyalty — these get better with your data, not with the vendor's data. For those, the network-effect argument doesn't justify the SaaS markup.
The decision matrix
| Category | Operationally hard? | Network effects? | Recommendation |
|---|---|---|---|
| Payments | Yes | — | SaaS |
| Fraud detection | Sort of | Yes | SaaS |
| Email delivery | Yes | — | SaaS |
| CDN | Yes | — | SaaS |
| On-site search | No | No | Self-hosted (under 500k SKUs) |
| Age verification | No | No | Self-hosted |
| Free-shipping bar | No | No | Self-hosted |
| Loyalty / rewards | No | No | Self-hosted |
| Cross-sell / upsell | No | Marginal | Self-hosted |
| Personalization (ML) | Maybe | Some | Mixed — SaaS for cold-start, self-hosted long-tail |
| Reviews / UGC | No | Yes (cross-shop reputation) | SaaS-leaning |
The neuroplugin pitch, briefly
We make self-hosted PrestaShop and WooCommerce modules for the categories the matrix above says self-hosted should win — search, age verification, free shipping mechanics, rewards. Bought once, indexes locally, no SaaS in the loop.
We don't make modules for the SaaS-leaning categories. If you need fraud detection, buy Signifyd. If you need transactional email, buy Resend. We're not pretending self-hosted always wins — only that for our four categories, the math is on our side.
Bottom line
Self-hosted vs SaaS is a category-by-category question, not a religion. Use the matrix above. Re-evaluate when annual SaaS spend in any category crosses €2,000.
See how NP Search for WooCommerce compares — self-hosted, your data on your server.