Skip to main content

Everything you need to learn Optimizely X in one place: See our resource pages for Web Experimentation and Personalization.

Optimizely Knowledge Base

SDK projects: Run experiments across your tech stack

relevant products:
  • Optimizely X Mobile
  • Optimizely X Full Stack
  • Optimizely X OTT

  • Understand the hierarchy of accounts, projects, and experiments 
  • Decide how to subdivide your account by primary languagenative app, or for development and production environments

Projects are ways of creating workspaces for your Optimizely experiments. An SDK project is a subsection in your Optimizely account for experiments built with Optimizely X Mobile, OTT, or Full Stack.

SDK projects allow you to experiment across your technology stack with Optimizely's SDKs: 

  • If your account includes Full Stack, you can create projects in Python, Ruby, Java, Node, PHP, and JavaScript

  • If your account includes Mobile, you can create projects for native iOS and Android apps

  • If your account includes OTT, you can create projects for native tvOS and Android-based TV apps

Each project has its own set of experiments and collaborators. The hierarchy of experiment organization looks like this:

When to create multiple projects

Sometimes, you'll want to experiment in multiple languages, on different applications, or on different devices. Optimizely can help you do this. Simply create separate SDK projects to run experiments in different apps, languages, and environments.

For example, you might run experiments on two different Python backend services, a Java backend, and a React Node application. You'd create four separate projects (two in Python, one in Java, and one in Node). By specifying a primary language, you help Optimizely provide language-specific code samples and keep you informed of SDK updates.

If you have separate production and QA environments, you’d likewise create separate projects to run experiments in each.

Learn more about setting up an SDK project as a workspace for your experiments.

SDK projects versus Web projects

If you're familiar with Optimizely X Web, SDK projects share many of the same concepts. Both include similar 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 SDK projects are different from Web projects:

  • For SDK projects, you specify a primary language for developing experiments. This is the language that developers use to execute traffic splits in your applications.

    Currently, you can create Full Stack projects in Python, Java, Ruby, Node, PHP, and JavaScript. If you have Optimizely X Mobile, you can also create mobile experiments for native iOS and Android apps. If you have Optimizely X OTT, you can also create experiments for tvOS and Android-based TV apps.

  • SDK projects don’t include the Visual Editor. SDK projects are build with developers in mind. Use them to create experiments as flags in the application code and launch them with the regular code deploy process, instead of creating experiments with a Visual Editor.

  • SDK projects include advanced features that aren’t currently available for Web projects, including: webhooks, whitelisting, mutually exclusive experiments, datafile versioning, and more.