- Add one line of code to your site to start running Optimizely Web Experimentation including A/B testing
- Choose the pages where you would like to add the Optimizely Web Experimentation code snippet
- Find your project code snippet in Optimizely Web Experimentation UI
- Decide where to add the code snippet in your HTML
If this is your first time using Optimizely Web Experimentation, you will need to add a small snippet of code (here is how it works) to the <head> tag of your site's code to start running experiments. This snippet contains your unique Project ID and allows Optimizely Web Experimentation to run on your site. Once you add it, the snippet will update automatically; you do not need to do a thing.
After you complete the one-line implementation of the snippet with the three steps below, you will be able to run experiments anywhere on your site.
1. Decide where to add the snippet
Consider the architecture of your site and experimentation program when deciding where to add the snippet. Each Optimizely Web Experimentation project, or workspace, has its own snippet.
If your account plan includes cross-project events, you can track metrics across project spaces. If not, make sure that all parts of your site where you measure results are in the same project. One snippet should run across all those pages.
If you have separate development and production environments, or different domains and subdomains, you will likely need separate projects (and snippets) for each.
2. Retrieve the snippet
Next, retrieve the snippet that you will add to your site. Here is a screenshot, with step-by-step instructions below:
Navigate to Settings > Implementation.
Click the Copy to Clipboard icon for the snippet you want to copy.
If your account uses custom snippets, you might see more than one snippet listed. Choose the one that is relevant to this part of your experimentation program.
Never have more than one snippet on your site at a time.
3. Specify origins where Optimizely Web Experimentation will run
Next, specify the domains where Optimizely Web Experimentation will run and track events.
An “origin” is a combination of a specific hostname, protocol, and port on your site. Tell Optimizely Web Experimentation where you will track events. By default, events that you track in Optimizely Web Experimentation can only be used to target changes on the same origin, so enable cross-origin targeting to track events across origins.
4. Add your snippet to the <head> tag of your site
For optimal performance, add the Optimizely Web Experimentation snippet to the <head> tag of the HTML for your site. We recommend implementing the snippet as high up in the head tag as possible, generally after your <html> tag, charset declarations, and possibly other meta tags. Place the Optimizely Web Experimentation snippet before code for any analytics or heatmapping platforms as well.
Place these before the snippet:
Charset declarations and other meta tags, like <meta charset='utf-8'>
jQuery, if you are using your own version and not Optimizely Web Experimentation's version (see jQuery Settings)
Place these after the snippet:
All other elements on your page
Any analytics or heatmapping code
Other content in a tag manager
Here is what the Optimizely Web Experimentation snippet might look like on a page:
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <!-- Add other meta information here --> <!-- Add stylesheets here --> <script src="https://cdn.optimizely.com/js/12345678.js"></script> <!-- Add scripts and other content here --> </head> <body>
Why in the top of the head tag? Optimizely Web Experimentation works by making changes to your page as the page loads. If the snippet is added to the top of the head tag, then Optimizely Web Experimentation will make changes to the page as it loads.
If the snippet is added anywhere lower, it will technically still work. But if the page has already loaded content that the visitor sees before the Optimizely Web Experimentation snippet loads, the original version of the page may load before being transformed into the variation by Optimizely Web Experimentation. This is known as "page flashing." In most cases, the code executes too quickly for this to be visible. But to avoid any potential problems we suggest adding the snippet as early in the execution path as possible.
You will need the ability to add the snippet to the head tag of your production environment and development environments (if you have both).
Check that the snippet is implemented
Here is how to check that the snippet has been implemented on your page correctly.
Load Optimizely Web Experimentation with a tag manager or into a CMS
We do not recommend that you load the Optimizely Web Experimentation snippet through a tag manager.
Loading Optimizely Web Experimentation through a tag manager can cause issues such as page flashing, where the original version of your page is briefly displayed to visitors before the Optimizely Web Experimentation experiment. Google Tag Manager, for example, does not support synchronous loading. Tag managers can also cause issues with your analytics integrations. To deliver the best experience to your visitors, we strongly recommend that you implement Optimizely Web Experimentation outside of a tag manager.
If you must load Optimizely Web Experimentation through a tag manager, consider these pitfalls and implementation suggestions and contact your Customer Success Manager to discuss implications.
Here are some tag managers that customers have used: