BACK TO BLOG

JH

By Joris van Huët

Enterprise Interim CMO & Marketing Leader · 15+ years · 50+ orgs

The short answer: a demo page with 20,000 visitors a month fits inside Convert's Growth allowance of 100,000 tested users, $299 a month billed annually (pricing page, checked on 26 October 2026), so the limit on this test is form submissions, not traffic; install the tag in the head, gate it on consent, build one variation, track the HubSpot form with a JavaScript goal, fix the statistics before launch, switch on the SRM check, QA with forced variation URLs, activate it, let an agent read the report through the MCP server in its read-only profile, and make the call yourself.

Disclosure: I may earn a commission through some links on this site. It does not change what this page says.

A demo-request page is where a B2B site turns interest into pipeline, and where opinions about the headline are loudest. A test settles the argument only if it was set up to be read fairly at the end. Everything below comes from Convert's support centre. For plans and limits, see the Convert.com glossary entry.

Before the first variation:

  • The arithmetic. For example, 20,000 visitors x 2% = 400 demo requests a month, 200 per variant in a two-way test. In Convert's default Dynamic power mode, no minimum detectable effect is projected until each variation has 5,000 visitors (statistics guide), so expect weeks, not days.
  • One hypothesis, written down. What changes, for whom, and which number should move.
  • A consent setup. Article 5(3) of the ePrivacy Directive on EUR-Lex requires consent before storing information on a visitor's device unless it is strictly necessary for the service they asked for.
  • Someone who can edit the page head and the site's global JavaScript.

1. Install the tag in the head

In your project, open Configuration, then Environments & Tracking Code, choose the environment and click Install Code Snippet. Place the code in the head, ideally right after the closing title tag, before other resources; loaded in the footer it still works, but the original page flashes before the variation appears. Use the Basic snippet unless you need page tags from your CMS or CRM (tag guide).

2. Hold it until the visitor consents

In Configuration, Global Project JavaScript, add the line that tells Convert consent is required, then push consentGiven from your consent platform when the visitor agrees:

if (!convert.getCookie("_conv_v")) _conv_q.push(["consentRequired"]);
// when your consent platform reports consent:
_conv_q.push({ what: "consentGiven" });

That is the guide's option 1, which keeps showing experiences while cookies wait; option 2, with its own setup code, blocks both until consent. Check for the _conv_v cookie exactly as written, because the wrong condition leaves gaps in reporting (consent guide).

3. Build the variation

Click New Experience, choose A/B, name it and enter the demo page URL. The Visual Editor opens on Variation 1, so edits never touch the original; hover an element, click it and change it from the left menu, and changes save automatically (create guide). Change one thing: the headline, or the form length, not both.

4. Track the HubSpot form as the goal

HubSpot forms need a JavaScript Triggered Goal. Create the goal from that template, reopen it and copy its ID. Then add a listener to the project's Global JavaScript that waits for HubSpot's onFormSubmitted message on the demo page and pushes triggerConversion with your goal ID (HubSpot forms guide). Test it while bucketed into the experience.

5. Fix the statistics before launch

Open Stats Settings. The frequentist default is a two-tailed t-test; 95% confidence is typical and 99% suits critical changes. Dynamic power mode locks its minimum detectable effect at the first projected week that can detect the lift it sees, and can complete the test when that sample is reached, even before significance; set a minimum running time, or switch to Fixed mode and enter the effect you care about (statistics guide).

6. Switch on the SRM check

In Project Configuration, then More Settings, enable SRM checks so the report tags a sample ratio mismatch. Convert runs a chi-square goodness-of-fit test that triggers at 99% confidence, and cites a natural SRM rate of 6 to 10% of experiments even at large tech firms (SRM guide). A flagged test is a broken test until you find out why.

7. QA the way a visitor will see it

Use the Chrome QA widget, which shows your assigned experiment and variant and the goals that fired. Force Variation URLs give the closest view to a real visit, but work only on active experiences, so pair them with a QA audience that matches utm_medium=qa. QA in a private window, grant consent first if a banner is running, and remember that landing on the original is common and not a fault (QA guide).

8. Activate

Set the status to active (create guide). If your account runs the Request Approval System, the activation waits until a reviewer approves it (AI in Convert).

9. Let an agent read the report

Connect Claude or another MCP client to the hosted connector at https://mcp.ai.app.convert.com/mcp and approve only this project, or run the local server with npx -y @convertcom/mcp-server@latest and TOOLS_FOR_CLIENT left at reporting, the read-only default (MCP page). Each Monday, ask for tested users per variant, the SRM status and the primary goal's result in the vocabulary of the configured stats engine. The server withholds a verdict while an SRM is unresolved and does not treat bandit traffic as evidence.

The human check: the agent writes the weekly note, a person decides. Activating or pausing needs explicit confirmation even with write access, and in the reporting profile the agent cannot change anything at all.

10. Decide and write it down

When the test completes, record the result, the sample per variant, the SRM status and what you will do next, in the same place as the hypothesis.

What Convert's guides warn about

  • A tag in the footer. The page blinks before the variation shows.
  • An early lock. A temporarily inflated lift can lock Dynamic mode's effect size generously and end the test early.
  • Forced URLs on a draft. They only work once the experience is active.
  • The wrong consent cookie. It creates reporting gaps.

Convert's free trial lasts 15 days (homepage), and the test it invites you to run outlasts it: for example, 20,000 visitors a month split two ways is 10,000 per variation a month, so the 5,000-visitor incubation alone takes half the month and the verdict lands after the first invoice. Run the A/A test inside the trial and the real one on a paid plan, knowingly.

If tests stall because nobody owns the backlog or the final call, that is a team problem rather than a tool one, and an interim CMO covers it.

FAQ

How long should a demo-page test run?

Until it reaches the sample the stats settings require and covers whole weeks. Dynamic mode projects up to 12 weeks ahead after 5,000 visitors per variation (statistics guide).

Can the MCP server start or stop my test?

Only with write access and an explicit confirmation for each activation or pause, and permanent deletion needs a second one (MCP page).

What if my A/A test declares a winner?

Check the setup and the goals first, then confirm the sample was large enough, since a few A/A tests declare a winner by chance (A/A guide).

ABOUT THE AUTHOR

I am Joris van Huët, an enterprise interim CMO. 15+ years, 50+ organizations, including ING, P&G, Nestlé, BNP Paribas, WeTransfer and Vinted. I take on innovation projects (venture building, design sprints), agentic marketing (setting up and running AI agents) and hands-on multi-channel work. See the track record.

I wrote and published this with AI assistance, and I answer for it. Claims about my own experience are limited to the track record above, and a statistic links to its source or is labelled as an example. I sell interim and fractional CMO work, which is why this site exists. How this site is written.

Interim CMO

Senior marketing leadership in the CMO seat for 3 to 12 months, with the mandate to change the function and hire the team that stays.