---
title: "How Simple Split Testing runs A/B tests on Shopify themes"
description: "Simple Split Testing is a Shopify A/B testing app. Mark up theme elements with two data attributes, bucket visitors stickily, and measure conversion with two-proportion z-tests. Free plan available."
lastUpdated: 2026-05-21
canonical: https://culsin.com/docs/simple-split-testing/overview/
source: https://culsin.com/docs/simple-split-testing/overview/
---
**Simple Split Testing** is an A/B testing app for Shopify storefronts. Mark up theme elements with two data attributes and the embed swaps in the right variant per visitor. Conversions are tracked against the goal you pick, with significance computed against the confidence level you choose.

[Install Simple Split Testing from the Shopify App Store →](https://apps.shopify.com/simple-split-testing)

> **Developer?** Skip to [Storefront markup](/docs/simple-split-testing/storefront-markup) for the data-attribute reference and [Custom events](/docs/simple-split-testing/custom-events) for the JS API.

## Who it's for

Simple Split Testing is built for Shopify merchants who:

- Want to test changes to copy, layout, CTAs, or content blocks before rolling them out
- Need sticky variant assignment so logged-in customers and orders attribute correctly
- Are on any Shopify plan (no Shopify Plus required)

## How it works

**For your customers:** On their first page view, each visitor gets a sticky assignment for every active test they're eligible for. The assignment is sticky for 90 days and stamped onto their cart, so it survives page loads and rides through the checkout for order attribution.

**For you:** Create a test in the admin, mark up your theme with `data-split-id` and `data-split-variant` attributes, open the preview link to verify, then activate. Results stream in: per-variant conversion rate, sample size, and a significance verdict.

**For developers:** The embed is markup-driven. You add data attributes to existing theme elements; the script does the rest. Custom event names defined in the admin are published from theme code via `Shopify.analytics.publish()` and forwarded by the web pixel.

## Key features

- Markup-driven variant assignment, no theme rewrite
- Sticky per-visitor bucketing within the 90-day cookie window
- Element, style, class, and attribute swaps (vary `href`, `src`, `aria-*`, `data-*`, more)
- `<template>` tag insertion for variant-specific content
- `window.splt` JavaScript API for late-loading scripts, plus an `apply_assignments` event for SPA themes
- Conversion tracking on orders, cart adds, and custom events
- Two-proportion z-test for rate metrics, Welch's t-test for AOV
- Confidence levels of 90, 95, or 99 percent with automatic Bonferroni correction for multi-variant tests
- Audience targeting by URL substring (include/exclude), country, device, and visitor type
- Signed preview links for draft and paused tests
- GDPR/CCPA-compliant analytics consent gating

## Getting started

The [installation guide](/docs/simple-split-testing/installation) walks through setup step by step.

---

> **For developers**: the data-attribute API, custom-event vocabulary, and preview-link mechanics are in [storefront markup](/docs/simple-split-testing/storefront-markup), [custom events](/docs/simple-split-testing/custom-events), and [preview links](/docs/simple-split-testing/preview-links).
