VWO Developer
VWO packages testing, heatmaps, recordings and funnels into one platform, which is a real advantage, and also why VWO implementations tend to accumulate. We build and debug VWO campaigns properly: SmartCode configured for the site it is actually on, custom code that survives re-render, virtual URLs where the application does not change its own, and goals that correspond to the hypothesis.
CRO strategy, design and development across Shopify, WordPress, Convert, Optimizely, VWO and Adobe Target.
Does this sound familiar?
These are the situations teams actually describe when they get in touch about this, not a generic list of pain points.
The visual editor produced fragile selectors
VWO’s visual editor is genuinely useful, and it is also the fastest way to end up with a campaign bound to a generated class name. The campaign works on the day it is built and stops silently the next time the page is edited or a plugin updates.
SmartCode is async and the change is above the fold
VWO’s SmartCode is asynchronous by default. That is the right default for page speed, but for a campaign that changes the hero, it means a visible flash unless the synchronous option or an appropriate hiding strategy is used deliberately.
The application never changes its URL
VWO’s targeting and reporting are URL-driven. On a single-page application that keeps one URL across several logical screens, campaigns cannot target and reports cannot separate them. VWO’s answer is the virtual URL API, which has to be implemented in the application rather than configured in the dashboard.
Custom code runs before the campaign is ready
Code that assumes VWO has finished initialising, instead of using the onVWOLoaded and onVWOCampaignsLoaded callbacks, is a race condition that will eventually be lost on a slow connection.
Sitewide JS has become a dumping ground
Instrumentation for campaigns that ended two years ago is still executing on every page view for every visitor. Nobody removed it because nobody was sure what still depended on it.
What is included
Scope stated as specific outputs rather than as adjectives.
- Campaign implementation with hand-written custom JavaScript and CSS rather than editor output alone
- Stable selector strategy, including adding durable hooks to the markup where we control it
- SmartCode configuration and placement review, including the synchronous option where flicker demands it
- Virtual URL implementation for single-page applications that do not change their own URL
- Correct use of the
onVWOLoadedandonVWOCampaignsLoadedcallbacks instead of timers - Sitewide JS audit: what is still needed, what is dead, and what is safe to remove
- Segment and audience configuration, verified from real sessions
- Goal and revenue-tracking configuration, validated on every variation
- Integration of VWO data with GA4 and Google Tag Manager so results reconcile outside the tool
- Debugging of campaigns that are not triggering, not splitting, or not recording
- Full pre-launch QA and post-launch validation
How the work runs
- 1
Audit the account and the SmartCode
Where the SmartCode sits, whether it is async or sync, what sitewide JS is executing, and which campaigns and goals are live. On an inherited account this alone usually changes the plan.
- 2
Build with code, not just the editor
We use the editor where it helps and then replace fragile selectors with durable ones, so a content edit does not silently end the campaign.
- 3
Make the application legible to VWO
Where routes do not change the URL, virtual URLs are implemented so targeting and reporting can distinguish screens at all.
- 4
Validate against something other than VWO
Goals verified in VWO and reconciled against GA4, so a result is not being read from a single unverified source.
Who this is for
Mid-market ecommerce and lead-generation teams
VWO is a common choice where one platform has to cover testing and behavioural analytics, and where there is no dedicated experimentation engineer.
Agencies running client programmes in VWO
You want campaigns built with code rather than assembled in the editor, so they survive the client’s own content edits.
Teams inheriting an old VWO account
Years of campaigns, sitewide JS and goals of unknown provenance. The first job is finding out what is actually running.
VWO surface we work in
Named specifically, because “modern tooling” tells a buyer nothing.
- VWO SmartCode, asynchronous and synchronous
- Visual editor and code editor
- Custom JavaScript and CSS per variation
- Sitewide JS
- Virtual URL API for single-page applications
onVWOLoadedandonVWOCampaignsLoadedcallbacks- Segments and audience targeting
- Goals, including revenue and custom conversion goals
- Heatmaps, session recordings and funnels
- GA4 and Google Tag Manager integration
How this gets checked
Every engagement carries a QA pass. It is written down so that “QA done” means something specific.
- Campaign verified after content edit, re-render and client-side navigation
- Selector durability reviewed rather than assumed
- Flicker measured on a throttled mobile connection with SmartCode in its production position
- Segments checked from both qualifying and non-qualifying sessions
- Every goal triggered manually and confirmed on each variation
- Traffic split checked against configuration once live
- Virtual URLs confirmed reporting as distinct pages where implemented
Ways to work together
The commercial shape is chosen after we know the scope, not before.
Dedicated partnership
Reserved capacity for a steady pipeline of work.
Flexible hours
Draw down specialist time as the work arrives.
Project engagement
A defined scope, owned end to end.
All three are described in full under engagement models.
Questions people ask before buying this
VWO documentation
Platform behaviour described on this page was checked against the vendor’s own current documentation. Verify against these before relying on any of it, because vendors change APIs.
Services on this platform
Other experimentation platforms
Further reading
Hire a VWO Developer
Send us the campaign you need built or the account you have inherited. We will come back with what it needs and what we would remove.