Meet Optimizely X
Experiment everywhere with the leading Experimentation Platform - across every device, every channel, every customer touchpoint.
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 MoreOptimizely 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 MoreOptimizely 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
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"
);
import "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'
);
#import <OptimizelySDKiOS/OptimizelySDKiOS.h>
OPTLYManager *manager = [OPTLYManager init:^(OPTLYManagerBuilder * _Nullable builder) {
builder.projectId = @"projectId"
;
}];
// Asynchronously initialize the Optimizely client
[manager initializeWithCallback:^(NSError
* _Nullable error, OPTLYClient * _Nullable client) {
// Activate an experiment
OPTLYVariation *variation = [client activate:@"my_experiment"
userId:@"user_123"];
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
[client track:@"purchase_completed"
userId:@"user_123"
];
}];
import OptimizelySDKiOS
let optimizelyManager = OPTLYManager.init {(builder) in
builder!.projectId = "projectId"
}
// Asynchronously initialize the Optimizely Client
manager?.initialize(callback: { [weak self] (error, client) in
// Activate an experiment
let variation = client?.activate("my_experiment"
, userId: "user_123"
)
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
client?.track("purchase_completed"
, userId: "user_123"
)
})
import com.optimizely.ab.android.sdk.OptimizelyClient;
OptimizelyClient optimizelyClient = optimizelyManager.getOptimizely();
// Activate an experiment
Variation variation = optimizelyClient.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
optimizelyClient.track("purchase_completed"
, "user_123"
);
use Optimizely\Optimizely;
// Initialize an Optimizely client
$optimizelyClient = new Optimizely($datafile);
// Activate an experiment
$variation = $optimizelyClient->activate('my_experiment'
, 'user_123'
);
if ($variation == 'variation_a'
) {
// Execute code for variation A
} elseif ($variation == 'variation_b'
) {
// Execute code for variation B
} else {
// Execute default code
}
// Track an event
$optimizelyClient->track('purchase_completed'
, 'user_123'
);
using OptimizelySDK;
// Initialize an Optimizely client
Optimizely OptimizelyClient = new Optimizely(datafile);
// Activate user in an experiment
var variation = OptimizelyClient.Activate("my_experiment"
, userId);
if (variation != null) {
if (variation == "control"
) {
// Execute code for variation A
}
else if (variation == "treatment"
) {
// Execute code for variation B
}
}
else {
// Execute default code
}
// Track conversion event
OptimizelyClient.Track("my_conversion"
, userId);
Optimizely X Program Management
Scale experimentation across your entire organization and increase the velocity of your program by up to 5X with team workflow collaboration tools and program-level executive dashboards.
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
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.
Learn MoreIf 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 DeatschVP of Growth, Atlassian

