Render Mode: Client vs. Server

A new feature in AmpedSense is the render mode. This allows to you choose whether the split testing is performed at the server level (ie, in PHP), or at the client level (in Javascript).

Server mode is the default mode, and decides the recipes that will be shown to the user before they receive the page.

Client mode is cache-friendly, and allows the decision to be made once the user loads the page in their browser.

The main difference is that client mode is wordpress cache friendly (ie, even if you have a caching plugin enabled the split testing will happen in real-time), where in server mode the recipe chosen will be cached and not rotated until the cache expires.

Client mode gotchas

Even if you’re using client mode and have a caching plugin enabled, you’ll still need to reset your cache every time a new recipe is added/deleted, changed, or paused/resumed.

Client mode relies on the user’s screen resolution to determine whether the visitor is using a desktop, tablet, or mobile device (for segmenting).

Client mode may (in rare cases) cause extra spacing in your content (depending on if your theme was coded properly). When switching from server to client mode, please clear your wordpress cache and check that everything looks as expected.

Server mode gotchas

You may still run tests in server mode with a cache enabled, and over the long term the effects won’t matter, but for short term it may skew results a little since one variation may be shown one day, and another the next day (and traffic/environment could change from day to day). This is why we recommend that you use client mode if you have a caching plugin activated.

Server mode relies on the user’s browser (user-agent) to determine whether the visitor is using a desktop, tablet, or mobile device (for segmenting).

Switching render modes

To change between modes, choose the desired option from your settings page:


Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>