Loading tutorials…
Loading tutorials…
VWO isn't hard to install — it's hard to install in a way that won't pollute every test you run for the next 12 months. This is the setup that prevents the workspace rebuild most teams do at month four.
Who this is forOwners, growth leads, or marketers standing up VWO for the first time. If you're spending $5K+/mo on paid traffic and shipping changes to landing pages without testing, every untested deploy is a coin flip with your ad budget.
What you'll need
Step 1
Sign up at vwo.com. Pick a plan based on real monthly traffic — not aspirational. Starter caps at 10K tracked users/mo; Growth at 50K; Pro at 100K+.
Go to vwo.com/free-trial. Start with the 30-day free trial — you get full feature access without committing to a tier. Sign up with a work email; consumer Gmail works but Workspace makes seat management cleaner.
Pick a plan based on your actual monthly tracked users, not what you hope to grow to. Starter = 10K MTUs/mo (~$199/mo annual). Growth = 50K MTUs (~$429/mo). Pro = 100K MTUs+ (~$899/mo). Enterprise = custom pricing above 500K MTUs.
Don't overspend on day one. Most sub-50K-visitors/mo sites are fine on Starter or Growth. You can upgrade in one click later — but you cannot easily downgrade once a workspace has thousands of historical tests and personalization rules attached.
During signup VWO asks for your primary domain. Enter the apex domain without https:// (e.g., acme.com). VWO will normalize and create the workspace.
After signup, you'll land on the in-app onboarding checklist. Don't follow it blindly — the order in this tutorial is better for getting clean data.
Step 2
VWO offers US, EU, and APAC data centers. The choice is locked at account creation. Pick based on where your users live and your compliance requirements.
During account setup, VWO asks which data center to host your workspace in: US (default), EU (GDPR-friendly), or APAC.
EU data center is mandatory if more than 30% of your traffic is European and you handle any user data through VWO segmentation or personalization. The EU DC keeps data on EU servers and simplifies your DPA paperwork.
US data center is fine for US-only operators or B2B SaaS with no EU exposure. It's the fastest for North American traffic.
APAC is for teams with primarily India/Southeast Asia/Australia traffic. Lower latency, but smaller feature parity historically — verify current capabilities under Settings → Data Center before committing.
Critical: this choice is permanent. Migrating between data centers requires opening a support ticket, exporting all data, and rebuilding the workspace — typically a 2-4 week project for active accounts. Pick correctly on day one.
Step 3
SmartCode is the single tracking snippet. Paste it as high in <head> as possible — before any conflicting scripts — for clean flicker-free test rendering.
From the left sidebar, click Settings → Install SmartCode. Copy the snippet — it looks like a small <script> block referencing dev.visualwebsiteoptimizer.com with your account ID baked in.
Paste the snippet at the very top of <head>, BEFORE any other scripts. SmartCode placement order matters — it must execute before the rest of the page renders to prevent the 'original content flash' on tests.
Shopify: Online Store → Themes → Edit code → theme.liquid → paste SmartCode immediately after the opening <head> tag. Save. Test on a non-published theme first if you have one.
WordPress: install the 'VWO' or 'Header Footer Code Manager' plugin from the official directory. Paste SmartCode in the Header section (NOT Body). Save.
Webflow: Project Settings → Custom Code → paste in Head Code. Save Changes. Re-publish the site — Webflow doesn't hot-deploy header code.
Google Tag Manager: NOT recommended for VWO. GTM-loaded SmartCode causes a 200-500ms render delay, which produces the original-content flash that VWO is specifically designed to avoid. If you must use GTM, use the synchronous tag template and trigger on All Pages — Initialization (not All Pages).
Step 4
Settings → Install SmartCode → Verify. VWO fetches your homepage and confirms. Then verify on at least 3 page templates with the VWO Chrome extension.
Open Settings → Install SmartCode → click Verify SmartCode. VWO will fetch your homepage and report green/red based on whether the snippet is detected.
If red, click the Show details link. Common causes: (a) snippet pasted in <body> instead of <head>, (b) snippet loading after a script that errors out, (c) Content-Security-Policy header blocking dev.visualwebsiteoptimizer.com.
Better verification: install the VWO Helper Chrome extension (free, official). Visit your site. The extension badge will show green and display your account ID + active tests. If you see the right account ID on every page template, the install is correct.
Even better verification: in your site's DevTools → Console, type window._vwo_code and press Enter. Response should be an object with your account ID. If it's undefined, the snippet didn't load — usually a script error before it or a CSP header blocking the domain.
Common CSP fix: add dev.visualwebsiteoptimizer.com, app.vwo.com, and visualwebsiteoptimizer.com to your script-src, connect-src, and img-src directives. VWO's docs maintain the current allow-list.
Step 5
Settings → Account Settings. Set timezone, default goals, exclude internal IPs, and configure visitor identification before your first test goes live.
Settings → Account Settings → set Account Timezone to your primary business timezone. All test results, reports, and date filters use this — getting it wrong by a few hours can shift day-1 vs day-2 attribution and confuse early reads on tests.
Settings → Account Settings → IP Exclusion. Add your office IP, your home IP, your VPN IP, and any team home IPs. Internal QA traffic poisons test data — a 5-person team browsing a test 100 times each can completely invert a real result on a low-traffic page.
Settings → Visitor Identification. Choose 'Browser Cookie' (default — anonymous, GDPR-friendly) or 'User ID' (cross-device tracking — requires you to push a stable user ID from your site). User ID is required for SaaS with logged-in users; Browser Cookie is fine for ecommerce and lead gen.
Settings → Account Settings → Default Conversion Goals. Add 2-3 site-wide goals you'll reuse on most tests: "Purchase Completed" (URL = /thank-you), "Signup Completed" (URL = /signup/success), "Lead Form Submitted" (click on .submit-btn). Reusing standard goals across tests makes comparison meaningful.
Settings → Integrations → connect GA4. VWO will push test variant data as a GA4 custom dimension so you can analyze experiments inside GA4 alongside everything else.
Step 6
Settings → Manage Users. Add at least one backup admin. VWO bills per seat above Starter on most current plans — keep the team scoped.
Settings → Manage Users → Invite User. Enter email, pick a role.
Roles: Account Admin (full control + billing), Workspace Admin (full control except billing), Member (create + edit tests + view reports), Viewer (read-only).
Start everyone as Member unless they manage billing. Reserve Account Admin for 2 people total — never one. Solo-admin lockouts where the owner left the company are the most common VWO support tickets.
Above Starter, paid plans bill per seat. Audit Settings → Manage Users quarterly and remove anyone who left or no longer needs access. Stale seats are easy money left on the table.
For agencies: use VWO Workspaces (Pro+) to manage multiple client accounts under one login. Each client gets a separate workspace with isolated data; you toggle between them from the top-right menu.
Step 7
Wait 24 hours after install. Open Insights → Tracked Users. You should see real visitors. If empty, the install is wrong. Before launching tests, take a 30-day baseline of your goal conversion rates.
VWO needs 1-24 hours to process the first tracked users depending on plan. Hits appear within 5-10 minutes; full reports populate in 1-24 hours.
Open Insights → Reports → Tracked Users for last 7 days. Cross-check against GA4: GA4 → Reports → Acquisition → Traffic → Users in last 7 days. They won't match exactly (VWO samples; GA4 counts all sessions), but they should be in the same order of magnitude. If VWO shows 10% of GA4's user count, your sampling is fine. If it shows 0.1%, the install is broken.
Before launching any test: spend 30 days collecting baseline data on your default goals. This is your 'before VWO' conversion rate, which becomes the benchmark every test variant is measured against.
Note your baseline conversion rates per goal per page. Example: 'Pricing page → Purchase Completed = 2.3% over 30 days, 12,000 sessions.' Write it down. Every test reads better when you know what 'normal' looks like.
Resist the urge to launch a test in week one. The 30-day baseline isn't optional — it's the only way to know whether the first test winning is signal or noise.
Common mistakes
Buying Growth/Pro before validating the testing volume
What goes wrong: Growth plan starts at $429/mo and scales to $899+/mo on Pro. Teams jump straight to it for the multivariate + heatmap features, then realize they don't yet have enough traffic to run more than 1-2 tests/quarter. $5,000-10,000/year on capacity that sits idle.
How to avoid: Start on the 30-day trial. Track which features you actually use. Step down to Starter if 80% of your usage is plain A/B tests. Upgrade only when a blocked workflow (e.g., multivariate on the pricing page) justifies the next tier.
Picking the wrong data center at signup
What goes wrong: EU traffic served from the US data center triggers GDPR data-transfer concerns under SCC requirements. Migrating later requires a support ticket, full data export, and workspace rebuild — typically 2-4 weeks of CRO downtime + $5,000-12,000 in lost test cycles + agency rebuild fees.
How to avoid: Audit your traffic geography before signup. >30% EU traffic = EU data center. US-only or APAC-only = match the data center to the region. Document the choice in your team wiki.
Loading SmartCode via GTM (causing test flicker)
What goes wrong: Original content flashes before the variant renders. Users in tests see both versions, contaminating conversion data and producing false negatives. Teams ship 'losing' variants that actually would have won with clean install. On a $50K/mo ad-spend account testing landing pages, this typically costs $5,000-15,000 in misread test outcomes per quarter.
How to avoid: Hardcode SmartCode directly in <head> as the first script. Use platform plugins (Shopify/WordPress/Webflow) over GTM for VWO specifically. Confirm with the Chrome extension on multiple templates.
Forgetting to exclude internal team IPs
What goes wrong: QA, dev, and marketing team members run repeated test traffic during smoke checks. On low-traffic pages, 100-500 internal sessions can swing a variant's apparent conversion rate by 5-20%. Tests get called early in the wrong direction, shipping changes that lose money. Typical cost on a $30K/mo ad-spend account: $3,000-8,000/quarter in CRO experiments aimed by contaminated data.
How to avoid: Settings → Account Settings → IP Exclusion. Add office, home, and VPN IPs. Audit quarterly as the team changes. Also exclude common bot user-agents.
Single admin account with no backup
What goes wrong: When the founder or sole admin leaves, no one can access billing, downgrade the plan, or transfer ownership. VWO support won't transfer admin without the existing admin's email confirmation — and if that mailbox is deactivated, you're locked out. Accounts in this state get cancelled at renewal and all historical test data is permanently deleted: typically $2,500-15,000 of paid subscription lost + years of CRO learnings gone.
How to avoid: Add at least one Account Admin besides yourself on day one. Document who has access in your team wiki. Rotate admin ownership when team members leave.
Launching tests with no 30-day baseline
What goes wrong: Without knowing the page's normal conversion rate, you can't tell whether a test variant winning by 1.2% is signal or random week-over-week variance. Teams ship 'wins' that were actually noise, then watch real conversion drift back to baseline 60 days later. Typical cost: 2-3 false-positive 'wins' per quarter = $4,000-12,000 in optimization work aimed at nothing.
How to avoid: Spend 30 days post-install collecting baseline data with no active tests. Document baseline conversion per page per goal. All future test reads compare against baseline + minimum-detectable-effect threshold.
Recap
Done — what's next
How to set up a VWO A/B test the right way
Read the next tutorial
Hand it off
Setting up VWO is a project. Running a steady testing program where every test reaches significance and wins compound is a job. A vetted conversion specialist on EverestX typically runs $400-1,000/mo at $14-16/hr — initial setup + first 90-day testing roadmap is usually a 1-week sprint at $500-1,200 total.
See specialist rates
VWO is the most affordable of the three at small-to-mid scale ($199-899/mo on standard plans) and includes heatmaps + recordings + form analytics in one platform. Optimizely is enterprise-priced ($30K+/year) with stronger engineering-side experimentation. AB Tasty sits in the middle with stronger personalization. For most sub-100K-MTU sites, VWO is the right tier. See the dedicated comparison tutorial below.
SmartCode adds ~10-40ms to page load when hardcoded in <head>. Loaded via GTM, the delay extends to 200-500ms and causes test flicker. The smallest synchronous script footprint is by far the best — hardcode it. Real-world Core Web Vitals impact is typically negligible if installed correctly.
Technically yes, but the tests will contaminate each other — same user in two experiments simultaneously produces unreadable data. Pick one A/B testing platform per site and stick with it. If migrating from another tool, pause all old experiments before launching VWO tests.
For frequentist statistical tests (the VWO default), you need ~1,000 conversions per variant to reliably detect 10% lift at 95% confidence. That typically means 30K-100K sessions/test depending on baseline rate. Below ~5K visitors/month, VWO's Bayesian engine (in SmartStats) handles small samples better — but you still need 200+ conversions for any reliable read.
Yes, but with care. VWO detects route changes via History API automatically. For client-rendered components that aren't URL-bound, use VWO Custom Conversions (event-triggered) and target via CSS selectors that exist post-hydration. Test in staging — SPA timing edge cases are the #1 VWO support topic.
Hotjar and Clarity are behavior analytics (recordings, heatmaps, surveys) — they tell you WHY users do things. VWO is experimentation (A/B tests, multivariate, personalization) — it tests what WORKS. Most professional CRO stacks run both: Hotjar/Clarity to find friction, VWO to test fixes. See the linked behavior-analytics tutorials.
VWO
A/B testing in VWO is 20% setup and 80% statistical discipline. Most teams skip the sample-size math, call winners early, and ship 'wins' that don't hold. This is the workflow that produces tests you can actually trust.
VWO
VWO's heatmaps sit inside the Insights module — alongside recordings and form analytics. They're the qualitative complement to A/B test data: heatmaps tell you what hypothesis to test next.
Hotjar
Hotjar isn't hard to install — it's hard to install in a way that won't burn through your monthly session quota in week one. This is the setup that prevents the rebuild most teams do at month two.
Microsoft Clarity
Clarity is free and the install is famously easy — but the choices you make in the first 45 minutes (data masking, retention, project ownership) are hard to undo later. This walkthrough gets the configuration right the first time.