Traffic split and targeting

Who enters an experiment and which variant they get: who splits the traffic, allocation, exclusion groups, pages, and screen size.

Two separate questions decide what a visitor sees: targeting (does this visitor enter the experiment at all?) and split (which variant do they get?). Proa keeps them separate in the interface because conflating them is how experiments quietly measure the wrong population.

Who splits the traffic

  • Proa splits: Proa assigns each visitor to a variant, in the visitor's browser, and the assignment is sticky — the same visitor keeps the same variant across pages and return visits. Proa-split experiments require a control, so there is always a baseline to compare against.
  • External tool: something else already divides the traffic — an ad platform, an email tool, another testing tool — and marks the variant with a URL parameter. Proa applies whatever variant the parameter names and measures from there. Use this when the split decision genuinely lives outside Proa; the parameter is shown next to the experiment so the external tool and Proa can never drift apart silently.

The choice exists only on content tests. Template, split URL, and campaign tests are always split by Proa: in each of them the assignment and what happens next — a template swap, a navigation — have to be one decision. The mode is chosen per experiment and locks the first time the experiment goes live: switching who assigns visitors mid-flight would make the two halves of the data incomparable.

Traffic allocation

This section applies to experiments that Proa splits. When an external tool splits the traffic, the URL parameter decides the variant and the allocation lives in that tool: the values shown here are kept but change nothing on the storefront.

On a Proa split, each variant carries an allocation from 0 to 100%, with a live bar as you set them. The bar mirrors the weights: a total under 100% leaves the rest unallocated — those visitors see the original page and are not part of the experiment. Allocation is editable even while the experiment is running, with a stated consequence: new weights reach new visitors only, since visitors already assigned keep their variant, and reshaping allocation mid-run makes the read converge more slowly.

Exclusion groups

Experiments in the same exclusion group never share a visitor: whoever enters one is excluded from the others. Campaign tests use this automatically — one experiment per campaign value, all in one group — and you can group experiments yourself when two tests would otherwise touch the same pages. Concluded and archived experiments can leave the group; running ones cannot.

Where and when it runs

Beyond the split, the Targeting tab scopes who enters:

  • Pages included: the pages the experiment runs on, as paths with wildcards (/products/*), up to 10 entries. Empty means the whole site.
  • Pages excluded: pages carved out of the above (/products/gift-card), up to 10 entries. The QA checklist validates the syntax of every entry in both lists.
  • Screen size: Mobile, Tablet, Desktop — pick any combination; picking none means any screen.
  • Schedule: a start, an end, or both, in UTC, with your local time shown alongside.

Split URL tests are the exception: they are anchored to one origin page, so page lists do not apply — screen size and schedule still do.

Parts of the setup lock when editing them would corrupt the read; each locked field says so in place, rather than letting you find out later.

When two experiments claim the same pages

Publishing an experiment whose pages overlap another live experiment's pages is refused, by name: the error tells you exactly which two experiments collide, instead of letting both run and split each other's traffic invisibly. Resolve it by narrowing a page list or by putting them in an exclusion group.

Checking that the split is healthy

The experiment's report includes a Traffic split section. When Proa splits, it shows the configured allocation against the sessions actually observed per variant, with the drift stated. When an external tool splits the traffic, the section either shows only how sessions actually distributed (when no allocation was set) or marks the configured share as a plan the browser does not enforce. A split that drifts from its weights (a sample-ratio mismatch) usually means something upstream — a redirect, a bot filter, a caching layer — is biasing who reaches which variant, and it is a reason to distrust results, not to wait for more of them. The check also reports the share of page loads where the assignment could not be persisted, so stickiness itself is observable rather than assumed.