Page tree
Skip to end of metadata
Go to start of metadata

The Google Analytics Experiments module is used for integration between the Google Analytics Experiments Framework and Magnolia. Magnolia's personalization makes it possible to set-up multiple versions of the page (variants) which can be used to run an experiment, such as an A/B test. Experimental data is sent to Google Analytics to track the progress of the experiment and provide feedback on results.


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



5.6Magnolia 5.7
5.6Magnolia 5.6


The Google Analytics experiments framework allows you to track any change to your website. The performance of this change will be measured to see if it meets a certain goal. Setting up and managing experiments is handled through the Experiments app.


In order to use this module and run experiments you will need to have the following:


Configure your account information at the module level. This is for the communication with Google Analytics through the API. There is a default account node which can be used as a copy base here: /modules/ga-experiments/config/accounts/default

The configuration properties for the accounts are provided by the class GoogleAnalyticsAccountConfig



The ID of the Google Analytics account. Found on the Admin screen under Account Settings.



The name of your services account. See Enabling the Analytics API.



The view ID used in your Google Analytics account. Found on the Admin screen under View Settings.



The email of the service account authorized to get the Google Analytics data.



Private key generated from the service account credentials. The file has to be generated in JSON format. Stored as a resource.



Tracking ID of the Google Analytics account. Found on the Admin screen under Tracking Info.



The fully qualified URI of the site. This property will be used to create the variations URLs in the experiment.

Content Experiments

Typically experiments are initiated from the Pages app. After creation they can be managed through the GA Experiments app.

Creating Experiments

Creating a new experiment starts with selecting a page to run an experiment on.

  1. From the Pages app select a page.

  2. Create the page variants. As many as are needed for the experiment.
  3. In the actionbar, click Run Experiment.

    It's also possible to create experiments from the GA Experiments app.

  4. Define the experiment parameters.

    1. Account: Google Analytics account to use. Configured under the accounts node of the ga-experiments module.

    2. Test Name: Name of the test to identify it.

    3. Page: The selected page for the experiment.

    4. Variations: Add as many variations as are needed for the experiment.

    5. Goals: Select the goal defined in the Google Analytics account.

    6. Duration: How long the experiment will run. 3-90 days.

Marketing Tags

Upon creating an experiment, a marketing tag is also created to correspond to that experiment. The tag has to be published along with the experiment.

If you are using multiple google analytics accounts, you will need to have multiple google analytics tags inserted for each different experiment.

Starting and Stopping

Once you have created an experiment you can start and stop that experiment using the Start and Stop actions. The status of the experiment will be updated.


You can delete a test (no matter its status) in the Experiments app. Select the experiment you want to delete and click on the action Delete Experiment. This action will remove the tag associated in the Marketing Tags app. This won't unpublish the tag if it was previously published to a public instance. You need to unpublish it manually before deleting the experiment on the author.


  • This module is at INCUBATOR level.
  • This module is not meant for collecting large numbers of experiments over time. Experiments should be removed or archived when completed.
  • The Experiments app provides a column for experiment status. If you have a lot of experiments this could cause a slow down in app performance.
  • This module will not work will Magnolia UI 5.6.5 (bundle release 5.6.6). See  GAEXP-1 - Getting issue details... STATUS .


  • Version 5.6.1-SNAPSHOT
    • GAEXP-4 - Getting issue details... STATUS
    • GAEXP-3 - Getting issue details... STATUS
    • GAEXP-2 - Getting issue details... STATUS
  • Version 5.6 - Initial release of the extensions version of the module.
    • Ported from initial version with new groupId/artifactId.
    • Vaadin 8 compatible.


  1. Which Magnolia versions is this module working with? Does it work with anything more recent than 5.6.5?

    1. It's been a while but I personally migrated this module to 5.6. As far as I can remember it's 5.6+. The problem now is that google is changing to a new format so I do not know for how much longer this will be relevant. See