PEPerformance

Fast enough that
nobody notices.

A testing tool that slows the page down costs more revenue than any winning test brings in. abdriven delivers small, compressed and from your own domain.

  • ≈ 7 KB compressed
  • Served from your domain
  • Anti-flicker with a hard limit

Delivery

Four things that decide
the loading time.

Size, origin, cache and the moment the variation takes effect. abdriven is built for speed on all four.

01

Small over the wire

The snippet is around 24 KB of source and arrives at the browser as roughly 7 KB with Brotli or gzip.

02

Five minutes in the browser

Served with max-age=300 and stale-while-revalidate: later pages do not fetch it again, and a change still reaches everyone within minutes.

03

Blocked less often

Through a subdomain of your own domain the request looks like your own website to browsers and blockers, fewer gaps in measurement.

04

No flicker

The anti-flicker option pre-connects and hides the area for at most one second, after that the content is shown regardless.

05

CSS before the first frame

Variations that get by with CSS take effect before the first render. That is the safest route to an invisible test.

06

In single-page apps too

The SDK follows pushState and back/forward, undoes variations that no longer match, and waits for the element that signals the view is ready.

Anti-flicker

Hiding, with a
way back.

Anti-flicker is useful and dangerous at once: hiding the page until the tool answers risks a white page if the tool never answers. That is why abdriven has a hard limit.

  • The area is hidden for at most one second, even if nothing else arrives.
  • It becomes visible as soon as the variation is applied, nothing matches the page, or an error occurs.
  • In previews the page always stays visible.
  • Do not combine it with data-consent="required": abdriven may not start before consent, so the page would stay hidden until the timer runs out.

Honestly measured

What the numbers
actually mean.

Snippet sizes can be compared so that everybody wins. So here is the basis: what counts is what goes over the wire, not the uncompressed source.

  • ≈ 24 KB of source, ≈ 7 KB compressed, that is the number in the network tab.
  • Loaded with defer: the snippet does not block page rendering.
  • An ETag means an unchanged version is answered with a 304 instead of being sent again.
  • Redirect tests report the exposure before redirecting, and wait at most 400 ms to do so.

Honestly

Where the limits are

  • abdriven runs as a single Node process on SQLite. That carries normal website traffic well; for very large volumes, pre-aggregation and a different database are the next step.
  • Without anti-flicker, client-side delivery can briefly show the original version while configuration and code load.
  • How fast delivery really is depends on your server and your reverse proxy. abdriven delivers from wherever you run it.

Coming

Already planned

None of this is built yet. It is here so you know what you can rely on, and what you cannot rely on yet.

CDN delivery Coming

Optional delivery through a CDN in front of your server, for websites with visitors on several continents.

Server-side experiments Coming

Assignment on the server instead of in the browser, no flicker at all and no client script.

Automatic minification Coming

Keep code readable with comments in the platform, deliver it compressed to the browser.

Pre-aggregation for large volumes Coming

Write events in batches and pre-aggregate them, so even very large traffic stays on one server.

FAQ

Performance

Will abdriven hurt my Core Web Vitals?

The snippet loads with defer and does not block rendering. It becomes relevant when a variation moves content above the fold or anti-flicker holds for long, you can see both in the test itself.

Do I need a CDN?

Not necessarily. abdriven delivers from your own server, compressed and with caching rules. If you serve worldwide, put your usual reverse proxy or a CDN in front of it.

Can I load the snippet through a tag manager?

Technically yes. For speed, installing it directly in the head is better, because the tag manager has to load first, and that is exactly where flicker comes from.

Make your next change an informed one

Less guesswork.
More now we know.

One question is a good place to start.