A/B Testing
Run split tests on text elements to find what converts best.
A/B Testing lets you test different text variations on your site to discover which performs best. No code changes required — just target an element with a CSS selector and define your variants.
You can run up to 5 tests simultaneously. Each test can have up to 10 variants.
How It Works
- Create a test and target a text element using a CSS selector
- Define your control (original) and variant text options
- Set traffic distribution between variants
- Start the test and collect data
- Declare a winner when you have statistical significance
Configuration
Test Setup
| Option | Description | Example |
|---|---|---|
| Test Name | Internal name for the test | Homepage CTA Test |
| Target Selector | CSS selector for the element to test | #hero-headline |
| Status | Current test state | Draft, Running, Paused |
CSS Selector Examples
| Selector | Targets |
|---|---|
#hero-headline | Element with id hero-headline |
.cta-button | Elements with class cta-button |
[data-testid="signup"] | Element with data attribute |
h1.main-title | h1 with class main-title |
Use a unique selector that matches only one element. If multiple elements match, only the first will be tested.
Variant Configuration
Each test needs at least 2 variants: a control and one or more variations.
| Field | Description | Example |
|---|---|---|
| Name | Label for the variant | Control, Variant A |
| Content | Text that replaces the original | Start Free Trial |
| Weight | Percentage of traffic (0-100%) | 50 |
Traffic Distribution
- Weights must total 100%
- Use "Balance Weights" to distribute evenly
- Control is always the first variant
Example distribution:
| Variant | Weight | Visitors |
|---|---|---|
| Control | 50% | 500 |
| Variant A | 25% | 250 |
| Variant B | 25% | 250 |
Goal Configuration
Define what counts as a conversion.
| Goal Type | Description | Example |
|---|---|---|
| Button Click | Visitor clicks a button | #signup-btn |
| Element Click | Visitor clicks any element | .pricing-card |
| Form Submit | Visitor submits a form | #contact-form |
| Page Visit | Visitor reaches a specific page | /thank-you |
Goal Settings
| Option | Description | Example |
|---|---|---|
| Target Selector | CSS selector for click/form goals | #checkout-btn |
| Target URL | URL pattern for page visit goals | /success/* |
Page visit goals support wildcards. /checkout/* matches any checkout
subpage.
Results & Analysis
Once a test is running, you'll see:
| Metric | Description |
|---|---|
| Impressions | How many times the variant was shown |
| Conversions | How many times the goal was achieved |
| Conversion Rate | Conversions / Impressions as percentage |
| Confidence | Statistical significance of results |
Test Lifecycle
| Status | Description |
|---|---|
draft | Test is being configured, not live |
running | Test is active and collecting data |
paused | Test is temporarily stopped |
completed | Winner declared, test finished |
Wait for at least 100 conversions per variant before declaring a winner for reliable results.
Best Practices
- Test one thing at a time — Isolate variables for clear insights
- Run tests long enough — Wait for statistical significance (95%+)
- Use clear hypotheses — Know what you're testing and why
- Start with high-impact elements — Headlines, CTAs, value props
- Document your learnings — Build a knowledge base of what works
Example Tests
Headline Test
Control: "The fastest way to build"
Variant A: "Build 10x faster"
Variant B: "Ship in days, not months"Goal: Button click on #get-started
CTA Button Test
Control: "Sign Up"
Variant A: "Get Started Free"
Variant B: "Start Your Free Trial"Goal: Form submit on #signup-form
Pricing Page Test
Control: "Start Free Trial"
Variant A: "Try Free for 14 Days"
Variant B: "No Credit Card Required"Goal: Page visit to /checkout/*