I measured how many SaaS companies run A/B tests. My first answer was wrong by 84%, and the reason is the same one that ruins most tests.
The measurement took twenty minutes. Checking the measurement took forty, and it moved the headline number from 46% to 25%. I am writing up the mistake rather than the finding, because the mistake is the more useful of the two.
- Loose detection patterns found an A/B testing tool on 13 of 28 SaaS sites, or 46%.
- Strict patterns, matching only vendor hostnames, found 7 of 28, or 25%. Six of the thirteen were false positives.
- The single worst pattern was matching the filename at.js, which appears in unrelated bundles and attributed Adobe Target to four companies that show no sign of using it.
- Optimizely appeared on 4 sites, VWO on 3, and Adobe on 3. No other vendor appeared even once under strict matching.
- 25% is a floor, not a rate: server side and edge testing leaves no client side trace at all, so an unknown share of the remaining 21 sites are testing invisibly.
I wanted a simple number: what share of large software companies actually run A/B tests.
You cannot ask them, so you look for the tool. Every client side testing platform loads a script, and scripts are visible to anyone who fetches the page.
Twenty minutes later I had my answer. Thirteen of twenty-eight sites, 46%. It felt about right, which should have been the first warning.
The number I nearly published
Here is the pattern list I started with. Read the third line before you read anything else.
Optimizely optimizely|cdn.optimizely
VWO visualwebsiteoptimizer|vwo.com|_vwo
Adobe Target adobedtm|at.js|tt.omtrdc
Statsig statsig
at.js is the historical filename of the Adobe Target library. It is also two letters, a dot, and two more letters. It matches any bundle that happens to contain that string, and modern JavaScript bundles contain a great many strings.
That one fragment attributed Adobe Target to four companies. I checked each one by hand before writing, because four felt like a lot for a tool that mostly lives in enterprise retail.
Three of the four had no Adobe anything on the page. The fourth loads Adobe Launch, which is a tag manager, not a testing tool. It may deliver Target. It may deliver analytics. From outside you cannot tell.
What strict matching gives instead
I rewrote every pattern to match only a vendor hostname, the one thing that cannot appear by accident.
Optimizely cdn.optimizely.com | optimizely.com/js
VWO dev.visualwebsiteoptimizer.com
Adobe assets.adobedtm.com | .tt.omtrdc.net
Statsig cdn.statsig.com | featuregates.org
| Loose patterns | Strict patterns | |
|---|---|---|
| Sites with a tool | 13 | 7 |
| Share of 28 | 46% | 25% |
| False positives | — | 6 removed |
The headline moved by 84% of its own value. Same pages, same day, same twenty-eight companies. Only the definition changed.
What is actually there
Under strict matching, seven sites carry a client side testing or tag tool:
| Vendor | Sites |
|---|---|
| Optimizely | 4 |
| VWO | 3 |
| Adobe Launch or Target | 3 |
| Everything else | 0 |
Statsig, LaunchDarkly, Split, GrowthBook, PostHog, Convert, AB Tasty and Kameleoon appeared zero times. Some of those are real businesses with real customers. They are simply not on these twenty-eight pages, or they are used in a way that leaves no client side trace.
Why 25% is still not the answer
Two reasons, and they push in opposite directions.
It overstates. A script tag means the tool is installed. It does not mean an experiment is running. A company can carry Optimizely for two years while the experimentation programme quietly dies with the person who owned it. Presence is the weakest evidence of practice.
It understates, probably more. Server side testing, edge assignment and feature flags evaluated in a backend leave nothing in the HTML. A company running the most sophisticated experimentation programme in this sample would be invisible to my method, and the more mature the practice, the more likely it has moved server side.
So the honest claim is narrow: at least a quarter of these sites carry a client side testing tool. Anything stronger is not supported by what I did.
The part that generalises
The two numbers differ by nearly a factor of two, and I could have shipped either. Nothing in the process would have stopped me. The first number came from a working script that produced a plausible result.
That is the same failure that ruins experiments, arriving one step earlier. A test that measures the wrong event, or attributes to the wrong session, or counts a bot as a visitor, also produces a plausible result. It looks like a finding, it goes into a deck, and nobody checks the definition because the number felt about right.
The habit worth stealing is small. Before you believe your own measurement, take the three most surprising rows and verify them by hand. Not a sample. The surprising ones, because a false positive almost always shows up as something unexpected.
Four companies that had no business using Adobe Target was surprising. That is what saved the article.
What I would do differently
If I ran this again I would add a second pass that fetches the suspected vendor script and confirms it returns something from that vendor. A hostname can be present in a comment, a CSP header, or a preconnect hint without anything loading.
I would also stop treating one page as a site. I checked the homepage and the pricing page. Testing tools frequently load only on specific flows, and a checkout is where most of them actually live.
Neither change would make 25% correct. Both would make its error bars honest, which is the most any outside measurement of this can claim.
Questions people ask about this
Why not just use a technology lookup service?
Most of them use the same loose matching I started with, and they inherit the same false positives. If you cannot see the pattern, you cannot judge the number it produces.
Does a script tag mean a test is running right now?
No. It means the tool is installed. A site can carry Optimizely for two years and run nothing. Presence is the weakest possible evidence of an experimentation practice.
What is the honest headline then?
At least a quarter of large SaaS sites carry a client side testing tool. The true share that experiments is higher and unmeasurable from outside.
- Optimizely: Install the Optimizely Web snippet. Checked 2026-08-23.
- VWO: How to install the VWO SmartCode. Checked 2026-08-23.
- Adobe Experience Platform Tags documentation. Checked 2026-08-23.
Size the test first. The tool on our homepage gives you the sample per variant and how long your traffic needs to produce it, and it tells you when the answer is that the test cannot work.
Open the sample size tool → See what we do