Use Extensions

  • Updated
  • Optimizely Web Experimentation
  • Optimizely Performance Edge
  • Optimizely Personalization

To use Extensions in Optimizely Performance Edge, see Custom code and utility functions to learn how to implement custom code for experiments.

Extensions are reusable templates that developers can use to create custom features for non-technical teams. Extensions streamline experiment creation and reduce code duplication. Teams can use extensions to add custom features to experiences without ongoing developer support. You can also copy extensions from one project to another.

This feature is only available in Accelerate and Scale for MAU pricing models and Business and Enterprise for Impressions pricing models.

For example, you might use extensions to build an image carousel style for the homepage and code it to rotate between images. You can then insert an image carousel on any page and modify the images for a specific campaign without writing more code. Non-technical users can easily add and edit elements on their webpages with extensions that might otherwise require coding. See how to add a timed modal for an example of how extensions work.

When you build an extension for an experiment or project, it is only included in the snippet if it is used in at least one of the experiment's variations. Archived, unused, and draft-mode extensions are never built into the snippet.

If you want to remove an extension from your snippet, disable it from the Extensions menu (Implementation > Extensions).

Optimizely Web Experimentation and Optimizely Personalization provide a library of pre-built, re-usable extensions.

Other extensions you might build include (but are not limited to):

  • Banners

  • Carousels

  • Notification bars

  • Lightboxes

  • Timed modals


Learn about building extensions in the developer documentation.

Copy extensions from one project to another

The easiest way of copying an extension from one project to another is with the JSON file:

  1. Open the extension.
  2. Click the Edit JSON button. Web_Extensions_JSON.png
  3. Copy the JSON code.
  4. Create an extension by selecting the Using JSON option. Web_Extensions_CopyfromJSON.png
  5. Paste the JSON code.
  6. Save the extension.


Depending on the number of Extensions used in active experiments, this may slightly increase the time to execute the snippet. Projects without Extensions do not have any impact on performance. Optimizely has multiple measurements in place and continuously monitors the performance metrics.