Caching plugins and CDNs:
A page cache saves one copy of a page and serves it to everyone, which would show every visitor the same version. To avoid that, pages with a running test send no-cache headers and the standard do-not-cache signal that WP Rocket, W3 Total Cache, LiteSpeed and most hosts respect.
If every visitor still sees the same version, a cache or CDN in front of the site is serving a saved copy anyway. Exclude the tested addresses in your cache plugin or in your CDN page rules. The Diagnostics tab has a "Page cache" row that reminds you of this when a page cache is switched on.
Only tested pages are affected. Your other pages stay cached as normal. Heatmaps and replays on untested pages are not affected by caching, because they run in the visitor's browser, and the address they report to is built to work from cached pages.
Page builders and themes:
The editor only needs a rendered page, so pages built with Elementor, Divi, Beaver, Bricks, Gutenberg and classic themes all work. If a builder draws a piece of text with JavaScript, so the wording is not in the page source, the text change is made in the browser instead, with the short veil where needed. In a Page test the challenger page is handed to WordPress to render, so its own template and styles load.
What is added to a page:
In the Settings screen's words: "One small script per page, one beacon on leave." The script has no dependencies and loads in the footer. It sends its data when the visitor leaves, and once a minute on long visits. Mouse movement is sampled and collected on desktop only. Archive and search pages that are not part of a test load nothing.
To limit the script to tested pages, untick "Track engagement and heat on every page, not only tested pages" in Settings. Heatmaps then build up on tested pages only.
What is added to the database:
- Heat data is stored as grouped totals, not one row per click.
- Replays are capped by number (300 by default) and by size (400 KB each by default), and short visits are skipped.
- A daily cleanup removes per-visitor detail and replays older than your retention window, 90 days by default, and keeps every test's totals.
- An hourly check looks for tests that are ready and brings in refunds from WP Conversion Tracker.
On an Element test, text is swapped as the page streams out, so the page is not held back.