Run tests on your website, your emails, your push notifications, your in-app surfaces, and your mobile app from one hub. Every outcome updates a shared belief graph, so your team’s learnings compound instead of evaporating when someone leaves.
One learning system
Surfaces
Web A/B, email, push, in-app, and mobile ship today. Landing page, creative, feature flag, and paid channel are reserved in the type system, ready when you are. The shipping ritual is identical for all of them: write a belief, pick a segment, set guardrails, launch.
surface: "web_ab"Hypothesis-driven
Most A/B tools drop you straight into a variant editor. Apex asks what you think is true about your users and why, turns it into a testable prediction, and ties the outcome back to the belief graph. No more winners without a written hypothesis. No more losers that leave no trace either.
Belief
· confidence 62%Visitors need social proof to trust us.
Formed from 4 support tickets + onboarding interviews
Prediction
· confidence 72%Adding testimonials + video will lift signups by +15%.
Written before the test. Falsifiable, dated, signed.
Test
Web + email, 14-day run, 15K visitors per variant.
Primary: signup_started. Guardrails: bounce, LCP.
Statistics
Web and mobile experiments run sequentially with α-spending control, so sample-size math holds up even when you peek. Lifecycle messaging runs on Thompson sampling, shifting traffic to the winning arm as posteriors update. Same platform, different math for different surfaces, nothing to configure.
Sequential test (SPRT)
Safe to stop the moment significance lands
Day 1p = 0.420Day 3p = 0.180Day 5p = 0.070Day 8p = 0.032Fixed-horizon sample calc
3.2%+15%0.050.80Required per variant
18,432
Apex computes this automatically from your primary metric's historical rate and desired MDE.
Revenue Attribution
Most A/B tools say “Variant B won with 97% confidence.” Apex says “Variant B will generate $47,240 this year.” Template funnels for SaaS, PLG, and ecommerce plug into your Stripe integration and observed tenant data to project incremental revenue with calibrated confidence.
funnel: upgradeSign up
baselineActivate
62% of prevFirst purchase
39% of prev30-day retain
75% of prevProjected annual impact
+$47,240/yr
438 incremental retained customers × $108 ARPU
The Ledger
525+ tests already live on the platform. Every experiment, whether promoted, discarded, or inconclusive, joins a permanent ledger with its belief update, its outcome, and a one-line quote that explains the “why.” Turnover, reorgs, and new hires stop resetting the clock.
Experiment ledger
525 tests · foreverexp_0429Apr 18promotedHero social proof + video
“Social proof drives trust with mid-market”
exp_0428Apr 17promotedSubject line: curiosity
“Curiosity beats urgency for our audience”
exp_0427Apr 15promotedPush timing: 7pm vs 9am
“Evening sends lift re-engagement”
exp_0426Apr 14discardedPaywall: annual first
“Monthly-first remains the safer default”
exp_0425Apr 12promotedIn-app upgrade banner
“Context beats generic upsell surfaces”
exp_0424Apr 10inconclusiveEmail preheader CTA
“Re-run with 3× traffic or longer window”
exp_0423Apr 08promotedSignup: 1-step vs 2-step
“Fewer form fields always wins for us”
exp_0422Apr 06discardedPush: emoji in title
“Emoji hurts professional SaaS audience”
Every test, promoted or discarded or inconclusive, joins the ledger. Belief graph updates.
+517 moreBeliefs updated
compound with every outcome
Ledger entries
permanent, across team changes
AI summaries
every test auto-debriefed
Graduate to Production
A shipped winner should live in your repo, not dangle as a runtime config from last quarter. Graduate a winner and Apex either serves 100% traffic from the snippet, opens a pull request through the SDK, or fires an MCP tool so your coding agent ships it. The experiment closes; the belief and the ledger entry persist.
Winner confirmed
Variant B · “Social proof + video”
99.2% confidence · p = 0.003 · 21,800 visitors
Lift on signup
+34%
Incremental /mo
2,142
Projected /yr
+$127K
Ship Variant B to 100% of traffic
Live instantly. Ledger entry is preserved forever.
Graduating a winner clears the runtime experiment. The ledger entry stays permanent.
Developer-native
The same Experiment entity is reachable from a one-line script tag, a typed SDK, or an MCP tool that any AI assistant can drive. No proprietary YAML, no handoff between “the marketing tool” and “the dev tool.” One API, three front doors. Pick whichever one your team already lives in.
// On every page. No redeploy needed to change variants.const variant = await apex.getVariant('hero-copy', {userId: currentUser.id,});if (variant.key === 'b') {document.getElementById('hero').innerHTML = variant.payload.headline;}apex.track('signup_started', { source: 'hero' });
Why Apex
Optimizely tests web. Statsig tests features. Eppo runs the stats. None of them covers email, push, in-app, and mobile with one shared belief graph and a permanent ledger.
| Capability | Apex us | Optimizelycompare → | Statsigcompare → | Eppocompare → |
|---|---|---|---|---|
Web A/B testing DOM editor, redirects, screenshots | ||||
Email / push / in-app tests One platform, one belief, Thompson bandits | ||||
Mobile native variants Typed payload via SDK, SKAN-aware | ||||
Revenue attribution $ figures per variant from connected integrations | ||||
Belief graph + learnings Institutional memory across every test | ||||
Thompson sampling bandits Bayesian allocation for comms surfaces | ||||
MCP / agent-native control Create, graduate, inspect from any AI assistant |
Get Started
No infrastructure to build. No stats team to spin up. Apex handles allocation, math, attribution, and the ledger. You just write down what you think and hit run.
One line of script, or the SDK in the language you already use. Runtime-ready in minutes, no redeploy required to change variants.
<!-- in <head> --> <script src="https://apex.inc/a.js" data-project="prj_..." ></script>
Say what you think is true about your users and why. Apex turns it into a testable prediction with a primary metric and guardrails.
I believe
“Trial-length copy confuses visitors on the pricing page.”
Because
3 support tickets this week + drop-off on pricing.
Pick one surface or many. Web + email can share a belief. Apex wires up allocation, stats, attribution, and the ledger automatically.