A/B/n Testing module

License MLA



Maven site

A/B/n Testing



Magnolia A/B/n Testing is currently available as a Beta only.

The A/B/n Testing module installs the A/B/n Testing app and allows you to perform A/B/n testing via the Magnolia UI.

The results from the A/B/n Testing module beta rely on the Analytics dashboard from the Analytics module v1.2-beta1.

Module structure

artifactID Description


Provides a default implementation to connect to the A/B/n Testing app.


Provides the UI configuration for the A/B/n Testing app.

Installing with Maven

Maven is the easiest way to install the module. Add the following to your bundle:



To configure the following properties, go to ab-testing/config.yaml.

If you do not see a config.yaml file, create one.

In the module configuration, you can:

  • Define the minimum unique visitors required to produce test results.

  • Adjust the minimum sample size required.

  • Set a limit to the maximum number of remaining days.

You must also make sure your site allows CORS for the POST method.
  apiGatewayURL: your-api-gateway-url
  authorEventsExcluded: true
    minUniqueVisitors: 10
    minSampleSize: 1
    maxRemainingDays: 10
Property Description



The API gateway URL provided to you by Magnolia.


Default is true.

Excludes author instance events from the test.



The number of minimum unique visitors that must visit the site before results are produced.



The minimum overall sample size that must visit the site before results are produced.



The maximum number of days that can remain in an A/B/n testing campaign.

Enabling CORS for the POST method

You must add the POST method to the list of allowed HTTP methods in your CORS configuration (Cross-origin Resource Sharing).

User events for the test variants are submitted to the Magnolia REST endpoint using the POST method.

Typically, only the GET method is enabled by default in Magnolia.

To enable the POST method:

  1. In the Site app, go to <your-site>/cors/<your-site>/allowedMethods.

    Typically, a property named get with the value GET is configured by default. This means the site allows CORS only for the GET method.

  2. Update the get property name to all and the value to *.

    This effectively adds the POST method required by A/B/n Testing.

  3. Publish the change so that your public instance configuration is updated.

Travel site example

CORS configuration


When running an A/B/n test using the A/B/n Testing module, a copy of the original page in the website workspace is made when the first variant is created.

The original page in the website workspace is not locked. Only the copy is locked and is used as a base for any variants created.

When a page is being used in a test, the status of the test in displayed in the Pages app. Editors can continue working on the original page while the test is running. When the test completes and users must decide which variant to use, they are warned that the original has changed since the test began.

Segments are not locked nor copied. The consequences of deleting a segment that is actively being used in a test are unknown.

For more information, see the A/B/n Testing app page.

Release history

A/B/n Testing module 1.0-beta1

Released on April 9, 2021.

Beta release of the A/B/n Testing Special Feature.

See A/B/n Testing for an overview of the functionality provided.

A/B/n Testing module compatibility

A/B/n Testing module version Magnolia version



dev days event sign up
dev days event sign up