Made by Rune Andersen @ Copenhagen, Denmark
VWO logo

Debug VWO in Chrome DevTools

To debug VWO in Chrome DevTools, install the free Event Watcher extension and open its panel: every VWO request is captured the moment it fires, broken out into its parsed query and body parameters, plus the cookies it set and sent, and cross-referenced against the visitor's consent state. Event Watcher has listed VWO under A/B Testing since v1.0.0, and flags any VWO event that fires without functional consent.

A/B testing and conversion optimization platform with heatmaps and session recordings.

Last updated:

Category
A/B Testing
Detected via
Network requests: Event Watcher matches the request URLs this platform sends
Consent category
Functional / preferences consent: Event Watcher flags VWO activity that fires without it
Supported since
Event Watcher v1.0.0 (2026-02-20)
Vendor
vwo.com
Show the URL patterns Event Watcher matches
  • dev.visualwebsiteoptimizer.com
  • d5phz18u4wuww.cloudfront.net

What VWO traffic looks like

VWO's SmartCode fetches settings, buckets the visitor, then beacons back, with the assignment state persisted client-side in cookies.

Endpoint pattern
Settings and library from dev.visualwebsiteoptimizer.com (typically a js_visitor_settings.php or settings request keyed by account ID), with library assets also served from the d5phz18u4wuww.cloudfront.net CDN; tracking beacons go back to dev.visualwebsiteoptimizer.com; a slow settings response here is what users experience as the anti-flicker blank flash
Transport
Classic pixel-style requests on older SmartCode; newer versions send batched event calls with vwo_-prefixed event names for variation shown and goal conversions
Key parameters
a account ID · exp experiment ID · c combination/variation ID
Cookies
_vwo_uuid visitor identity · per-experiment _vis_opt_exp_<id>_combi records the locked-in variation: the beacon tells you what fired now, the cookie tells you what was assigned earlier

Debugging VWO with Event Watcher

  • Detects VWO from its request URLs and names and categorizes every call in the live stream.
  • No dedicated VWO parser: parsed query and body parameters make account, experiment, and combination IDs readable directly, rather than decoded sections.
  • The per-event cookies panel surfaces the _vis_opt_* assignment cookies.
  • The consent check runs on every request.

VWO and consent

Functional consent

The extension checks VWO against functional consent. VWO's beacons carry a persistent visitor UUID, so firing before the CMP grant means an identifier left the browser pre-consent. Those events are marked pre-consent and added to the violations counter.

Implementations that load SmartCode unconditionally (for anti-flicker reasons) but claim to suppress tracking are worth verifying: the settings request may be fine, but watch whether tracking beacons hold off until consent.

Common debugging scenarios

  • Visitor not entering the test. Check for the settings request, then look for a beacon carrying the expected experiment ID. The _vis_opt_exp_<id>_combi cookie in the cookies section shows the stored assignment.
  • Goal conversions missing. Filter to VWO in the stream and confirm a conversion beacon fires on the goal page or click; compare its experiment/goal parameters against the campaign setup.
  • Anti-flicker blank flash. SmartCode hides the page (typically body, or configured elements) until settings arrive or a tolerance timeout expires. Script Tree shows whether a tag manager injected SmartCode, which delays settings and stretches the hide window.
  • Pre-consent bucketing. Use the consent badges to see whether assignment beacons fire before the CMP grant.
  • Multiple testing tools colliding. Pivot Grouped view by Tool to see VWO next to AB Tasty or Optimizely when two tools fight over the same pages.

See VWO traffic on your own site

Free, no account, runs entirely inside Chrome DevTools.

Add to ChromeFree on the Chrome Web Store

Related guides

More a/b testing platforms