Troubleshoot: Experiment is not activating

  • Updated

This topic describes how to:

  • Check whether your experiment is running
  • Figure out why you do not see visitors or conversions on your Results page
  • Figure out why you cannot see your variations
  • Confirm your experiment’s targeting conditions

Are you experiencing any of the following issues? Then this article will help you get to the root cause:

  • You started an experiment, but after an hour or more you are still not seeing visitors or conversions come through on the Results page.
  • The experiment does not seem to be running on the page, and you cannot see any of the variations in your browser (outside of the Editor).
  • You can see variations when you use the force parameter, but not when you view the page in your browser without the force parameter.
  • Your Optimizely Web Experimentation experiment is running, and you see visitors and conversions on your Results page, but cannot see the experiment live in your browser (outside of the Editor).

Usually, this problem has to do with activation or targeting issues. Here is when this article may not be for you:

Check the snippet on the page

Before you begin this troubleshooting process, quickly make sure that the Optimizely Web Experimentation Snippet is on your page, as high as possible in the <head> tag, and that there is only one Optimizely Web Experimentation Snippet on the page.

Optimizely Web Experimentation works best when installed directly in the <head> tag of every page you would like to test. Having more than one Optimizely Web Experimentation Snippet on the page, even if it’s for a different project, can create complications.

Make sure your experiment is running on the page, and you are bucketed into the variation

If your snippet is implemented correctly, check whether the experiment is active and you are bucketed into the correct variation.

  1. Make sure that your experiment is in Running status on your experiment dashboard.
  2. To determine whether an experiment is running, go to the URL where you are running the experiment, and then open your browser's console.
  3. Now, we’ll need to retrieve some information from the Optimizely Web Experimentation snippet. To see if you were given a variation in Optimizely Web Experimentation, see the JavaScript API in Optimizely Web Experimentation and Optimizely Performance Edge. For an extensive list of APIs, visit our developer documentation on this topic.
  4. Enter optimizely.get('state').getVariationMap() into the console. This returns an object containing the experiment IDs that were activated at some point in the past along with the variation ID you were given. This list is not indicative of active experiments on the page.

    Image 2019-09-26 at 4.11.19 pm.png

  5. Enter optimizely.get('state').getActiveExperimentIds() into the console. This returns an object with the experiments IDs currently active on the page you are on. Check to see if your experiment ID is present in this list.

    Image 2019-09-26 at 4.29.52 pm.png

To find your experiment, variation, or event IDs, visit the API Names section of your experiment.

If you have chosen to mask descriptive names within your project settings, then you will not see the name of the variation you were given, for example, Original, Variation #1 and you will instead only see the variation ID.

If there are multiple active experiments running on the same target URLs, you may want to prevent them running simultaneously which can cause interaction effects that pollute your results set. This can be done by making the experiments mutually exclusive.

If you have verified that the experiment is currently active and the correct variation has been given to you but this has not resolved your issue, continue to the next section.

Check for targeting issues

Verify that your targeting conditions are set correctly: audience conditions, URL Targeting conditions, or traffic allocation. Double-check each of these in Optimizely Web Experimentation for obvious errors that would be preventing you from seeing the experiment. Test your URL Targeting conditions.

  1. Use the Optimizely Web Experimentation Log to show you Optimizely Web Experimentation's actions and decisions. 
    Append the ?optimizely_log=info query parameter to your URL to read the log. Then, reload the page.

  2. Filter the log by your Experiment ID.
  3. Paste your Experiment ID into the search field:

    Optimizely logs

  4. Check whether the log reveals any Condition errors—in other words, that you failed to match URL, Audience, or Traffic Allocation conditions.

    If you failed conditions, and you do not think you should be failing them, there is a problem with your URL Targeting, Audience, or Traffic Allocation configuration. Change them. If you passed the conditions but you still do not see your experiment, go to the next section about other issues.

In Optimizely Web Experimentation, we've updated the client so you must append the optimizely_log parameter, then reload the page to see the log. This minimizes the logging overhead for visitors and pageviews that don't request the log.

Check for other issues

If you do not experience targeting issues, then one of these other issues may be causing a problem:

  • Are you using manual or conditional activation? Manual and conditional activation require specific visitor actions to take place in order for the experiment to activate. What actions are necessary to activate your experiment and have you taken those necessary steps? Use Optimizely Web Experimentation's log to see where your experiment may not be meeting these conditions by searching the log for your experiment ID.
  • Is your site dynamic? Does your single page application utilize client-side frameworks like Angular or React? If so, Optimizely Web Experimentation might not be initialized properly when the next page is rendered. See Support for dynamic websites: Use Optimizely Web Experimentation on single page applications.
  • Is jQuery defined? Optimizely Web Experimentation does not rely on jQuery to work properly. However, if you are choosing to code in jQuery, are you using the jQuery library provided by Optimizely Web Experimentation within your project settings, or is the library define on your native side code? You will need to ensure the correct scope is used.