A/B testing
This part of the manual describes how to use A/B testing in TYPO3.
Functionality
This feature is based on page-wide A/B testing. This means that you have to add additional pages to a current existing page and configure that page A or B (the new one) should be delivered randomly.
So first of all choose a page that you want to test (this is A). Copy this page, hide it in Navigation and change only a few things on this page (this is B).
Tipp: For a meaningful test result you should consider not to change too much elements between two pages. If you want to learn if a green or a blue button is clicked more often, don't change anything else then the color of this specific button.
Configuration
If you open page settings in page A for editing properties as an editor, you will see a new tab called "Marketing". In this tab you can check A/B testing enabled for this page to enable A/B tests.
After that you will see some more fields. Add a title, a description and two page records. Page record 1 with title A and select the current page, that you are editing. Add a title to page record 2 and also select page B. Read for your first test.
Field | Description |
---|---|
A/B testing enabled for this page | A/B testing for this page is turned on in general |
Title | Name this test like "Button test" |
Description | Add a description like "Test if button in blue is better then in green" |
Start | Optional: Choose a date if this test should start in the future |
End | Optional: Set an enddate if you want that this test stop automatically at a specific date |
Conversion method | Select which visitor action leads to a conversion (Click on defined HTML element will open another field) |
Select a (or more) HTML element(s) on the page | Select one ore more HTML elements like .class or #id or [data-foo="bar"] |
Add some pages to test | You need to add 2 up to 12 pages records here |
Page/Title | Add a name for this page - like "Page A" |
Page/Page | Select a page from the pagetree |
Page/Limit | If you want to limit the number of views of this test in frontend, you can add a limit here |
Page/Incidence of this testing page | If all testing pages are set to 100, all are delivered with the same probability (as long as starttime and endtime doesn't exclude the rendering). You can reduce the probability of single pages if you don't want to deliver them that ofen |
Page/Starttime (optional) | If this page should be shown in future only, select a date |
Page/Endtime (optional) | If delivering this page should be stopped automatically at a specific date, select a date |
Results
Once you have activated A/B tests in page properties, you will see a result in pageoverview:
Backend module
In the backend module you will see all active A/B tests with a short overview about their performance. Buttons allows you to change to edit view of a page or to pageoverview module with that page.
Technical notes
Enforce a variant
You can simply add a new (or rename an existing) cookie with name LUXABTEST
and set the value to A
or B
etc.
LUXABTEST=B
Backend User Sections or Frontend Authentication
We already support also A/B Testing in "Backend User Sections" or on pages with "Frontend Authentication". If you want to use a Testing within such an area, the server itself will read the A or B target with a CURL-request. If session cookies for frontend or backend login is given, it will be passed in those requests.
Nevertheless the IP address of the user may be different to the server and this is checked from TYPO3 by default. You can disable this check if you need it:
# For calling pages of type "Backend User Sections"
$GLOBALS['TYPO3_CONF_VARS']['BE']['lockIP'] = 0;
$GLOBALS['TYPO3_CONF_VARS']['BE']['lockIPv6'] = 0;
# For calling pages of with a frontend authentication
$GLOBALS['TYPO3_CONF_VARS']['FE']['lockIP'] = 0;
$GLOBALS['TYPO3_CONF_VARS']['FE']['lockIPv6'] = 0;