Nobody Has Logged Into VWO In 30 Days

Metricuno
July 28, 2026
7 min read
Nobody Has Logged Into VWO In 30 Days — If your VWO seat-license report shows 30+ days of inactivity before renewal, here's how to audit dormancy, spot ghost seats, and decide whether to consolidate.
Quick answer

A 30-day login gap on your primary VWO seat is the clearest signal that your CRO stack is paying rent on insights nobody reads. Here's the pre-renewal audit that turns that signal into a decision.

Quick answer

If your seat-license report shows 30+ days since the last login for VWO's primary user, treat it as a consolidation trigger — not a fluke. Before renewal, pull the same login report from GA4 and Hotjar, confirm whether one power user is masking wider dormancy, and use the 60-day pre-renewal window to either right-size the plan or migrate the workflow into a single tool.

Definition
CRO operations

VWO 30-day dormancy as a consolidation trigger

When the VWO seat-license report shows the primary user hasn't logged in for 30+ days, the tool is paying rent on insights nobody reads.

A 30-day login gap on the seat that's supposed to be driving your experimentation program is the earliest defensible signal that a CRO tool has slipped from active to ornamental. It doesn't automatically mean cancel — a single power user might be running tests headlessly, or the team might be in a reporting-only phase — but it does mean the renewal cannot be a rubber-stamp.

The operational move is to convert that 30-day flag into a structured pre-renewal audit across every seated tool in the stack: GA4, Hotjar, VWO, Optimizely. You're looking for the pattern where paid seats, insight consumption, and test velocity have all decoupled.

Also known as
tool dormancy signal
unused SaaS trigger
CRO stack idle-seat flag

Every VWO plan sold to a mid-market store includes a usage dashboard that most admins never open. The seat-license view lists each user, their role, and the timestamp of their last login. When that timestamp on your named primary user drifts past 30 days, something in the workflow has already broken — you just haven't billed yourself for it yet.

The reason this matters more for CRO tools than for, say, your email platform: experimentation tools are consumption-heavy. If nobody's logging in, nobody's reading the reports, and no reports means no shipped tests. The cost per shipped test quietly approaches your entire annual license fee.

Why the 30-day gap happens in the first place

The most common cause on a Shopify or WooCommerce store is a team transition. The CRO specialist who onboarded VWO left, and their replacement defaulted to GA4 explorations because that's what they used at their previous role. The VWO seat stays paid, the login clock stays paused.

The second cause is a mid-year strategic pivot — a peak-season code freeze, a replatform, a rebrand — that pauses experimentation for a quarter. Testing programs rarely restart on schedule. What was meant to be a six-week freeze becomes a five-month coma, and the seat-license report is the only place that records it.

The auto-renewal trap

Most annual VWO contracts auto-renew 30 days before the anniversary date. If you notice the 30-day dormancy on day 25 before renewal, you've already missed the non-renewal window. Set a calendar alert for the 90-day mark, not the 30-day mark.

How to audit login activity before renewal

Start with a same-day pull across all three tools. In VWO, go to Account Settings → Users & Roles → export the CSV with last-login column. In Hotjar, Organization Settings → Team → the members list shows last active date. In GA4, Admin → Account Access Management shows last-seen data for each user, though it's less granular than the other two.

Cross-reference the three CSVs against your current org chart. The output you want is a single table: user, tool, role, last login, current employment status. This is the core deliverable of running a seat-license login audit across GA4, Hotjar, and VWO before renewal — a single defensible artifact you can send to finance.

Two rows in that table cause 80% of the waste: seats belonging to ex-employees or ex-agencies who were never offboarded, and seats belonging to current employees who haven't logged in for 60+ days. The first category is pure ghost seats; the second is the actual dormancy signal.

Dormancy thresholds: 30, 60, and 90 days

Benchmark

Interpreting last-login gaps across CRO tools before renewal

Days since last loginSignal strengthRecommended actionRenewal implication
0-14 daysActiveNone — tool is in useStandard renewal
15-29 daysCoolingAsk the seat holder what they're working onRenew, flag for next quarter review
30-59 daysDormantTrigger the pre-renewal auditConsider downgrading plan tier
60-89 daysIdleInterview the team; check for headless usageSerious consolidation candidate
90+ daysAbandonedAssume no active workflow depends on itDo not renew without a written business case

The 30-day threshold is the earliest defensible flag, not the point of no return. Understanding what counts as a dormant seat across the 30, 60, and 90-day thresholds is what separates a proportionate response from an over-reaction — a 32-day gap over the holidays is different from a 74-day gap during a live sale season.

The one power-user exception

Before you write the non-renewal memo, check for the single-power-user pattern: one contractor or in-house specialist is running the entire test roadmap from one seat, and everyone else's dormancy is expected. The single VWO seat is load-bearing even though the dashboard looks empty.

The tell: shipped tests in the last 60 days is greater than zero, and revenue-attributed wins are landing in the monthly report, but only one login timestamp is recent. That's not dormancy — that's a lean, healthy program. Cancelling here would be a mistake. Reading the usage dashboard's zero-tests-in-60-days number is what disambiguates the two cases.

Turning the audit into a decision

Once the CSV is done, the decision reduces to three options: renew as-is, downgrade the plan tier, or non-renew and migrate. If the audit shows genuine dormancy across seats and zero shipped tests in 60 days, non-renewal is the honest answer — and the 60-day window before auto-renew is your only clean opportunity to execute it.

Package the finding as a one-page dormancy renewal memo for your CFO: seat-count, last-login evidence, shipped-test count, license cost, and a proposed action. Finance will approve a non-renewal with evidence far faster than they'll approve a new tool purchase without one. This is the moment to decide when to consolidate a fragmented CRO stack — a decoupled, dormant tool is the clearest case for merging tracking, heatmaps, and experimentation into a single lightweight snippet.

Frequently asked

Frequently asked questions

No — 30 days is a trigger to audit, not a trigger to cancel. Use it as the earliest point at which you start the pre-renewal review. The cancellation decision needs corroborating evidence: zero shipped tests, no active reports being consumed, and no single power user quietly running the program.

Account Settings → Users & Roles. The default view shows each seat with a last-active timestamp. Export as CSV so you can sort by date and cross-reference against your org chart. The same location lets you deactivate ghost seats belonging to ex-employees.

That's why the 30-day flag is a review trigger and not an automatic cancel. If shipped-test count is healthy over the last 60-90 days and only the login timestamp has drifted, treat it as expected variance and re-check at day 60.

Hotjar is consumption-only — dormancy means nobody's watching recordings or reading heatmaps. VWO is consumption plus production — dormancy means neither reports nor tests are happening. A dormant Hotjar seat is easier to cancel because there's no in-flight test that would break on non-renewal.

A ghost seat is a paid license belonging to someone who's no longer at your company — a former employee or an ex-agency that was never offboarded. On a typical mid-market Hotjar or VWO account, ghost seats account for 15-25% of the total license spend. They're the easiest wins in the audit.

Yes, and it's often the right middle-ground when dormancy is real but one workflow still depends on the tool. Move from Growth to Starter, drop the seat count to the actual active users, and re-audit at the next renewal. Downgrading is usually available inside the 60-day window even when full non-renewal isn't.

GA4 login activity is a companion signal — if nobody's logging into VWO but also nobody's opening the GA4 explorations that would inform tests, you're not just tool-dormant, you're program-dormant. That's a bigger conversation than a single renewal.

Roughly, but Optimizely's usage dashboard exposes shipped-test count directly, which is a cleaner signal than login timestamps. Zero tests shipped in 60 days on Optimizely is a stronger dormancy indicator than 30 days without a login on VWO.

Most annual VWO contracts require 30 days written notice before the anniversary date, but some enterprise agreements require 60 or even 90. Check your MSA before you plan the audit timing — the 60-day window is a safe default, not a guaranteed one.

Running tests stop collecting data at contract end, and the container script needs to be removed from your Shopify theme or WooCommerce site to avoid a broken snippet. Plan the migration inside the 60-day window: export historical test results, decide which in-flight tests to conclude early, and stage the replacement snippet before cutover.

Get an AI expert review of your site

Paste your URL — Metricuno's AI runs the same heuristic checks a senior CRO consultant would, scoring your page and prioritising the fixes that'll move conversion fastest.