Orange arrow with light bulbs on a blue wall

A few days ago we released Nelio A/B Testing 6.6, the newest version yet of our split testing plugin for WordPress. This release adds support for WooSubscriptions, one of the plugins you wanted to see integrated into Nelio. We’ve also tweaked WooCommerce Product tests and improved your developer experience. Check it out!

WooSubscriptions

WooSubscriptions is an official extension for WooCommerce that “lets customers subscribe to your products or services and pay on a weekly, monthly or annual basis.” When you install this extension on your WooCommerce store and create a new product, there’s a couple of new types to create simple and variable subscriptions:

Screenshot of WooCommerce's product types, showing that WooSubscriptions adds the subscription type
After enabling WooSubscriptions, Product Type in WooCommerce now includes Simple subscription and Variable subscription.

When creating subscription products, WooSubscriptions offers a ton of settings to customize its pricing strategy:

Screenshot of subscription details in WooCommerce, with the focus set on pricing and all the available options
Subscription prices and properties.

In particular, it allows you to define three different prices:

  • Subscription price is the same as any other product’s “regular price.” However, in this particular instance, not only can you define how much a subscriber is supposed to pay for the subscription, but also its periodicity (monthly, yearly, etc).
  • Sale price. Prospects can subscribe to your product at a special price and, as far as I could tell, it behaves like any other product’s sale price. The only difference is, as you can imagine, the sale price is billed periodically every time the subscription is renewed.
  • Sign-up fee is a special amount of money a subscriber has to pay when they first subscribe to the product.

Nelio A/B Testing 6.6 supports “Subscription price” and “Sale price.” If you create a Product test or a Bulk Sale test in Nelio A/B Testing, you’ll be able to tweak the amount of money a new subscriber will have to pay for your tested products.

The user interface for defining a Product test hasn’t changed from previous versions. As always, you’ll be able to define alternative regular and sale prices:

Screenshot of regular and sale prices in a Product test with Nelio A/B Testing
Regular and Sale Prices in a Product test.

Notice that, at the moment, you won’t be able to define an alternative sign-up fee or change a subscription’s periodicity in your split tests. If you’re interested in any of these features, let us know and we’ll move them up our dev queue.

On the other hand, Bulk Sale tests didn’t change at all either. You’ll simply have to define the discount percentage on each variant and that’s it, you’re good to go:

Screenshot of a Bulk Sale Test created with Nelio A/B Testing showing a 50% discount in variant B
Apply a 50% discount to all products.

WooCommerce Pricing

As we expand and improve our integrations with WooCommerce, we’ve identified a set of issues that are extremely difficult to overcome. In particular, those related to pricing.

During the past few months, we’ve learned there’s plenty of plugins out there that hook into WooCommerce to modify prices. Ours is one example, of course. But so are, for instance, the currency switcher plugins we discussed in the previous post, which basically changed the pricing value by applying an exchange rate to a new currency.

And here comes the problem: when there’s several plugins hooking into WooCommerce to tweak a product’s price, it’s extremely easy that they end up interfering each other. Depending on who runs first and what it does, things may or may not work as expected.

For example, let’s say you’re using Nelio A/B Testing and a currency switcher plugin. Then imagine you’re testing a product that, by default, is 100€, and the alternative price is 90€. And the exchange rate you’re using on your website is 1€ = $1.20. If a visitor is supposed to see variant B in dollars, you clearly expect the product to be $108 (90€ × 1.2$/€)… and that’s what you’d get, if our plugin runs first and changes the original price (100€) to the alternative one ($90) and then runs the currency switcher.

However, things may not work as expected. If the currency switch runs first, it’ll apply the exchange rate to 100€, making it $120, and then our plugin would change the value from $120 to $90.

And that’s precisely the issue we addressed in Nelio A/B Testing 6.5 – we made sure that our plugin run before Price Based on Country for WooCommerce and Aelia’s Currency Switcher so that, when it was their turn, they’d apply the exchange rate to the appropriate alternative price.

Unfortunately, there’s plenty of plugins out there that may or may not be compatible with our plugin out of the shelf.

So what do you do if you’re using a WooCommerce plugin that’s not compatible with Nelio A/B Testing? Well, a product’s price is a pretty sensitive piece of information, and it’s extremely important that, whatever it is you end up showing to your visitors, it’s “correct.”

To make sure that you can continue to use both plugins, we’ve now implemented a new setting in our Product tests to disable price testing completely:

Screenshot of control version and variants in a product test, with the new setting "Disable price testing" highlighted
There’s a new setting in a product test to disable price testing.

If you uncheck the Enable price testing checkbox, our plugin won’t hook into WooCommerce’s pricing filters and your other plugins should work as expected. Hope this helps!

Listening to Testing Events

Finally, we’ve also implemented a super useful feature that will make your developer experience way better. Starting with version 6.6.0, Nelio A/B Testing now triggers a window.postMessage whenever it’s about to sync an event with our cloud. If you want to listen to these events, all you gotta do is the following:

window.addEventListener( 'message', ( ev ) => {
if ( ev.data?.plugin !== 'nelio-ab-testing' ) {
return;
}

if ( ev.data?.type !== 'testing-event' ) {
return;
}

const event = ev.data.value;
// ^ Do what you want with the event.
} );

Just listen to message events at the window level and make sure the event has been triggered by nelio-ab-testing. At the moment, the only type of message we’re triggering is a testing-event, but we may expand this in the future so that you can know when tracking starts, when alternative content has been loaded, etc.

Play around and enjoy this new feature!

Additional Updates

  • Fix page view tracking on WooCommerce experiments when only some parts of a product were visible
  • Fix issue during inline tests, where titles where incorrectly wrapped when doing content filter

Featured image by kaleb tapp on Unsplash.

Leave a Reply

Your email address will not be published. Required fields are marked *

I have read and agree to the Nelio Software Privacy Policy

Your personal data will be located on SiteGround and will be treated by Nelio Software with the sole purpose of publishing this comment here. The legitimation is carried out through your express consent. Contact us to access, rectify, limit, or delete your data.