A/B Test - Multivariate Experiments directly in Shopware
Description
Highlights
- Make data-driven decisions instead of relying on gut feeling – sustainably increase your conversion rate
- Run A/B and multivariate tests with any number of variations directly in your Shopware 6 store
- Intuitive management of all experiments and variations within a dedicated area of the Shopware administration
- Adjust products, categories and landing pages without coding skills – only basic knowledge is required for template (Twig) or style (CSS) adjustments
- Full flexibility for developers through Twig conditionals and PHP integration for advanced customisation
Features
- Create and manage A/B test experiments directly within the Shopware administration
- Native integration with the Shopware Rule Builder: select a variation as a condition and leverage all rule-based Shopware features for A/B testing
- Add as many variations per experiment as needed and label them individually for better structure
- Define custom traffic distribution percentages for your variations – evenly or freely configurable
- Customise products, categories, landing pages, SCSS/CSS, and Twig templates per variation through a modular element setup
- Run several experiments on a sales channel at once – for the entire storefront, individual landing pages or Rule Builder conditions
- Test any shop area flexibly using Twig if-conditions and PHP access for agencies and developers
- Easily activate or deactivate entire experiments or individual variations with a single click
- Automatic data transmission to Google Analytics (experience_impression event) for evaluating test results
About the Extension
Make data-driven decisions instead of guessing
Which headline performs better? Which layout boosts conversions? How should you present specific products or categories? Until now, these decisions were often based on intuition, but that time is over.
A/B testing for smarter business decisions
With our A/B Test plugin, you make business decisions based on real data. Create experiments with as many variations as you need and define how traffic should be distributed among them. Test products, categories, landing pages, styling (SCSS/CSS), or entire Twig templates, all configurable directly from your Shopware administration. Several experiments can run at the same time.
For agencies and developers, the plugin offers maximum flexibility:
Access the active variation at any point within templates or the PHP stack to customise behaviour. This allows you to adjust the checkout, account area, header, footer, or any other component to fully leverage the potential of A/B testing.
Evaluate your experiments
For simple order evaluation, a built-in analytics dashboard is available. For more complex evaluation, you can use Google Analytics: If your shop is connected to Google Analytics, the plugin automatically sends the experience_impression event as part of the default Google Analytics integration.
See the official documentation for details:
https://developers.google.com/analytics/devguides/collection/ga4/integration
You can also evaluate test results with other tracking or analytics tools by passing the corresponding data manually.
Boost your conversion rate through A/B testing
We’re confident that A/B testing will help improve both user experience and revenue in any Shopware store. Try it out, and feel free to reach out if you have any questions!
Questions? Get in touch
Do you have an idea for an A/B test but are unsure how to implement it?
Feel free to contact us — we’ll be happy to advise you!
We also accept requests for custom implementations and new feature development.
Email: support@swk-web.com
Phone: +49 176 8057 9091
Make data-driven decisions instead of guessing
Which headline performs better? Which layout boosts conversions? How should you present specific products or categories? Until now, these decisions were often based on intuition, but that time is over.
A/B testing for smarter business decisions
With our A/B Test plugin, you make business decisions based on real data. Create experiments with as many variations as you need and define how traffic should be distributed among them. Test products, categories, landing pages, styling (SCSS/CSS), or entire Twig templates, all configurable directly from your Shopware administration. Several experiments can run at the same time.
For agencies and developers, the plugin offers maximum flexibility:
Access the active variation at any point within templates or the PHP stack to customise behaviour. This allows you to adjust the checkout, account area, header, footer, or any other component to fully leverage the potential of A/B testing.
Evaluate your experiments
For simple order evaluation, a built-in analytics dashboard is available. For more complex evaluation, you can use Google Analytics: If your shop is connected to Google Analytics, the plugin automatically sends the experience_impression event as part of the default Google Analytics integration.
See the official documentation for details:
https://developers.google.com/analytics/devguides/collection/ga4/integration
You can also evaluate test results with other tracking or analytics tools by passing the corresponding data manually.
Boost your conversion rate through A/B testing
We’re confident that A/B testing will help improve both user experience and revenue in any Shopware store. Try it out, and feel free to reach out if you have any questions!
Questions? Get in touch
Do you have an idea for an A/B test but are unsure how to implement it?
Feel free to contact us — we’ll be happy to advise you!
We also accept requests for custom implementations and new feature development.
Email: support@swk-web.com
Phone: +49 176 8057 9091
Details
- Available: English, German
- Latest update: 4 November 2026
- Publication date: 31 May 2026
- Version: 3.0.0
- Category: Conversion Optimization
Resources
Reviews (0)
About the Extension Partner
swkweb
Partner Status
-
Shopware
Premium Extension Partner
Details
-
Ø-Rating:
5
Average rating of 5 out of 5 stars
- Partner since: 2015
- Extensions: 45
Support
- Based in: Germany
- Speaks: German, English
tl;dr
- Navigate to "Content -> Experiments" in the administration
- Create a new experiment
- Define one or more variations for the experiment and assign them percentage shares for distribution
- Create the elements (product, category, landing page, SCSS, Twig) you need for your test for each variation
- Start the experiment by assigning it to a sales channel
- Evaluate the results after some time via the built-in analytics dashboard or Google Analytics
Create experiment
- Go to Content -> Experiments in the administration
- Click on New experiment
- Give the experiment a name
- Save the experiment
Create variations
- Create a new variation in the experiment via the Create variation button
- Give the variation a name and assign it a colour
- Set the percentage share with which the variation should be distributed
- Save the variation
Customise variation elements
- Click Create element within a variation and select the desired type (Product, Category, Landing page, SCSS/CSS, Twig/HTML)
- Make the desired adjustments for the element (see below)
- Save the element
SCSS/CSS elements
- Give the element a name
- Activate the element
- Define the desired CSS styles in the editor
Twig/HTML elements
- Give the element a name
- Activate the element
- Select the file path and block name to be overwritten
- Define the desired HTML/Twig in the editor
Product elements
- Select the desired product
- Activate the element
- Select the languages for which the adjustments should apply
- Customise product name, description, custom fields and layout as needed
Category elements
- Select the desired category
- Activate the element
- Select the languages for which the adjustments should apply
- Customise category name, description, custom fields and layout as needed
Landing page elements
- Select the desired landing page
- Activate the element
- Select the languages for which the adjustments should apply
- Customise landing page name, meta title, meta description, custom fields and layout as needed
Start experiment
- Open the Overview tab of the experiment
- Under Sales channels & scope, select the sales channels the experiment should run on. This is possible once at least one variation receives a share of the visitors
- Save the experiment
Running several experiments at once
- Several experiments can run on a sales channel at the same time
- Each experiment shows its scope under Applies to, which follows from the elements of its variations:
- Entire storefront: SCSS, Twig, product and category elements. A visitor takes part in at most one of these experiments, so they cannot override each other
- Targeted landing pages: only landing page elements. Visitors are assigned to a variation when they first open one of the landing pages, which are not cached while the experiment runs. A landing page can only be part of one running experiment per sales channel
- Rule Builder conditions only: no elements. The experiment takes effect through the "A/B test variation" rule condition, for example in promotions or shipping methods
- Switch on Apply to the entire storefront when a rule changes product prices with a variation of the experiment, for example through advanced prices, or when your own Twig templates check the visitor's variation (see Tips for developers). Visitors are then assigned before the HTTP cache and see their variation's prices and templates on every page, and the experiment falls under the Entire storefront scope. As long as the experiment does not apply to the entire storefront, its form warns about such price rules
- Don't change whether a running experiment applies to the entire storefront: that changes who takes part and skews its results. The administration warns before you save such a change. To start afresh, remove the experiment from its sales channels and create a new one
Tips for developers
- In Twig templates, the global parameter swkwebAbTestContext holds the visitor's variation. Define conditions with it, e.g. {% if swkwebAbTestContext.variationTechnicalName == 'my-technical-name' %}
- swkwebAbTestContext is only set when the visitor sees a variation of an experiment for the entire storefront. Landing page and rule experiments are not part of the HTTP cache key, so templates must not depend on them
- swkwebAbTestContext is not set for the original group either, since it shares its cache entries with visitors outside every experiment. So only check for the variations in your templates and handle the original group in the else branch
- An experiment that only changes your own templates has no elements, so it does not apply to the entire storefront. Switch on Apply to the entire storefront for it, so your templates can check the visitor's variation
- In the PHP stack you can access the visitor's A/B test context through the request: $abTestContext = \Swkweb\AbTest\Core\AbTestRequest::context($request);
- $abTestContext->getAssignments() returns every experiment the visitor takes part in
Evaluate experiments
- For simple order evaluation, a built-in analytics dashboard is available
- Experiments and variations in which orders have been placed can't be deleted, so the orders stay assigned to them. Archive an experiment you no longer need instead, and set a variation's share to 0 to keep new visitors from getting it
- For more complex evaluation, you can use Google Analytics
- By default, every experiment a visitor takes part in is reported to Google Analytics once per browser tab, as an experience_impression event with the exp_variant_string parameter swkwebAbTest-- (original for the original group)
- This allows you to evaluate test results and create reports in Google Analytics
3.0.0 6.7.0.0 - 6.7.16.0
- Feature: Add landing page elements to override a landing page's name, meta title, meta description, custom fields and layout
- Feature: Run several experiments on a sales channel at once, each applying to the entire storefront, to targeted landing pages or only through Rule Builder conditions, depending on its elements or the new "Apply to the entire storefront" switch (see "Running several experiments at once" in the manual); existing experiments keep applying to the entire storefront
- Feature: Report a visitor's experiments to Google Analytics once per browser tab instead of on every page view; existing reports therefore show fewer experience_impression events from this version on
- Feature: Allow starting and stopping experiments with the "Edit" permission alone; existing roles are updated automatically
- Feature: Add keyboard shortcuts, a warning about unsaved changes and error markers to the experiment editor
- Feature: Set the shares of all variations directly in the variation overview
- Feature: Preselect a colour for new variations
- Bugfix: Stop ignoring the customised layout slots of product and category elements in Shopware 6.7.10+, and in earlier versions those of category elements in languages other than the system language
- Bugfix: Stop deleting the experiment's last variation along with the selected one
- Bugfix: Show the loading state while an element's layout and custom field sets load
- Bugfix: Stop the analytics from showing the previously opened experiment
- Bugfix: Follow the Administration's dark mode in the analytics
- Bugfix: Point out empty required fields when saving an experiment fails instead of reporting success
- Bugfix: Stop deleting saved elements when leaving them with an empty required field
- Performance: Landing pages targeted by a running landing page experiment are not stored in the HTTP cache, and while a rule experiment runs, a visitor's first uncached response is not stored either, so the cache hit rate for first-time visitors drops
- Breaking Change: The "A/B test variation" rule condition now checks all of a visitor's experiments, and "is none of" also matches visitors outside the experiment, including every customer while no experiment runs; check the promotions, prices and other rules using "is none of" before updating, as they may otherwise apply to all customers
- Breaking Change: Record an order's experiments in the swkwebAbTestAssignments association instead of the swkwebAbTestVariation custom field; existing orders are carried over, but exports, flows and integrations reading the custom field receive no data for new orders
- Breaking Change: Prevent deleting experiments and variations that orders were placed in; archive them instead
- Breaking Change: Remove window.swkwebAbTestContext and the storefront/component/analytics.html.twig extension; tracking scripts can read a visitor's experiments from the swkweb-ab-test-variation cookie instead, which is now readable via JavaScript and holds .-separated - pairs (cookies from earlier versions remain valid)
- Breaking Change: Remove the swkwebAbTestVariation Twig parameter; swkwebAbTestContext is now only set for visitors seeing a variation of an experiment for the entire storefront; custom templates still using swkwebAbTestVariation show the original to every visitor without an error, so check them before updating
- Breaking Change: Replace the sales channel's swkwebAbTestExperimentId field and swkwebAbTestExperiment association with the swkwebAbTestExperiments association; templates and integrations still using the old ones get no value without an error
- Breaking Change: Remove AbTestContext::isValid() and getRequestedVariationId(); getExperimentId(), getVariationId() and getVariationTechnicalName() now only describe the experiment for the entire storefront, while the new getAssignments() and getAssignment() cover all of the visitor's experiments
2.1.0 6.7.0.0 - 6.7.16.0
- Feature: Let experiments be archived
- Feature: Add a sidebar filter panel to the experiment listing
- Feature: Support Shopware's reworked HTTP cache (CACHE_REWORK feature flag)
- Feature: Rework validation of variation technical name and percentage
- Feature: Default analytics start date to the experiment creation date
- Feature: Add admin ACL roles
- Bugfix: Resolve the variation from the current request's sales channel
- Bugfix: Recompile the storefront after a variation's Twig overrides change
- Bugfix: Fingerprint compiled variation stylesheets
- Bugfix: Vary the 404 error page cache by variation
- Bugfix: Invalidate the HTTP cache when an experiment changes
- Bugfix: Make the activation route agree with the cache hash it emits
- Bugfix: Vary the ESI header and footer cache by variation
- Bugfix: Properly size administration buttons
- Bugfix: Pin the decoration order of the HTTP kernel
- Bugfix: Keep the reworked cache from storing a cleared variation cookie
- Bugfix: Honour fractional variation percentages
- Bugfix: Negate "hide in navigation" when overriding a category
- Bugfix: Stop category elements from activating their category
- Bugfix: Reset the Twig namespace hierarchy between requests
- Bugfix: Expose the variant technical name in the analytics response
- Bugfix: Resolve the variation with a GET sub-request
- Bugfix: Invalidate the variation cache when a variation is inserted
- Bugfix: Use the indexed order_date column for the analytics date filter
2.0.1 6.7.0.0 - 6.7.16.0
- Feature: Add time-of-day selection to analytics date filters
- Bugfix: Do not resolve variations if the request attribute is already present
- Bugfix: Clear attributes of variation resolution subrequests
- Bugfix: Make assignments to the original group experiment-scoped
- Bugfix: Link orders from the original group to their experiment and correct the target-percentage calculation
- Bugfix: Correct percentage-based distribution of variations
2.0.0 6.7.0.0 - 6.7.16.0
- Compatibility: Shopware 6.7
1.1.1 6.6.0.0 - 6.6.10.31
- Feature: Add time-of-day selection to analytics date filters
- Bugfix: Do not resolve variations if the request attribute is already present
- Bugfix: Clear attributes of variation resolution subrequests
- Bugfix: Make assignments to the original group experiment-scoped
- Bugfix: Link orders from the original group to their experiment and correct the target-percentage calculation
- Bugfix: Correct percentage-based distribution of variations
1.1.0 6.6.0.0 - 6.6.10.31
- Feature: Add possibility to open variation in the storefront
- Bugfix: Make variation color field required
- Bugfix: Properly consider variation in the route cache
1.0.0 6.6.0.0 - 6.6.10.31
- First Shopware 6 release