> ## Documentation Index
> Fetch the complete documentation index at: https://docs.granvl.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Variants & testing

> Split testing, traffic weights, and the optimization loop.

## How splits work

Every page can hold multiple variants. granvl assigns each visitor a variant according to the **weights** you set (a visitor keeps their variant across the session, so metrics stay clean). Weights are editable any time, from the funnel canvas or by your agent via `set_weights`.

* **Promote a winner**: route 100% to the winning variant (or set the losers to 0).
* **Pause a loser**: weight 0 removes it from rotation without deleting its history.
* **Reset stats**: start a variant's (or page's) counters fresh after a major edit, so old traffic doesn't pollute the new test.

## Reading a test

The funnel page shows per-variant visitors, conversions, and conversion rate for the selected window (24h / 7d / 14d / 1m / All). The step canvas shows where visitors drop off between pages; quiz/form pages get question-level drop-off.

<Note>
  granvl calls a variant a *clear* winner/loser conservatively (e.g. a loser converts at under half the leader's rate with a minimum session count), so you're not reacting to noise. These thresholds power the copilot's suggestions.
</Note>

## The copilot

The home page and each funnel page surface **copilot suggestions**: promote-the-winner, pause-the-loser, and "this page has traffic but no experiment running." Each card carries the evidence (rates, session counts) and one-click actions. Dismissing a card pulls the next suggestion into view.

## Research log & learnings

Every concluded test can be recorded as a **learning**: what was tested, what won, what to avoid. The funnel's research log keeps experiments building on wins instead of re-running dead ends, and your agent reads it before proposing the next test (`get_research_history`, `save_learning`).

## Variant metadata

Tag variants with what they *are*: headline type (question / benefit / curiosity / social-proof), CTA type, angle, page style. Analytics can then break performance down by attribute across tests, not just by individual variant.
