Skip to main content

Everything you need to switch from Optimizely Classic to X in one place: See the Optimizely X Web Transition Guide.

Optimizely Knowledge Base

Compare Optimizely Classic Mobile vs. Optimizely X Full Stack

This article is about Optimizely's Full Stack iOS and Android product. If you're using Optimizely X Web, check this article out instead.
relevant products:
  • Optimizely Classic Mobile
  • Optimizely X Full Stack

  • Learn about the differences between Optimizely Classic Mobile and Optimizely X Full Stack for iOS and Android
  • Decide whether you'll switch to Optimizely X Full Stack

Optimizely X Full Stack includes a new version of Optimizely's mobile solution: Optimizely Classic Mobile. Optimizely X Full Stack lets you run experiments on native iOS and Android apps.

We've redesigned Optimizely X Full Stack for app development teams and included many advanced features to give developers full control over experiments. In response to customer feedback, we've also retired some features from Optimizely Classic.

What should you expect from Optimizely X Full Stack?

  • Full control. Easily customize the behavior of Optimizely for your production environment with pluggable components for logging, exception handling, event dispatching, experiment updates, state management, and integrations. Like other Optimizely X SDKs, our Android and iOS SDKs are available open source.

  • Ease of use. Quickly and easily experiment anywhere in your app with our redesigned web portal and SDK interface. Optimizely X SDKs are lightweight and powerful to ensure minimal performance impact to your app.

  • Multi-channel experimentation. Optimizely X has been redesigned for a multi-channel world. With Optimizely X SDKs, you can create experiments that span your technology stack and multiple consumer channels.

Learn more about the advantages of Optimizely X Full Stack below and on our blog.

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 guides for getting started.

Benefits of Optimizely X

Optimizely X includes many new features that help you iterate faster with more control and less risk. Here are some of the benefits:

  • Customize how your app synchronizes with Optimizely. Our Classic iOS and Android SDKs offered just two options for loading a datafile: synchronously or asynchronously. Our new SDKs give you full control over how the datafile is synchronized with Optimizely, including options to configure download intervals, dispatch intervals, timeouts, fallback options, or managing multiple projects within the same app. Use these options to fine-tune the behavior of Optimizely for any experiment.

  • Configure settings for your production environment. Our mobile SDKs aren't a black box. They offer pluggable components for logging messages, handling exceptions, dispatching events over the network, and managing user state on the device. Tweak and configure these components to change to your production requirements with minimal effort.

  • Audit the complete source code. All Optimizely X SDKs are open source, so you can audit the complete source code or fork the SDKs to meet your team’s needs. Check out our iOS and Android SDKs on GitHub.

  • Manage experiments without connecting an editor. You can now configure experiments without having to load your app in edit mode. Configure variations, traffic allocation, audience targeting, live variables, and more in just a few seconds.

  • Define up to 100 attributes. Optimizely Classic allows you to create up to 10 user attributes (previously known as dimensions). Optimizely X allows you to create up to 100 user attributes per project for finer-grained segmentation and targeting.

  • Provide your own user IDs. The Classic SDKs create a random user identifier and persist it on the device on your behalf.  Optimizely X SDKs require you to explicitly specify your own user IDs, and offer several options for persisting state between sessions. You can reconcile raw data with your own internal systems or other third-party vendors more easily, identify users across multiple devices correctly, and create experiments that span multiple channels.

  • Create experiments across your technology stack. Our new SDK projects help you create experiments that span a combination of frontend and backend changes. For example, you can run experiments in your backend algorithm logic with a Full Stack SDK (like Java) while tracking user actions client-side with a mobile SDK (such as iOS).

  • Keep experiments mutually exclusive. Eliminate interaction effects with exclusion groups that ensure that certain experiments don’t overlap with one another.

  • Customize results. Our new Results page has a fresh look and feel that's powered by an updated Stats Engine. Your most important metric reaches statistical significance first -- and you’ll now see “confidence intervals” instead of “difference intervals.”

Features in development

Some features from Optimizely Classic aren't yet available, but are in currently in development and will be available soon:

  • Feature flags. Optimizely X will enable you to slowly roll out new features in your app and experiment on them. Experiment with how you roll out new features and mitigate risk when introducing them to your users.

  • Preview. Optimizely Classic includes a preview mode that allows you to force trigger your variations in a development app or emulator, so you can QA before a release. We're building a preview mode for the Optimizely X SDKs. In the meantime, use whitelisting to force-trigger variations in your development environment.

  • Session metrics. Optimizely Classic allows you view a few basic session metrics, in addition to user-based metrics. We're working on adding many more session metrics in Optimizely X so you can view all metrics divided by sessions instead of unique users. In addition to providing sessions out of the box, we’ll also provide an option to provide your own session IDs.

  • Default attributes. We're adding out-of-the-box attributes for OS version, SDK version, app version, and device. These attributes will be tracked out of the box without any further setup needed.

We also have many other capabilities on our roadmap that we'll announce as they become available.

Deprecated features from Optimizely Classic

Below are Classic Mobile features that aren't currently supported in Optimizely X Mobile:

  • Visual Editor. Optimizely Classic includes a lightweight Visual Editor that allows you to make limited changes to text, color, and layout using a visual emulator of your app. The editor had the benefit of bypassing app store deploys, but our customers have generally found more value in adding live variables or coding experiments directly in their app. Removing the editor allows us to make our SDKs and web application more performant and easier to use.

  • Code blocks. Optimizely Classic allows you to create experiments based on blocks of code in your app. In Optimizely X, we've consolidated this feature with live variables, which can be used to toggle blocks of code.

  • Integrations. Optimizely Classic includes built-in integrations with major analytics SDKs like Amplitude, Google Analytics, Localytics, and Mixpanel. We found that customers have different expectations and requirements on how data is passed between various providers. In Optimizely X, we’ve decided not to include built-in integrations. Instead, we provide notification listeners and developer documentation to help you integrate with all major analytics SDKs. Here's where to learn more:

The features above aren't available in the initial release (version 1.0) of the Optimizely X Mobile SDKs, but we may consider buildling them based on further feedback. If your team relies on a feature that's not in Optimizely X, contact your Customer Success Manager or the Support team. 

Switching to Optimizely X

We've put together a guide to help you move over to Optimizely X Full Stack. Check out this article on how to switch from Classic to X

Can I keep using Optimizely Classic?

Yes. If you currently use Optimizely Classic, you can keep using it for your production experiments. Here's what you need to know:

  • Experiments aren't shared between Optimizely Classic Mobile and Optimizely X Full Stack. They live exclusively in one or the other.

  • We continue to support Optimizely Mobile Classic currently and don't yet have a date for deprecating it. We'll send an announcement to our mobile users when a date for sunsetting Optimizely Classic Mobile is finalized.

  • We strongly encourage customers to move to Optimizely X Full Stack as soon as possible. Our development resources will be devoted to X going forward. We'll be building more features in the near future.

If you're aware of features that are critical for your team and not yet available in Optimizely X, please contact your Customer Support Manager or the Support team.