Skip to main content

We are currently experiencing an issue that is preventing customers from submitting support tickets. Please contact us at (866) 819-4486 if you need immediate assistance.

Optimizely Knowledge Base

Get started with Optimizely X Full Stack

  • Get started with Optimizely X Full Stack
  • Create experiments in the programming language of your choice, including: Python, Ruby, Java, and Node
  • Run experiments anywhere in your technology stack, using one of Optimizely’s SDKs
  • Use Optimizely’s Stats Engine to measure the impact of your experiments

Resources at a glance

Here's a list of articles to help you get up and running with Optimizely X Full Stack.

Optimizely X Full Stack helps you run Optimizely experiments in any application or on any connected device. It enables product and engineering teams to experiment deeply and broadly across their technology stack, with server-side and client-side testing on a single experimentation platform.

Use it to experiment in areas such as pricing, search result algorithms, or redesigns. A/B test across your technology stack or slowly roll out a new feature.

Full Stack experiments work a little differently from experiments in Optimizely X Web.

Here's an example of what a typical use of the Optimizely SDK in Python might look like:

To jump in and start building your first Full Stack experiment, choose a guide:

We’re adding support for more languages soon.

For full documentation of our SDKs, check out our developer documentation.

To learn more or add Optimizely X Full Stack to your account, contact your Customer Success Manager.

Projects in Full Stack versus Web

Full Stack projects are workspaces for managing your Full Stack experiments. If you're familiar with Optimizely X Web, Full Stack projects share many of the same concepts. Both include many of the same experiment configuration options, including variations, events, metrics, attributes, and audiences. They also share account management features such as collaborators, permissions, single sign-on, and two-factor authentication.

Here’s how Full Stack projects are different from Web projects:

  • For Full Stack projects, you specify a primary language for developing experiments. This is the language that developers use to execute traffic splits in your applications. As of October 4, 2016, you can create projects for Python, Java, Ruby, and Node. We'll provide more SDKs soon.

  • Full Stack projects don’t include the Visual Editor. Your developer will create experiments as flags in their application code and launch using their team’s regular code deploy process instead of creating experiments with the Visual Editor.

  • Full Stack projects include advanced features that aren’t available for Web projects, including: webhooks, whitelisting, and mutually exclusive experiments. Read more about these options in this article.

Set up a Full Stack project

A project is a way of creating a subsection in your Optimizely account. Each project has its own set of experiments and collaborators.

In Full Stack, you'll create separate projects for the primary language that your developer uses to create traffic splits. Or, use them to set up separate production and QA environments.

Learn to create a new Full Stack project.

Create a Full Stack experiment

A/B Testing, also known as split testing, is a method of experience optimization in which the conversion rates of two versions of a page — variation A and variation B — are compared to one another using live traffic. Users are bucketed into one version or the other. By tracking the way users interact with the experience they're shown — clicks to search results and purchases — you can determine which version is most effective. Read more about different types of experiments.

Optimizely X Full Stack allows you to run Optimizely experiments in any application or any connected device

Setting up an experiment in Full Stack is a little different from creating an Optimizely X Web experiment. Learn to create an experiment in Full Stack in six steps.

Create audiences and attributes

Audiences are groups of users who share an attribute in common. Create attributes to define specific audiences, and use them to target experiments to a particular group of users.

Full Stack audiences work a little differently from audiences in Optimizely X Web. Learn to create attributes and audiences in Full Stack.

Create events

Events track the actions that people take in your application, such as clicks to a search result. In Optimizely X Full Stack, events help you track key user behaviors on your application, or anywhere else in your technology stack.

When you create an experiment, add events as the metrics that measure success for that experiment.

Learn to create an event in Full Stack.

Create mutually exclusive experiments

Mutually exclusive experiments help you ensure that a single user doesn't see two overlapping A/B tests. In other words, they ensure that users who are exposed to Experiment #1 never see Experiment #2, and vice versa.

Use mutually exclusive experiments when you'd like to control for interaction effects.

In Full Stack, you'll use experiment groups to make two or more experiments mutually exclusive to each other. Learn more about mutually exclusive experiments, including tips on when to use them and when to allow experiment overlap.

View experiment results

On Optimizely’s Results page, Stats Engine shows the impact of your experiments in real-time. Once your experiments are running, use the Results page to see how they're performing.

Learn to segment your Results, add and remove metrics, and more about the Optimizely X Results page.

QA: Create whitelists

In Full Stack, you can use whitelists to QA your experiments. Create whitelists to show live experiments only to a few, specific users. 

Use them to preview and QA your experiments, when you want to show live variations to 10 users or fewer.

Learn more about whitelisting users in Full Stack.

Troubleshooting: Access the project datafile

The datafile is a JSON representation of your Optimizely Full Stack project. It contains all the instructions needed to run your experiments. Use it to troubleshoot experiments in Full Stack and confirm expected updates.

Read on to access the project datafile in Full Stack or learn to use the datafile with our developer documentation.