Meet Optimizely X

Experiment everywhere with the leading Experimentation Platform - across every device, every channel, every customer touchpoint.

Every great invention was born from experimentation. Optimizely X unlocks the creativity within your organization.

Experiment and personalize with pricing, recommendations, and product features across every channel to improve customer experiences and grow revenue.

Be brave, experiment everywhere, and transform your customer experiences with Optimizely X.

Be brave, experiment everywhere, and transform your customer experiences with Optimizely X.

Optimizely X Web Experimentation

Enable everyone in your organization to improve every experience, whether your marketing team is seeking to understand the best way to apply advertising dollars or your product team is learning how to build the most engaging product onboarding experience.

Learn More

Optimizely X Web Personalization

Deliver targeted content and experiences in real time. Bring together what you know about your customers and your most successful experiments to deliver personalized customer experiences with measurable improvements to your bottom line.

Learn More

Optimizely X Recommendations

Automatically add product, category, and content recommendations to any website. Leverage machine learning to continuously improve your recommendations to deliver hands-off ROI. Experiment on algorithms, placement, and presentation to understand the best way to engage your customers.

Talk to Us
import optimizely

optimizely = optimizely.Optimizely(datafile)

# Activate an experiment
variation = optimizely.activate('my_experiment', 'user_123')

if variation == 'variation_a':
  # Execute code for variation A
elif variation == 'variation_b':
  # Execute code for variation B
else:
  # Execute default code

# Track an event
optimizely.track('purchase_completed', 'user_123')

import com.optimizely.ab.Optimizely;

Optimizely optimizely = Optimizely.builder(datafile).build();

// Activate an experiment
Variation variation = optimizely.activate("my_experiment", "user_123");

if (variation != null) {
  if (variation.is("variation_a")) {
    // Execute code for variation A
  } else if (variation.is("variation_b")) {
    // Execute code for variation B
  }
} else {
  // Execute default code
}

// Track an event
optimizely.track("purchase_completed", "user_123");

require "optimizely"

project = Optimizely::Project.new(datafile)

# Activate an experiment
variation = project.activate('my_experiment', 'user_123')

if variation == 'variation_a'
  # Execute code for variation A
elsif variation == 'variation_b'
  # Execute code for variation B
else
  # Execute default code
end

# Track an event
project.track('purchase_completed', 'user_123')

var optimizely = require('optimizely-server-sdk');

var optimizely = optimizely.createInstance({ datafile: datafile });

// Activate an experiment
var variation = optimizely.activate('my_experiment', 'user_123');

if (variation === 'variation_a') {
  // Execute code for variation A
} else if (variation === 'variation_b') {
  // Execute code for variation B
} else {
  // Execute default code
}

// Track an event
optimizely.track('purchase_completed', 'user_123');
var optimizely = require('optimizely-server-sdk');

#import <OptimizelySDK/Optimizely.h>

Optimizely *optimizely = [Optimizely initWithBuilderBlock:^(OPTLYBuilder *builder) {
    builder.datafile = datafile;
}];

// Activate an experiment
NSString *experimentKey = @"my_experiment";
NSString *userId = @"user_123";
OPTLYVariation *variation = [optimizely activateExperiment:experimentKey userId:userId];

if ([variation.variationKey isEqualToString:@"variation_a"]) {
  // Execute code for variation A
} else if ([variation.variationKey isEqualToString:@"variation_b"]) {
  // Execute code for variation B
} else {
  // Execute default code
}

// Track an event
NSString *eventKey = @"purchase_completed";
[optimizely trackEvent:eventKey userId:userId];
import OptimizelySDKCore

let optimizely: Optimizely = Optimizely.initWithBuilderBlock({ (builder) in
  builder.datafile = datafile
})

// Activate an experiment
let experimentKey = "my_experiment"
let userId = "user_123"
let variation = optimizely!.activateExperiment(experimentKey, userId: userId)

if (variation != nil) {
  if (variation!.variationKey == "variation_a") {
    // Execute code for variation A
  }
  else if (variation!.variationKey == "variation_b") {
    // Execute code for variation B
  }
}
else {
  // Execute default code
}

// Track an event
let eventKey: String = "eventKey"
optimizely!.trackEvent(eventKey, userId: userId)

import com.optimizely.ab.Optimizely;

Optimizely optimizely = optimizelyManager.getOptimizely();

// Activate user in the experiment
Variation variation =
optimizely.activate(EXPERIMENT_KEY, USER_ID);

if (variation != null) {
  if (variation.is("variation_a")) {
    // Execute code for variation A
  } else if (variation.is("variation_b")) {
    // Execute code for variation B
  }
} else {
  // Execute default code
}

// Track conversion event
optimizely.track(EVENT_KEY, USER_ID);

Optimizely X Full Stack

Empower your developers to experiment everywhere. By running experiments in any application, you can iterate on search algorithms, launch new features confidently, and learn the best way to build product experiences for your customers.
Learn More

Optimizely X Mobile

Engage customers where they are, regardless of device, by running experiments on apps built on iOS and Android. Instantly roll out new features without waiting for App Store or Google Play review.

iOS Android
Learn More
iOS Android

Optimizely X OTT

Deliver great over-the-top TV experiences by running experiments in any application built for tvOS or Android, such as navigation, app layout, site design, featured content or integrated message testing.

tvOS Android
Talk to Us
tvOS Android

Partner with us to establish and grow your experimentation program.

We're here to help. Optimizely Customer Success has worked to support thousands of teams. Learn how we can partner with you to add capacity and expert resources to accelerate the success of your experimentation program.

Learn More
If Atlassian couldn't experiment on our user's journey, we would lose a major lever in making our customers more successful with our products.
– Cameron Deatsch, VP of Growth, Atlassian

It's your turn. How will you experiment everywhere?