As you may already know, Nelio A/B Testing adds a few parameters to your URLs while there are some running experiments. These parameters tell our plugin which alternative content has to be loaded for a particular visitor in your website. If they're added when an experiment is started, shouldn't they be removed when the experiment is stopped? The answer is yes, and they actually are. But even though they are removed, you might still see them for a few minutes after stopping the experiment.


As you may know, testing your website involves both your WordPress server and Nelio's cloud servers:


  1. Your WordPress server contains the original and the alternative content, and is the one responsible of serving that. If you're running a cache plugin, then each alternative will be cached and, whenever a user accesses a certain URL (for instance, http://example.com/tested-page/ or http://example.com/tested-page/?nab=1) a cached version of that page will be returned.

  2. On the other hand, Nelio's servers are responsible of:
    • Telling your visitors which pages are under test and the available alternatives. This information is then used by a tiny JavaScript included in your pages that will request alternative content to your WordPress server (if necessary).
    • Collecting all tracking information from your visitors.
    • Processing that data.
    • Generating the reports and results you end up seeing.


    When you stop an experiment an apply an alternative, your WordPress installation is updated. That is, you change your original page so that it no longer has the "original content", but the "alternative's". If you clean your cache right after applying an alternative, accessing the URL http://example.com/tested-page/ (which is not under test, now) will return the appropriate content.


    So, again, why are the testing parameters included after the experiment has been stopped? Well, as I said, Nelio's servers are responsible of serving the information about which experiments are running and the alternatives they have. In order to do that, Nelio includes a tiny script in your pages that is directly retrieved from Nelio's servers. As soon as you stop an experiment, this script is updated accordingly.


    However, the script can be (and might have been) cached by your visitors' browsers (or any intermediate agent), which means that, from your visitors' point of view, there's still an experiment running, and therefore they try to load alternative content (if needed). After a few minutes, this script expires and is no longer valid, and your visitors' request the new version of the script. This new version has no experiments running and, hence, alternative parameters are no longer added to your URL.