=== abtestkit - AB testing for WooCommerce ===
Contributors: abtestkit
Tags: ab testing, split testing, ab testing WooCommerce, split testing WooCommerce, a/b testing WooCommerce, conversion, optimization, experiment, a b testing WooCommerce, CRO,
Requires at least: 6.3
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.7.2
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Plugin URI: https://www.abtestkit.io/
Author URI: https://www.abtestkit.io/

Increase WooCommerce Revenue with A/B Testing. Track Real Sales, Not Just Clicks.

== Description ==

= Increase WooCommerce Revenue with A/B Testing. Track Real Sales, Not Just Clicks =

Most A/B tests optimise clicks. abtestkit helps you optimise revenue.

Split test product pages, pricing, images, copy and layouts inside WordPress, then see which version drives more orders and more revenue in your WooCommerce store.


### Why abtestkit?
* **Find hidden revenue in your store** - test the changes that affect orders, revenue per visitor, and overall sales.
* **Track real sales, not just clicks** - see which variation actually makes you more money.
* **Built for WooCommerce growth** - test product pages, pricing, images, descriptions, galleries and more.
* **Move faster without guesswork** - launch tests inside WordPress and let abtestkit show the winning version.
* **Protect your live store setup** - product testing is SKU & stock safe, with Version B kept out of public listings.
* **Works with the tools you already use** - Gutenberg, Elementor, Beaver Builder, Bricks, Oxygen, Brizy, Breakdance, and more.
* **Privacy-conscious by design** - core A/B test event data remains in WordPress, while your connected abtestkit account securely handles the hosted services needed to support your tests.
* **Cache-aware testing for real-world WooCommerce sites** – abtestkit helps reduce the risk of page cache distorting active A/B tests, with clear guidance when cache exclusions may be needed.

abtestkit helps WooCommerce store owners stop leaving revenue on the table.

### Use cases
- Test whether a **product price change** increases revenue or quietly hurts sales.
- Find out which **product image or gallery** leads to more purchases.
- Compare two **product descriptions** to see which one converts better.
- Test different **call-to-action text** to increase clicks and completed orders.
- Compare **layouts, headlines and content blocks** on landing pages and product pages.
- Test **ACF templates** and custom product content without guessing.
- Let abtestkit analyse performance and **show you which version wins**.

**Every change on your site could lead to missed revenue. Test the change, find the winner, and apply it with confidence.**

### See the revenue impact of every test

abtestkit is built for WooCommerce users who care about commercial results, not vanity metrics.

Use it to answer questions like:

- Which product page version brings in more revenue?
- Does a lower price increase total sales, or just reduce margin?
- Which image, layout or copy leads to more completed purchases?
- Which variation gives you a better return from the same traffic?

If your store is getting traffic already, every untested product page could be hiding revenue upside.

abtestkit helps you find it.

== Installation ==

1. Upload the `abtestkit` folder to `/wp-content/plugins/`.
2. Activate the plugin through the Plugins menu in WordPress.
3. Create or sign in to your free abtestkit account and connect your site.
4. Open the abtestkit dashboard.
5. Click '+ Create New Test' and follow the setup wizard.
6. Run your A/B test, review the results, and apply the winner.

### Key features
✅ WooCommerce product A/B testing with revenue-focused insights  
✅ Full-page testing for landing pages, sales pages and content pages
✅ CSS, JavaScript & HTML testing on products, pages &  posts
✅ Product SKU & stock safe testing architecture
✅ Test variables on products like sizes & colors
✅ Version B shadow product kept out of shop loops, search and public listings  
✅ Automatic winner detection using Bayesian confidence  
✅ Sticky visitor assignment for consistent test experiences  
✅ ACF compatible  
✅ Builder-friendly and cache-aware, with support for real-world WordPress and WooCommerce setups
✅ Privacy-conscious tracking with local test data and secure connected account services

== Screenshots ==

1. See which version is winning with revenue, order rate, RPV, RPC and predicted monthly uplift.
2. Choose conversion goals like clicks, form submissions, add to cart or Orders (Revenue).
3. Create tests for pages, posts and WooCommerce products in a guided setup flow.

== Frequently Asked Questions ==

= What page builders are supported? =
abtestkit is designed to work with normal WordPress editing workflows and major builders including Gutenberg, Elementor, Beaver Builder, Bricks, Oxygen, Brizy, Breakdance, and more.
Full-page tests are designed for WordPress pages, posts, builder-created layouts and WooCommerce product pages. Because builders and themes can output content in different ways, heavily customised setups should be checked after launching a test to confirm impressions and conversions are being tracked as expected.

= What themes are supported? =
abtestkit is designed to work with standard WordPress and WooCommerce themes, including themes that use normal templates, product loops, product pages and checkout flows.
WordPress themes can customise product pages, AJAX carts, menus, templates and checkout behaviour in different ways. Some heavily customised setups may need additional testing or cache exclusions. abtestkit is built for real-world WooCommerce sites and is actively improved around compatibility edge cases.

= How are winners decided? =
abtestkit supports both manual and automatic testing. You can review the data yourself or let the plugin declare a winner using Bayesian confidence, then apply the winning version in one click.

= Is it compatible with Advanced Custom Fields? =
Yes, ACF works for WooCommerce product testing, pages and posts.

= Does the Version B shadow product show up in blog lists, shop/catalog pages, or site search as a duplicate? =
No. The Version B shadow product is kept out of front-end listings (latest posts loops, archives, product grids, internal search, etc.) so only one "real" page/product appears to users.

= How are visitors assigned to A vs B? =
Visitors are assigned consistently (sticky) so they keep seeing the same version during the test. Distribution is split evenly by default.

= Does abtestkit use cookies or browser storage? =
Yes. abtestkit uses a small first-party cookie to remember which version of a test a visitor has been assigned to, so they keep seeing a consistent version during the test.

The cookie name starts with `abtestkit_pt_` and stores only the assigned variant, such as `A` or `B`. By default, this lasts for 30 days unless changed by the site owner.

For click conversion tracking, abtestkit may also use sessionStorage to prevent the same click being counted repeatedly in one browsing session.

abtestkit does not store names, email addresses, or raw IP addresses in these cookies or browser storage. Site owners should include abtestkit in their cookie consent setup where applicable.

For audience reporting, abtestkit also stores the visitor's original test-exposure context in a bounded first-party cookie for the test assignment lifetime. This contains only a device viewport class (`mobile`, `tablet`, `desktop`, or `unknown`) and a two-letter country code or `unknown`. It does not contain a raw IP address, raw user-agent, city, postcode, coordinates, name, or email address.

= Is it compatible with variable products? =
Yes, abtestkit allows you to split test WooCommerce variable products. 

= How does product testing work? =
WooCommerce product tests use a Version B "shadow product" so you can test pricing, images, descriptions, galleries and other product content safely, without creating a second public-facing product in your store.

= Does Version B change SKU, stock, or orders? =
No. SKU, stock and ordering behaviour remain tied to the live WooCommerce product experience, so you can test commercial changes without creating duplicate product confusion or inventory conflicts.

= Do product versions stay consistent across the user experience? =
### Do product versions stay consistent across the user experience?

abtestkit is designed to keep each visitor’s assigned version consistent across the WooCommerce journey, including product listings, product cards, product pages, cart, checkout and order tracking.
Some themes and AJAX cart implementations customise how product data, prices and cart fragments are rendered. abtestkit continues to improve compatibility around these real-world WooCommerce behaviours so product tests remain reliable across more store setups.

= Where is data stored? =
Core impression, conversion and audience-reporting events are stored in your WordPress database (`wp_abtestkit_events` table).

When your site is connected to an abtestkit account, abtestkit.io also processes the limited site, environment, test lifecycle, service state and notification data required to operate the connected service. See the Privacy Policy for full details about the information processed, purposes and retention periods.

= Is this plugin free? =
Yes. abtestkit has a free version that includes its core WordPress and WooCommerce A/B testing functionality. A free abtestkit account is required to connect and use the plugin.

= Does abtestkit require an account? =
Yes. A free abtestkit account is required to connect your WordPress site and use the plugin.

The account connection allows abtestkit to securely identify your installation and provide connected services such as account management, service state and hosted notifications.

== External services ==

abtestkit requires a connection to the abtestkit.io service to register and operate a connected installation.

The connected service is used for account management, installation registration, service operation, hosted notifications and related connected functionality.

Raw visitor IP addresses are not required for abtestkit's connected service. Detailed information about the data processed, purposes, retention periods and user rights is available in the Privacy Policy.

The service is operated by abtestkit and is governed by:

[Privacy Policy](https://www.abtestkit.io/privacy-policy/)
[Terms and Conditions](https://www.abtestkit.io/terms-and-conditions/)
[Data Processing Agreement](https://www.abtestkit.io/legal-data-processing-agreement/)

== Changelog ==

= 1.7.2 =
* Prevent delayed connected-service responses from removing a newer valid site connection
* Improve setup editing for draft and paused tests, including changing the test type during setup
* Improve dashboard test actions and deletion confirmation

= 1.7.1 =
* Bug fixes
* Preserve ad tracking and campaign parameters when redirecting visitors to Version B

= 1.7.0 =
* Added abtestkit accounts and secure site connection.
* Added the connected service architecture for account and hosted functionality.
* Added secure site registration and authentication.
* Added hosted test state and snapshot syncing.
* Moved email notifications onto the connected abtestkit service.
* Improved service reliability, connection handling and data lifecycle controls.
* Updated privacy, account and external service handling.
* Bug fixes and performance improvements.

== Upgrade Notice ==

= 1.7.2 =
Protect site connections from delayed service responses and improve test setup editing.

= 1.7.1 =
Preserve ad tracking and campaign parameters when redirecting visitors to Version B, bug fixes and UX improvements.

= 1.7.0 =
Introduces abtestkit accounts and the new connected service. After updating, connect your site to a free abtestkit account to continue using abtestkit and access hosted services including notifications.