Edge-deployed
Served from Cloudflare's network across 300+ cities and cached per config version — your experiments live where your visitors are.
ABTestly is a small, cacheable experiment runner that ships variants from Cloudflare's edge — so visitors see the right version before the rest of your page can blink. Built for teams who care about speed, instrumentation, and the numbers behind a decision.
The things you actually need to run good experiments — without dragging down the page you're testing on.
Served from Cloudflare's network across 300+ cities and cached per config version — your experiments live where your visitors are.
Config is served from Cloudflare's edge; the variant is applied synchronously, before your page reveals. No FOUC, no white-flash, no “original-then-test” jump.
Every exposure pushes an experience_impression event to your dataLayer with the experiment and variant IDs, so it flows into GA4 through your existing GTM/GA4 setup — no separate analytics add-on or SKU.
Works with static and server-rendered sites — Astro, Hugo, Eleventy, Rails, the server-rendered output of Next, and plain HTML. Anywhere you can drop a small script tag, you can run experiments on the rendered page.
Significance testing with confidence intervals and a sample-size calculator — and a plain-language verdict that won't call a winner before the data supports it. Built so your CRO lead and your engineering lead are looking at the same numbers.
ABTestly detects client-side route changes and fires experiments per view — no full reload required.
The honest version. Pricing and capabilities reflect public information from each vendor.
At the same 100,000-tracked-user tier, ABTestly Pro is 55% cheaper than Convert — and a fraction of what VWO and Optimizely charge, both of which only quote custom pricing.
Every plan ships every feature. The number you pay scales with how much testing you actually do — not which capabilities we're willing to unlock.
For solo builders running a couple of experiments to see what's there.
For a single product team running a steady cadence of tests.
For teams running serious experimentation as part of how they ship.
For multi-product orgs running concurrent tests across teams.
Custom MTU volumes, dedicated support, security review, MSA, BAA, on-prem data residency, and the rest of the procurement paperwork.
The first hundred paying customers get 20% off the Pro plan for their first 12 months when billed annually. Use code FOUNDING100 at checkout. Renews at standard Pro pricing after twelve months. Cancel any time.
The snippet is around 8 KB gzipped (the loader itself is under 1.5 KB) and is served from Cloudflare's edge across 300+ cities, cached per version. In practice that means it's fetched from a PoP close to your visitor and reused across page loads.
We're not going to put a specific millisecond figure here until we have a benchmark we're willing to publish. If a vendor's marketing site quotes one without methodology, treat it as marketing.
Yes — anywhere you can drop a script tag onto a server-rendered or static page. (Single-page apps that swap content with client-side routing need our dedicated SPA handling, which is rolling out.)
ABTestly pushes a dedicated experience_impression event to your dataLayer carrying the experiment and variant IDs; it reaches GA4 through your existing GTM/GA4 configuration. One-time setup is mapping those fields to GA4 custom dimensions — we ship a GTM template to do it in a few clicks. No separate analytics add-on or SKU; it's included in every plan.
No. The experiment config is delivered from Cloudflare's edge, and our loader is inline and synchronous — so the variant is in place before your page reveals and visitors see the assigned version from the first frame. The difference from most client-side tools isn't where the decision is made; it's that the page doesn't reveal an un-tested version first while an async script loads.
Yes. Monthly plans are month-to-month; annual plans run for 12 months. First-time customers on any paid plan get a 30-day money-back guarantee — request a full refund within the first 30 days, no questions. Outside that window, cancelling stops further charges but doesn't trigger a prorated refund — you keep paid access until the end of the current billing period, then revert to the Free tier with your data preserved. Full details in the refund policy.
All four vendors are shown at the same 100,000-tracked-user buying point. ABTestly figure is the Pro plan; VWO and Convert figures are each vendor's Growth tier at that point; their higher tiers cost more. Optimizely is quote-only. VWO's Growth tier is gated by MUV bucket within the tier, so it has no single published MTU cap at the 100K point.
Cost per 1,000 tracked users = subscription price ÷ included MTU. ABTestly figure uses monthly Pro pricing; Convert figure uses their annual-billing rate (their lowest published price for that volume). Snippet figure is the runtime snippet, excluding inlined config.
Competitor capabilities and pricing verified May 2026 from each vendor's public documentation. Sources:
Check each vendor's site for current details — the comparison reflects what was public on the dates above.
Free plan, no card, no “contact sales”. Drop in the snippet, define one variant, watch the events.