Why Devs Should Love Optimizely

Ease of use is not the only thing that makes Optimizely handy

Andrew E Mauney
BVAccel
7 min readFeb 23, 2017

--

It’s no secret that at Rocket Code, we use and love Optimizely for our testing needs.

Now, a lot of people — developers included — think that split testing with a tool like Optimizely will add a ton of work to their already overburdened plates.

The fact of the matter is, though, that creating and running tests with Optimizely is extremely easy, even with the API.

Ease of use is Optimizely’s calling card—and it’s not the only advantage of this handy tool.

I’m going to take a brief look at the key benefits of Optimizely for developers, including speed/performance, the power and flexibility of the API, and how Optimizely can help foster a culture of testing in your organization and for your clients.

Let’s dig in!

Advantage 1: Ease of Use

I probably don’t need to tell you that Optimizely is easy to use. Optimizely basically invented the idea of ease of use when it comes to split testing.

Before Optimizely, you had to set up a ton of custom filters, views, and events via Google Analytics, then hope everything was set up correctly and synced with any server-side requirements you had.

With Optimizely, though, all you need is a snippet — a single line of code.

Beyond the profound simplicity of snippet-driven testing, a key advantage of Optimizely is not necessarily the ease of use that it affords developers.

Instead, it’s how it makes it easy for non-developers to use.

Why is this important? Quite simply, it helps distribute the burden of running the testing operation more fairly across a team.

A non-dev with a bit of background can set up and run simple tests without having a dev holding their hand or watching over their back at every step. This means is that devs are freed to up to do higher-value stuff, like… actually developing things.

Of course, Optimizely also has some in-depth testing capabilities that require the expertise of a developer in order to take full advantage of them. But the key here is that Optimizely doesn’t have to be a developer-only tool.

Speaking of handing off testing duties to others, Optimizely’s Collaborators section can help tremendously when you have a team with mixed technical and testing skills. You can limit the views and edit rights of the different collaborators so that someone can’t accidentally remove some change critical to a test.

You can also enable team members to make small modifications such as changing link colors or copy, with a clear chain of who changed what and when. This has been particularly helpful at Rocket Code when we hand tests off to clients so they can make any necessary copy tweaks for an experiment.

Advantage 2: The API

Another reason we love Optimizely here at Rocket Code is the API. The Optimizely API is extremely flexible, and at the account and experiment level enables you to do virtually everything you can in the Admin.

For one, you can start and stop experiments via the API. This would be helpful if you wanted, for example, to stop an experiment and check on it after you had sold $5,000 worth of goods.

Something else the API allows you to do is manually add users to different segmentation/audience buckets and experiment variations. We love this flexibility, as it allows us to use custom user segmentation (for instance, those who have made $500 or more in lifetime purchases) that we may not easily be able to identify through an external platform or without exposing more data on our site’s end.

The flexibility of the API in this way also gives you the chance to integrate your tests as deeply as you’d like in your site or app. Let’s say you’re testing a new feature, and want to progressively roll out the test to new users every hour. The Optimizely API would enable you to manually add the users to the correct audience or segment as they become available for the test, thus allowing you to scale the test at your own system’s pace.

Finally, if you run into questions or trouble, the support documentation for the API is also great — plus, this documentation is available to anyone, not just API users. (And if we’re being honest, the Optimizely support documentation as a whole is a strength — not just the API docs.)

Advantage 3: Speed

Ease of use has always been the calling card of Optimizely, but it’s not the only reason we love it from a development perspective. Speed is another key advantage of Optimizely for devs, in a couple of ways.

The first is speed in terms of workflow, and the process required to actually work with Optimizely. There is often a direct correlation between ease of use and speed, and this is definitely true when it comes to Optimizely. Simply, because Optimizely is so easy to use, it’s faster to get started and get going with it.

The second is speed in terms of performance — specifically, page performance. Because Optimizely generally requires so little overhead, your visitors won’t notice any slowdown if you set things up right. That said, there are a few things we like to do to make sure page performance is minimally affected when we’re running tests via Optimizely:

  1. Keep as much of the CSS/markup/JS in the original source files as possible.
  2. Audit the changes made in the “Edit Code” section of each variation to remove any duplicate code and combine as much code as possible.
  3. Leverage redirect tests where possible, so we only have to load in the changes we need.

Now, these aren’t the only guidelines that apply in terms of reducing the overhead of your snippet and maximizing page-load speed in a testing environment, but they’re the ones that have been the most relevant to our Optimizely testing.

If you want to learn more, this handy article on the Optimizely support site covers some other areas where you can secure speed gains. And you can pick up lots more insight on this topic by scanning forums like Quora.

Advantage 4: Fostering a testing mindset

In fact, this is the most valuable advantage of Optimizely for a developer. What do I mean by “fostering a testing mindset”? I’ll explain.

Let’s say you or your team have an idea to upgrade a client’s ecommerce store’s product page to add a new purchase flow. Your client (the store owner) wants to simply launch the new flow and see how it works rather than split testing it.

With a tool like Optimizely, you can instead run a test of the new purchase flow versus the old to see how they perform side-by-side. This ability isn’t necessarily unique to Optimizely, but what is unique is that Optimizely provides powerful statistical backing for the data you receive, and without much configuration, can help you break down that data for analysis.

At Rocket Code, we’ve run into several instances where in testing we found a difference in page-load speed that we hadn’t noticed during development, and were able to make improvements to our feature because of what we saw in testing.

Optimizely gives us the flexibility to make these kinds of changes without having to guess at what those changes might be affecting; we can look at virtually any major segmentation we can think of and validate how the feature we developed is making an impact.

Essentially, split testing a feature with Optimizely gives us the confidence to work on a feature and know whether or not it is making a difference—helping us better understand what we need to do to improve the site experience.

What does this mean in the larger scheme?

Being able to consistently validate the impact of our changes via Optimizely plays a huge role in fostering a culture of testing, both within our company and with our clients. Optimizely help us easily make the case internally and with our clients about the value of testing a new idea.

To build a culture, you need tools that match with and facilitate that culture, and that’s exactly what Optimizely does for us.

--

--

Andrew E Mauney
BVAccel

Former developer at Rocket Code/BVAccel. Part-time recovering video game reviewer. Part-time board gamer. Curator at http://allthestyleguides.tumblr.com