AB Split Test v2.4.3 Release: Smarter Heatmaps, Better CSS Compatibility, and Cleaner Selectors
This update focuses on three main areas: fixing CSS compatibility issues that were breaking modern theme layouts, making heatmaps more actionable with instant click counts, and improving how we generate element selectors for cleaner, more readable tests.
New Feature: Heatmap Hover Tooltips
The problem: High-traffic pages can have hundreds or thousands of clicks, making clickmaps look like a sea of dots. Manually counting clicks on a specific button or CTA? Nearly impossible.
The solution: Just hover.
When viewing your heatmaps, you can now hover over any element to see exactly how many clicks it received, along with a description of what it is.
For example:
- Hover over a CTA button → See: "42 clicks on button.cta ('Get Started')"
- Hover over a nav link → See: "128 clicks on a.menu-item ('Pricing')"
- Hover over an image → See: "15 clicks on img.hero-image"
No more squinting at crowded heatmaps. The information is right there when you need it.
Perfect for:
- Comparing click rates between different CTAs
- Analyzing navigation engagement
- Identifying which elements get ignored
- Making quick, data-driven decisions

CSS Layout Compatibility
The problem: Sites using display: flex or display: grid on the body were experiencing broken headers and misaligned layouts.
The cause: An old anti-flicker CSS rule (body.abst-show-page { display: revert !important }) was overriding modern flexbox/grid layouts.
The fix: Removed the rule entirely. It's no longer needed.
If you were affected: Update to v2.4.3, clear caches, and your layout is fixed.
Smarter CSS Selectors
Before:
body > div:nth-child(2) > section:nth-child(3) > div:nth-child(1) > h2:nth-child(2)
After:
#pricing-section h2
New Magic tests and heatmaps now generate human-readable selectors using a 10-level ancestor scan. Easier to read, easier to debug. (Existing tests unchanged.)
Other Fixes & Improvements
- Fixed CSS selectors being corrupted during heatmap storage — Descendant selectors containing
>were being HTML-encoded to>bysanitize_text_field(). Added a dedicated CSS selector sanitizer that preserves valid CSS characters while stripping dangerous content. - Fixed Gutenberg
InspectorControlsimport — Updated the AB Test Page Redirect block to import fromwp.blockEditorinstead of the deprecatedwp.editorshim.
Improvements
- WordPress 6.9+ compatibility — Updated all Gutenberg blocks to API version 3 for iframe editor support.
- Reduced duplicate AJAX requests in Gutenberg editor — Added request deduplication so multiple blocks querying experiments share a single AJAX call instead of firing separate requests.
- Improved heatmap click coordinate validation — Coordinates are now validated as numeric, clamped to 0-1 range, and rounded to 4 decimal places.
New Features
- New sample case studies — Added "Checkout Page Testimonial Test" and "Simplified Pricing Page Test" sample data for onboarding.
Other
- Improved cookie consent console message to clarify data is buffered in session.
Read Full Changelog here. | Questions? Send us a message