RELEVANT PRODUCTS:
  • Optimizely X Web Experimentation
  • Optimizely X Web Personalization
  • Optimizely X Web Recommendations

This article will help you:
  • Identify the default change order (parallel or sequential) for an experiment based on the date the experiment was created
  • Identify the sequence of change execution (if your changes are being applied sequentially)
  • Modify the Timing settings for an element change to make sure a particular change executes before another change

For experiments created before August 31, 2017, Optimizely applies your Visual Editor changes in sequential order by default. Your changes are applied in the same order as they are listed in the Changes panel on the left side of the Visual Editor. The first change listed will execute, then the next change, and so on.

change-order.png

For changes created on or after August 31, 2017, Optimizely will apply changes in parallel by default. This means Optimizely will apply each change as soon as we find the element on the page, without waiting for the change before it to execute.  Existing changes that wait for previous changes will be unaltered.

Modify change dependencies 

If you need to make sure that a particular change executes before another change, you can tell Optimizely to wait for the first change. To do this, when you create the second change (the one that should "wait" on the first change), open the Timing menu and select Wait for previous change.

change-timing.png

The Wait for previous change selection refers only to the change listed immediately before the change that should wait. Currently, it is not possible to re-order the Changes list.

Effect of deleting a change

When you delete a change, any change set to wait for it will no longer wait for any change.

For example, suppose you have linked three changes using the Wait for previous change selection. The third change depends on the second change, and the second change depends on the first change. If you delete the second change, the third change will not wait for the first change.

Extension execution order

Extension execution order is handled slightly differently than change order. An experiment with multiple extensions but no other changes will apply the extensions in parallel. You can build an extension's Apply JS to make it wait for another extension.

An extension will wait for a Visual Editor change if the extension is added to the experiment after the Visual Editor change.  Conversely, a Visual Editor change will not wait for an Extension to finish applying if it is added after the Extension in the Change list.