Skip to main content


Optimizely Knowledge Base

Set up a Full Stack project

  • Optimizely X Full Stack

  • Set up Optimizely X Full Stack projects for your experiments
  • Create separate projects for development and production environments

If you're using Optimizely X Full Stack, you'll create a Full Stack project before you build your first experiment. A project is a way of managing experiments within a single application or service (that you're developing in). In most cases, we recommend setting up one project for each application or service. Consider setting up separate projects for different staging environments.

See additional resources
Here are all our articles about the Optimizely dashboard, which you'll use to create projects, add collaborators, manage privacy settings, and more: 

Here's our developer documentation, where you'll find code samples, full references for our SDKs, and getting started guides.

Create a Full Stack project

Here's how to create a new Full Stack project, with step-by-step instructions below:


  1. In Optimizely X, select Switch Project.

  2. Click New Project.

  3. Select the Full Stack project in the language you'll use to create experiments.

    All Full Stack projects look similar, regardless of language. By specifying a primary language, you help Optimizely provide language-specific code samples and keep you informed of SDK updates. In practice, our Full Stack SDKs are language agnostic; meaning that you can use a datafile from any Full Stack project type to initialize an Optimizely client within your app, regardless of which language you've designated for your project in the Optimizely dashboard.

  4. Name your new project.

  5. Click Create Project.

Congratulations! You've created a new Full Stack project. Now you can create experiments in your new project.

Full Stack projects using multiple SDKs

You can use multiple SDKs to run experiments that span different parts of your technology stack. Use any Optimizely Full Stack SDK in any Full Stack project, even if they don't match the primary language you selected. Select the primary language based on the application where you will assign visitors to experiments.

For example, imagine you're running experiments in your Python backend and tracking events in a web browser via JavaScript. In this example, you'd use Python as the primary language because that's where your experiment code runs.

You’re always free to track conversion events for your experiments in any other part of your technology stack in any language.