Getting Started

To use Cazy AB, install it from the Shopify App Store and open it inside your Shopify admin. The first thing you'll see is the onboarding checklist โ€” follow it to connect your store in under five minutes.

After installing, navigate to Online Store โ†’ Themes โ†’ Customize, open the App Embeds panel, and enable the Cazy AB Testing embed. This activates the storefront script that runs your experiments. Save your theme and you're live.

You can confirm the script is running by visiting your storefront, opening your browser console, and checking for a log line that starts with [Cazy AB].

๐Ÿ’ก Tip

Enable the app embed on a development theme first to verify everything is working before activating on your live theme.

Creating Your First Experiment

From the Cazy AB dashboard, click Create Experiment. Choose an experiment type โ€” start with Content if you want to test page copy, or Shipping if you want to test free-shipping thresholds.

Give your experiment a name and description, then write a testable hypothesis describing the change you expect and the outcome you're measuring โ€” for example, "Adding urgency copy to the product page will increase add-to-cart rate."

Define your variants. The first variant is always the Control (your current experience). Add a second variant with the change you want to test. Set the traffic split โ€” 50/50 is the most common starting point.

Set your primary goal (Conversion Rate or Revenue per Visitor), then click Create Experiment. Your experiment will be saved as a draft. Open it and click Start when you're ready to go live.

๐Ÿ’ก Tip

Run one experiment at a time to start. Overlapping experiments can affect each other's results if they target the same pages.

Understanding Results

The results panel shows your key metrics per variant: Conversion Rate (the percentage of visitors who completed your goal), Revenue per Visitor (total revenue divided by unique visitors), and Uplift (the percentage improvement over the control).

The p-value measures statistical confidence. When the p-value drops below 0.05, your result is statistically significant โ€” meaning you can be 95% confident the difference between variants is real and not random noise. Cazy AB highlights significant results automatically.

The SRM check (Sample Ratio Mismatch) warns you if visitors are not being split in the expected ratio. An SRM usually means something in your setup is redirecting or filtering visitors before they can be bucketed. Fix the issue and restart the experiment.

๐Ÿ’ก Tip

Wait until each variant has at least 100 visitors before reading results. Early data is noisy and can point you in the wrong direction.

Custom Events & Conversions

On non-Shopify sites (installed with the universal snippet), Cazy AB exposes a global window.cazy.track() function you call whenever a conversion happens โ€” a signup, a lead, a form submit, a purchase. The event is automatically attributed to the visitor's active experiment and variant, so you don't send anything to a URL yourself.

// A simple conversion
window.cazy.track('signup_completed');

// A conversion with a money value (used for revenue tests)
window.cazy.track('lead_submitted', { value: 49 });

Then create a goal of type Custom Event in Cazy AB and set its Event name to the exact string you passed โ€” e.g. signup_completed. A numeric value is recorded as revenue, so you can A/B test on order or lead value, not just counts.

Already using Google Analytics / GTM?

If your site has a Google Tag Manager dataLayer, Cazy AB automatically forwards events you push to it โ€” no extra code. It reads the event property of each pushed object:

// Captured automatically by Cazy AB:
window.dataLayer.push({ event: 'purchase', value: 99, currency: 'USD' });
window.dataLayer.push({ event: 'newsletter_signup' });
โš ๏ธ gtag note

Raw gtag('event', 'purchase', โ€ฆ) calls are not picked up โ€” gtag writes a different shape to the dataLayer that has no event property. For those, mirror the event with window.cazy.track('purchase', { value: 99 }) or push a { event: 'purchase' } object to the dataLayer alongside it.

๐Ÿ’ก Tip

window.cazy.track exists only on snippet (non-Shopify) installs. On Shopify, purchases and conversions are tracked automatically from your orders โ€” you don't need to call it.

Billing & Plans

Cazy AB charges a flat monthly fee through Shopify's billing system. You'll never be charged outside of Shopify.

The Free plan gives you 1 experiment and 1,000 tracked visitors per month โ€” enough to test one idea at a time. The Starter plan ($19/month) unlocks 5 experiments and 10,000 visitors. The Growth plan ($99/month) removes experiment limits and supports 100,000 visitors. The Enterprise plan ($299/month) has no limits and includes dedicated support.

To upgrade, go to Settings โ†’ Billing inside the app. You'll be redirected to Shopify's payment confirmation screen. Downgrades take effect immediately โ€” any experiments over your new plan's limit will be paused automatically.

๐Ÿ’ก Tip

Visitor counts are tracked monthly and reset on the 1st of each month. Archived experiments do not count against your experiment limit.