# Quickstart and Test Docs

## Quickstart

***

### Install AB Genius

#### Get AB Genius running on your Shopify store in under 5 minutes.

Installing AB Genius is straightforward. There's no custom code, no developer needed, and no theme files to edit.

#### Step 1: Install from the Shopify App Store

Search for "AB Genius" in the Shopify App Store and click **Install**. You'll be asked to approve the app permissions, which are standard for any Shopify app that interacts with your storefront and checkout.

Once installed, AB Genius will open inside your Shopify admin.

#### Step 2: Complete the onboarding wizard

The first time you open AB Genius, you'll be taken through a short 4-step onboarding wizard. This takes about 2 minutes and helps us personalise your experience.

{% stepper %}
{% step %}

### Profile

Upload a profile photo (optional) and enter your first and last name.
{% endstep %}

{% step %}

### Store type

Choose your ecommerce category (Fashion, Health, Electronics, Home, Sports, Food, Jewellery, Toys, Books, or Other). You can also type a custom category.
{% endstep %}

{% step %}

### Goals

Select 1–2 primary goals and rate your A/B testing experience from 1–5 stars.
{% endstep %}

{% step %}

### CRO expertise

Rate your CRO expertise level. Your timezone is detected automatically.

Click **Finish** and you're in.
{% endstep %}
{% endstepper %}

#### Step 3: Enable the AB Genius app block

This is the one step that people occasionally miss — and it's required for experiments to work.

1. Go to **Shopify Admin → Online Store → Themes → Customise**.
2. In the theme editor, look for **App Embeds** (in the left sidebar, usually under a settings icon).
3. Find **AB Genius AB Live** and toggle it **ON**.
4. Click **Save**.

This adds the AB Genius script to your storefront. Without this, experiments won't run.

#### Step 4: Verify the Web Pixel (for tracking)

AB Genius uses Shopify's Web Pixel extension to track purchases and funnel events. This should be enabled automatically on install, but it's worth confirming.

1. Go to **Shopify Admin → Settings → Customer Events**.
2. Look for **AB Genius Web Pixel** — it should be listed and enabled.

If it's not there, contact us at <info@abgenius.io> and we'll help you sort it out.

#### That's it. You're ready to create your first experiment.

AB Genius works with all Shopify plans — Basic, Shopify, Advanced, and Plus. There are no Shopify plan restrictions.

***

### Create a Test

#### How to create your first experiment in AB Genius.

Once AB Genius is installed and the app block is enabled, you can create an experiment in under 2 minutes.

#### Choose your test type

AB Genius supports three types of experiments. Each solves a different testing need.

* **Price Test** — Show different prices to different visitor groups. The test price applies on the storefront and at checkout. Use this to find your most profitable price point.
* **Content Test** — Change text, headlines, button labels, or any visible element on your storefront. Use this to test messaging, copy, and page layouts without touching your theme code.
* **Page Split Test** — Redirect visitors between two different Shopify page URLs. Use this to compare entirely different page designs against each other.

#### Creating a new test

{% stepper %}
{% step %}
Open AB Genius in your Shopify admin.
{% endstep %}

{% step %}
Go to the **Tests** page.
{% endstep %}

{% step %}
Click **Create New Test**.
{% endstep %}

{% step %}
Enter a test name and description. Choose a descriptive name — it cannot be changed after creation.
{% endstep %}

{% step %}
Select your test type (Price, Content, or Page Split). This also cannot be changed after creation.
{% endstep %}

{% step %}
Click **Create** — this opens the test wizard.
{% endstep %}
{% endstepper %}

#### The test wizard

The wizard has several tabs. Which tabs appear depends on your test type.

* **Details** — Your test name, description, and type. Set during creation.
* **Test Groups** — Define your control group (the original experience) and variant groups. Every experiment needs at least one control and one variant. You can have up to 4 groups total. Set the traffic weight (percentage) for each group — they must add up to 100%. Use the **Auto-Balance** button to split evenly.
* **Products & Prices** (Price Tests only) — Select which products to include and set test prices for each variant group. The control group always shows the original Shopify price.
* **Modifications** (Content Tests only) — Use the Visual Editor or add custom CSS/JS to change what visitors see.
* **Targeting** — Filter which visitors are eligible for the experiment (Pro plan only).
* **Metrics** — Choose your primary success metric (Conversion Rate, Revenue per Visitor, AOV, Add to Cart Rate, or Abandoned Cart Rate).

You don't need to complete all tabs at once. The experiment stays in Draft status until you explicitly start it.

***

### Edit Your Variant

#### How to set up what your variant groups see.

The variant is the modified experience you're testing against your control (the original store experience). How you edit your variant depends on your test type.

#### Editing a Price Test variant

{% stepper %}
{% step %}
Go to the **Products & Prices** tab in your test wizard.
{% endstep %}

{% step %}
Click **Add / Remove Products** to select which products are part of this experiment.
{% endstep %}

{% step %}
For each product, you'll see price inputs per test group. The Control group shows the original Shopify price (read-only). Enter your test prices for each Variant group.
{% endstep %}

{% step %}
Use **Quick Fill** to bulk-adjust prices across all variants — for example, "Increase all by 10% and round to the nearest dollar."
{% endstep %}

{% step %}
If you want to test strikethrough pricing, enter a value in the **Compare At** field for each variant.
{% endstep %}

{% step %}
Important: You must also configure your Price Selectors. Click **Configure Price Selectors** — your store opens with a purple overlay tool. Hover over the price elements on your storefront and save the CSS selectors. This is a one-time setup per store and tells AB Genius where to find and replace price text.
{% endstep %}
{% endstepper %}

#### Editing a Content Test variant

1. Go to the **Modifications** tab in your test wizard.
2. Click **Open Visual Editor** — your live store opens in a new tab with an editor overlay.
3. Click any element on the page to select it (it will glow).
4. A floating panel appears — type the new content you want this group to see.
5. Select which test group this change applies to.
6. Click **Save**. Repeat for each element you want to modify.

You can also add custom CSS or JavaScript per group directly in the Modifications tab. CSS entered for a specific group is only injected for visitors assigned to that group.

#### Editing a Page Split Test variant

1. In the creation wizard, select your **Control page** (the original URL) and your **Challenger page** (the alternative URL) using the page picker.
2. Set your traffic distribution — for example, 50/50 or 70/30.

Both pages must be published and accessible on your Shopify store.

#### Key things to remember

* The Control group always represents the original, unmodified store experience. You cannot edit the control — that's the point.
* You can have up to 4 groups per experiment (1 control + up to 3 variants).
* Test names and types are locked after creation. Get these right upfront.
* All changes are saved within the test wizard. Nothing goes live until you start the experiment.

***

### Preview In Browser

#### Check your experiment before going live.

Before launching any experiment, you should preview it to make sure everything looks right. AB Genius gives you multiple ways to do this.

#### Using Preview Links and QR Codes

Every experiment generates unique preview links and QR codes for each test group — including the control.

1. Go to your test wizard and navigate to the **Preview** tab.
2. You'll see a preview card for each group (Control, Variant A, etc.) with a QR code and a copyable Preview URL.
3. Click **Open Full Screen Preview** to see the experience in your browser, or **Copy Link** to share it with a team member or client.
4. Scan the QR code with your mobile device to preview the mobile experience.

Preview links force your browser into a specific test group, so you can see exactly what a visitor in that group would see.

#### Why you should always preview in incognito

AB Genius excludes admin sessions from experiments. If you're logged into your Shopify admin and visit your store normally, you will not be assigned to any test group.

To see the experiment as a real visitor would, always use an **incognito or private browser window** — or use the preview links.

#### What to check during preview

**For Price Tests:**

* Verify the correct test price appears on the product page.
* Add the product to cart and check the cart page — does the test price carry through?
* Proceed to checkout — is the test price applied at checkout? (This requires the Cart Transform Function to be enabled.)
* Check Compare-At / strikethrough prices if you're testing those.

**For Content Tests:**

* Verify the text or element changes appear correctly.
* Check on both desktop and mobile — some elements render differently.
* If you added custom CSS, check that styles are applied without breaking the page layout.

**For Page Split Tests:**

* Visit the control URL and confirm you're either shown the control page or redirected to the challenger page (depending on which group the preview link assigns you to).
* Check that both pages are loading correctly and tracking is active.

#### Sharing previews with your team

If you're working with a team or an agency, preview links are a fast way to get sign-off before launch. Copy the preview URL for each group and send it directly — no app access needed to view the preview.

***

### Launch Your Test

#### Start your experiment and begin collecting data.

Once you've created your test, set up your variant(s), and previewed everything — you're ready to launch.

#### Starting the experiment

1. Go to the **Tests** page in AB Genius.
2. Find your experiment (it should be in **Draft** status).
3. Click the **Play** button next to the experiment, or open the experiment and click **Start**.

The status will change to **Running**. Visitors will immediately begin being assigned to test groups, and data will start flowing into your results dashboard.

#### Scheduling for later (Pro plan)

If you want the experiment to start at a specific date and time rather than immediately:

1. Click the three-dot menu on your Draft experiment.
2. Select **Schedule**.
3. Set the date and time. The experiment will automatically start at that moment.

The status will show as **Scheduled** until the start time, then switch to **Running** automatically.

#### What happens when an experiment goes live

* Every new visitor to the relevant page is assigned to a test group based on the traffic weights you set.
* The visitor is stored anonymously via a cookie and will always see the same group on return visits.
* Events are tracked automatically — product views, add to cart, checkout, purchases.
* Results begin populating in the analytics dashboard within minutes.

#### How long should you run your test?

There's no fixed answer, but as a general guideline:

* Aim for at least **100–200 unique visitors per test group** before drawing conclusions.
* Run the experiment for at least **1–2 weeks** to account for daily and weekly traffic patterns.
* Wait for the **statistical significance indicator** in the Results tab before declaring a winner. AB Genius calculates this automatically.

Ending a test too early is one of the most common mistakes in A/B testing. Let the data accumulate.

#### Pausing and ending

* **Pause** — stops new visitor assignments but preserves all data. You can resume at any time.
* **End** — permanently closes the experiment. Results are final. You can still view the data, but the experiment cannot be restarted.
* **Declare Winner** — available in the Results tab when one group is statistically ahead. This locks in the winner and ends the experiment. This action cannot be undone.

#### After declaring a winner

AB Genius does not automatically apply the winning variation to your store. To implement the winner permanently, you need to update your Shopify store manually — for example, change the product price in Shopify admin, or update the page copy in your theme.

This is intentional. AB Genius runs experiments and gives you data. The permanent changes are yours to make when you're confident in the results.

***

## Test Types

***

### Page Split Testing

#### Overview

Page split testing (also called URL testing or redirect testing) is the simplest form of A/B testing. It lets you compare two entirely different pages against each other by sending a portion of your traffic to an alternative URL.

Instead of modifying elements on a single page, you create two separate pages and AB Genius splits the traffic between them.

#### When to use page split testing

Page split tests are ideal when:

* You've built a completely new version of a product page and want to test it against the original.
* You're testing two fundamentally different landing page designs — not just copy changes, but entirely different layouts, structures, or approaches.
* You want to test a custom landing page built with a page builder (like GemPages or Replo) against your standard Shopify product page.
* You're testing different homepage variants.

If you're making smaller changes — swapping a headline, testing a price, or adjusting a section — a Content Test or Price Test is usually a better fit. Page split tests are for when the two experiences are different enough that modifying elements on one page isn't practical.

#### How it works

1. You create a Page Split Test experiment in AB Genius.
2. You select a **Control page** (the original URL, e.g. `/products/shoe-v1`) and a **Challenger page** (the variant URL, e.g. `/products/shoe-v2`).
3. You set the traffic distribution — for example, 50/50 or 70/30.
4. When a visitor lands on the control URL, AB Genius checks their assignment. If they're assigned to the challenger group, they're silently redirected to the challenger page. If they're in the control group, they stay where they are.
5. All visits, add-to-cart events, and purchases are tracked per group.

#### Supported page types

* **Product pages** — compare two product page variants
* **Standard pages** — compare two `/pages/` URLs
* **Home page** — test an alternative homepage design
* **Proxy pages** — use a Shopify app proxy for fully custom page variants

#### What gets tracked

* Sessions by device type (Desktop, Mobile, Tablet)
* Add to Cart rate per group
* Checkout Started rate per group
* Checkout Completed (Conversion) rate per group

#### Key considerations

* Both the control page and challenger page must be live and published on your Shopify store.
* The redirect happens client-side via the AB Genius script. It's fast, but visitors may briefly see the control page URL in their browser before being redirected.
* Make sure both pages have the AB Genius app block enabled in the theme — otherwise tracking won't work on the challenger page.
* Page split tests work on all Shopify plans.

#### Guides

**Setting up your first page split test — step by step**

{% stepper %}
{% step %}
Prepare your pages

Before creating the experiment, make sure both pages exist and are published on your Shopify store. If you're testing a product page variant, create the new version as a separate product or use a page builder to create a standalone landing page.
{% endstep %}

{% step %}
Create the experiment

Go to **Dashboard → Create New Test**. You'll be taken through a 3-step wizard:

* **Step 1 — Name and type:** Give your test a descriptive name (e.g. "PDP Redesign Test — Running Shoes") and select the page type (Product Page, Shopify Page, Home Page, or Proxy Page).
* **Step 2 — Select pages:** Use the page picker to choose your Control page and Challenger page.
* **Step 3 — Traffic:** Set your traffic split (50/50 by default) and optional sample size cap.
  {% endstep %}

{% step %}
Preview both experiences

Open the control URL in an incognito window. Refresh a few times — you should eventually be redirected to the challenger page (depending on your traffic split). Verify both pages load correctly.
{% endstep %}

{% step %}
Launch

Click **Start** to begin the experiment. Visitors will immediately begin being assigned to groups.
{% endstep %}

{% step %}
Monitor results

Check the results dashboard regularly. Wait for statistical significance before making decisions — at minimum 100–200 visitors per group and 1–2 weeks of data.
{% endstep %}
{% endstepper %}

**Tips for effective page split tests**

* **Test one major change at a time.** If your challenger page has a completely different layout, different copy, different images, and different pricing — and it wins — you won't know which change drove the result. Test big structural changes, but try to isolate the variable you care about.
* **Keep the URL structure clean.** Use descriptive slugs that make it easy to identify which page is which (e.g. `/products/shoe-original` vs `/products/shoe-new-layout`).
* **Don't forget mobile.** A challenger page that looks great on desktop but is poorly optimised for mobile will produce misleading results. Check both devices before launching.

***

### Price Testing

#### Overview

Price testing is the highest-leverage experiment most Shopify brands can run. Small pricing changes can have a massive impact on revenue per visitor, average order value, and overall profitability.

AB Genius lets you show different product prices to different visitor groups and track which price point generates the most revenue. The test price is not just visual — it applies at actual checkout via Shopify's Cart Transform Function.

#### Why test pricing?

Most brands set their prices once — based on a gut feeling, a competitor comparison, or a cost-plus margin — and never revisit them. But pricing is not a set-it-and-forget-it decision. It's one of the most impactful variables in your entire funnel.

A price that's too low leaves money on the table. A price that's too high kills conversion. The right price is the one that maximises revenue per visitor — and the only way to find it is to test.

Price testing with AB Genius lets you answer questions like:

* Should this product be $39 or $44?
* Does a higher Compare-At price increase perceived value and conversion?
* What happens to revenue per visitor if I raise prices by 10% across a category?
* Is my discount too aggressive — would a smaller discount actually generate more profit?

#### How it works at a high level

1. You create a Price Test and select which products to include.
2. You set different prices for each variant group. The Control group always shows the original Shopify price.
3. When a visitor lands on your store, AB Genius assigns them to a group and displays the corresponding price.
4. The test price is applied at checkout through Shopify's Cart Transform Function — the visitor pays the A/B test price, not the original.
5. Results are tracked automatically: conversion rate, revenue per visitor, AOV, and more.

Your actual Shopify product prices are never modified. AB Genius displays alternate prices to test groups only. When the experiment ends, everything reverts to normal.

***

#### Theme Setup

**One-time configuration to enable price testing on your store.**

Before your first price test can display correctly, you need to tell AB Genius where the price elements are on your storefront. This is a one-time setup per store.

**Why this step is necessary**

Every Shopify theme displays prices differently. Some themes use one CSS class for the price, others use multiple elements for the regular price, sale price, and Compare-At price. AB Genius needs to know which elements to target so it can swap the price text accurately.

**How to configure Price Selectors**

1. Open your Price Test in the test wizard.
2. Go to the **Products & Prices** tab.
3. Click **Configure Price Selectors**.
4. Your live store opens in a new tab with a purple overlay panel.
5. Click **Pick Element** and hover over the price elements on your storefront. Matching elements will glow green.
6. Copy the auto-detected CSS selector into the appropriate field:
   * **Regular Price** — the main displayed price
   * **Sale Price** — the discounted price (if your theme shows one)
   * **Compare At Price** — the strikethrough "original" price
7. Click **Save**.

That's it. These selectors are saved for your store and apply to all future price tests. You only need to redo this if you change your Shopify theme.

**What if my theme updates?**

If you update or switch your Shopify theme, the CSS selectors may change. If prices stop displaying correctly in your experiments, re-run the Price Selector configuration with the new theme.

**Enabling the Cart Transform Function**

For test prices to apply at actual checkout (not just display), the Cart Transform Function must be active.

1. Go to **Shopify Admin → Settings → Checkout**.
2. Look for **Functions** or **Cart Transform**.
3. Ensure **AB Genius Cart Transformer** is enabled (ON).

This is usually enabled automatically on install, but it's worth verifying. Without it, the test price will display on the product page but the original Shopify price will be charged at checkout.

***

#### Creating a Price Test

**Step-by-step guide to building a price experiment.**

{% stepper %}
{% step %}
Create the experiment

Go to **Tests → Create New Test**. Enter a name (e.g. "Q1 Price Increase Test — Premium Candles"), add an optional description, and select **Price Test** as the type.
{% endstep %}

{% step %}
Set up your test groups

In the **Test Groups** tab, you'll see a Control group (the original price) and one Variant group. You can add up to 3 variant groups (4 groups total including control).

Set the traffic weight for each group. For a simple A/B test, use 50/50. For a test with three price points, try 34/33/33 or use **Auto-Balance**.
{% endstep %}

{% step %}
Add products and set prices

In the **Products & Prices** tab:

* Click **Add / Remove Products** to open the product picker.
* Search by name, or filter by Product Type, Vendor, Tag, Status, or Collection.
* Select the products you want to include in this test.

For each product, you'll see price inputs per test group:

* The **Control** column shows the original Shopify price (read-only).
* Enter your test price for each **Variant** group.
* Optionally enter a **Compare At** price for each variant to test strikethrough pricing.

Using Quick Fill: If you want to adjust all prices at once — for example, "Increase by 15% and round to the nearest dollar" — click **Quick Fill**. Choose Increase or Decrease, enter the amount, select percentage or fixed, and pick your rounding preference (nearest, up, down, or none). This applies to all non-control group variants.
{% endstep %}

{% step %}
Configure targeting (Pro plan)

In the **Targeting** tab, you can restrict which visitors see the experiment. Options include device type, visitor type (new vs returning), traffic source, and country. Leave all fields at their defaults to include all visitors.
{% endstep %}

{% step %}
Choose your primary metric

In the **Metrics** tab, select the metric AB Genius should use to determine the winner. For price tests, **Revenue per Visitor** is typically the most meaningful metric — it accounts for both conversion rate and order value.
{% endstep %}

{% step %}
Preview and launch

Preview each variant using the Preview tab to verify prices display correctly. Then start the experiment.
{% endstep %}
{% endstepper %}

***

#### Preview & QA

**How to verify your price test before going live.**

Getting the preview and QA step right is important. A price test that doesn't display correctly — or worse, charges the wrong amount at checkout — will produce bad data and potentially confuse your customers.

**Preview checklist for price tests**

{% stepper %}
{% step %}
Check the product page

Open the preview link for each variant group in an incognito window. Verify:

* The correct test price is displayed.
* The Compare-At / strikethrough price is correct (if applicable).
* The price looks right in the theme's layout — no overlapping text, no formatting issues.
* The price is correct on mobile as well as desktop.
  {% endstep %}

{% step %}
Check the cart page

Add the product to cart from the preview. On the cart page, verify:

* The test price appears in the cart line item, not the original Shopify price.
* The cart total reflects the test price.
  {% endstep %}

{% step %}
Check the checkout

Proceed to checkout (you don't need to complete a purchase). Verify:

* The test price is shown on the checkout page.
* The line item price matches what was shown on the product page and cart.

If the checkout reverts to the original Shopify price, the Cart Transform Function is not active. Go to **Shopify Admin → Settings → Checkout → Functions** and enable **AB Genius Cart Transformer**.
{% endstep %}

{% step %}
Check the anti-flicker behaviour

Load the product page with the preview link. You should not see the original price flash before the test price appears. If you see a brief flicker, check that your Price Selectors are configured correctly.
{% endstep %}

{% step %}
Test on multiple browsers and devices

Prices can render differently across browsers and screen sizes depending on your theme. Test on Chrome, Safari, and at least one mobile device.
{% endstep %}
{% endstepper %}

**Common preview issues**

**The price isn't changing:** Check that the experiment is in Draft or Running status, the app block is enabled in your theme, and you're using the preview link (not visiting the store while logged into Shopify admin).

**The price changes on the product page but not at checkout:** The Cart Transform Function isn't active. Enable it in your Shopify checkout settings.

**The price flickers briefly before changing:** Your Price Selectors may not be covering all price elements on the page. Re-run the Configure Price Selectors tool and check for any additional price display elements.

***

#### Launch Your Test

**Taking your price test live.**

Once you've completed the preview and QA checks, launching is straightforward.

1. Go to the **Tests** page.
2. Find your experiment (it should be in **Draft** status).
3. Click the **Play** button or open the experiment and click **Start**.

The experiment is now **Running**. Visitors will begin being assigned to groups immediately.

**First 24 hours**

Check your results dashboard after the first day. You should see:

* Visitor counts populating across groups.
* Product view events being tracked.
* Add to cart and checkout events (if you're getting enough traffic).

If you see zero visitors after 24 hours, run through the troubleshooting guide below.

**When to end the test**

Wait for **statistical significance** — the Results tab will show a Win Banner when one group is reliably ahead. At minimum, aim for 100–200 visitors per group and 1–2 weeks of runtime.

When you're confident, click **Declare Winner**. This ends the experiment permanently.

Remember: declaring a winner doesn't change your Shopify prices. You need to manually update your product prices in the Shopify admin to implement the winning price permanently.

***

#### Troubleshooting Guide

**Common price test issues and how to fix them.**

The price is not changing on my store

Check in this order:

1. Is the experiment status **Running**? (Draft experiments don't serve to visitors.)
2. Is the AB Genius app block (`ab-live`) enabled in your Shopify theme? Go to **Online Store → Themes → Customise → App Embeds** and verify it's ON.
3. Have you configured the **Price Selectors**? Without these, the script doesn't know which elements to target.
4. Are you viewing the store in an **incognito/private window**? Admin sessions are excluded from experiments.
5. Are you viewing the store on the correct domain? The experiment must belong to the same shop domain you're visiting.

The price shows correctly on the product page but reverts at checkout

This means the Cart Transform Function is not active.

1. Go to **Shopify Admin → Settings → Checkout**.
2. Find **Functions** or **Cart Transform**.
3. Ensure **AB Genius Cart Transformer** is enabled.

If both the app block and Cart Transformer are enabled and the price still reverts, contact support at <info@abgenius.io>.

I see zero visitors in my results

1. Confirm the experiment is **Running** (not Draft or Stopped).
2. Confirm real visitors have visited your store — not just you in the theme editor (which is excluded).
3. Check that the app block is installed in the **live theme**, not just a draft theme.
4. Open your store in a browser, open developer tools (F12), and check for JavaScript errors from the AB Genius domain.

I see zero conversions but I know orders happened

1. Verify the **Web Pixel extension** is active: **Shopify Admin → Settings → Customer Events → AB Genius Web Pixel** should be enabled.
2. Confirm the purchase was for a product **included in the experiment** — price tests only track products that are part of the test.
3. Confirm the customer who purchased was **assigned to the experiment** — if targeting is active, not all visitors are eligible.

The price flickers before changing

The anti-flicker technology hides price elements until the correct price is applied. If you're seeing a flicker:

1. Re-run the **Configure Price Selectors** tool and check that all price elements on your theme are covered.
2. Some themes have multiple price display elements (e.g. a sticky add-to-cart bar, a mobile price header). Make sure all are captured.

Another app is interfering with prices

Some cart upsell or cart modification apps clear all cart attributes, which can remove the AB Genius price data. If prices work on the product page but break at checkout, check for conflicts with other installed apps. Try temporarily disabling other cart-modifying apps to isolate the issue.

***

## Audience Targeting

***

### Devices

#### Run experiments for specific device types.

Not all visitors behave the same way across devices. Mobile shoppers browse differently than desktop shoppers — different attention spans, different scrolling patterns, different conversion rates.

AB Genius lets you target experiments to specific device types so you can test variations that are relevant to how people actually shop on each device.

#### Available device options

* **Mobile** — smartphones
* **Desktop** — laptops and desktop computers
* **Tablet** — iPad and other tablets
* **All** — all devices (default)

You can select any combination. For example, you could run a test that only targets mobile visitors, or one that targets both mobile and tablet but excludes desktop.

#### How to set device targeting

1. Open your experiment and go to the **Targeting** tab.
2. Under **Device Types**, select the devices you want to include.
3. Save your changes.

Visitors on devices that aren't selected will not be assigned to any group and will see the original store experience — completely unaffected.

#### When to use device targeting

* Testing mobile-specific changes: target mobile only so you're measuring the impact on the audience that actually sees the change.
* Testing pricing by device: run a price test targeting mobile only to see if a lower price point recovers lost mobile conversions.
* Isolating device-specific performance issues: target a content or layout test to mobile visitors to diagnose and fix the gap.

#### Important notes

* Device targeting is available on the **Pro plan** only. Free plan experiments include all devices.
* Device type is detected via the visitor's User-Agent header. This is standard and reliable across modern browsers.
* If a visitor switches devices (e.g. browses on mobile, then returns on desktop), they may be assigned differently on each device. This is normal — the cookie is stored per browser, not per person.

***

### New and Returning Visitors

#### Target experiments based on whether a visitor is new or returning.

New visitors and returning visitors are in fundamentally different mindsets. A first-time visitor is still deciding whether to trust your brand. A returning visitor already knows you and may be closer to purchasing.

AB Genius lets you run experiments specifically for one group or the other.

#### Available options

* **New visitors** — visitors who have never been to your store before (no existing AB Genius cookie)
* **Returning visitors** — visitors who have visited your store previously (existing `ab_vid` cookie detected)
* **All** — both new and returning (default)

#### How to set visitor type targeting

1. Open your experiment and go to the **Targeting** tab.
2. Under **Visitor Types**, select **New**, **Returning**, or leave as **All**.
3. Save your changes.

#### How it's detected

AB Genius identifies new vs returning visitors using the `ab_vid` cookie. This cookie is set on a visitor's first visit and persists for one year.

* If no `ab_vid` cookie exists → the visitor is classified as **New**.
* If an `ab_vid` cookie exists → the visitor is classified as **Returning**.

This means "new" and "returning" are defined relative to AB Genius, not relative to your store's customer database. A visitor who has purchased from you before but never visited while AB Genius was installed would be classified as new.

#### When to use visitor type targeting

* Testing first-impression messaging: target new visitors only.
* Testing loyalty-driven offers: target returning visitors.
* Isolating acquisition vs retention performance: run separate experiments to optimise each segment independently.

#### Important notes

* Visitor type targeting is available on the **Pro plan** only.
* If a visitor clears their cookies, they'll be reclassified as new on their next visit. This is standard behaviour for all cookie-based identification.

***

### Custom Audiences (UTMs, Referring Domains, and Geo-targeting)

#### Target experiments based on traffic source, UTM parameters, referrer, and country.

The most powerful experiments are the ones that test the right thing with the right audience. AB Genius lets you go beyond device and visitor type to target experiments based on where your traffic is coming from and where your visitors are located.

#### Traffic Source Targeting

You can target experiments to visitors arriving from specific traffic channels.

Available traffic sources:

* **Direct** — visitors who typed your URL directly or used a bookmark
* **Organic Search** — visitors from Google, Bing, or other search engines (unpaid)
* **Paid Search** — visitors from Google Ads, Bing Ads, or other paid search campaigns
* **Organic Social** — visitors from social media (unpaid posts, profiles, etc.)
* **Paid Social** — visitors from paid social campaigns (Facebook Ads, Instagram Ads, TikTok Ads, etc.)
* **Email** — visitors from email campaigns
* **Referral** — visitors from other websites linking to your store

Traffic source is detected using a combination of UTM parameters (e.g. `utm_source`, `utm_medium`), the `gclid` parameter (for Google Ads), and the referring domain.

**When to use traffic source targeting**

* Testing landing page messaging by channel: visitors from paid social ads are in a different mindset than organic search visitors.
* Testing pricing for paid traffic only: run a price test targeting paid traffic to find the price point that maximises return on ad spend.
* Testing content for email subscribers: test different messaging or offers specifically for this warmer audience.

#### Country Targeting (Geo-targeting)

You can target experiments to visitors in specific countries.

AB Genius supports selection from 193 countries via a searchable dropdown in the Targeting tab. You can select any combination of countries.

Country is detected using a combination of the visitor's browser timezone and Cloudflare's `cf-ipcountry` header (which is part of Shopify's CDN infrastructure). This provides accurate geo-detection without any additional network requests.

**When to use country targeting**

* Testing pricing by market: different markets have different price sensitivities.
* Testing localised messaging: test region-specific messaging (e.g. "free shipping to Australia") to see if it improves conversion.
* Excluding regions from experiments: restrict the experiment to specific countries and leave all other visitors on the original experience.

#### How to set up custom audience targeting

1. Open your experiment and go to the **Targeting** tab.
2. Under **Traffic Sources**, select the channels you want to include.
3. Under **Countries**, search for and select the countries you want to target.
4. Save your changes.

Visitors who don't match your targeting criteria are not assigned to any group and see the original storefront — completely unaffected.

#### Important notes

* All custom audience targeting is available on the **Pro plan** only. Free plan experiments include all visitors, all sources, and all countries.
* You can combine multiple targeting dimensions. For example, you could run an experiment that targets only **mobile visitors** from **paid social** in the **United States**. Only visitors matching all criteria will be eligible.
* The more restrictive your targeting, the longer your experiment will take to reach statistical significance. Narrow targeting means fewer eligible visitors per day.

***

## Test Management

***

### Test Compatibility

#### Running multiple experiments at the same time.

One of the most common questions we get is whether you can run multiple experiments simultaneously — and whether they'll interfere with each other.

#### Can I run multiple experiments at the same time?

Yes. On the Pro plan, you can run unlimited experiments simultaneously. On the Free plan, you're limited to one of each test type (1 price test, 1 content test, 1 page split test).

#### Do experiments interfere with each other?

Each experiment operates independently. Visitors are assigned to each experiment separately, and their assignment in one experiment has no effect on their assignment in another.

However, there are practical considerations to keep in mind.

#### Avoid testing the same element in multiple experiments

If you run two content tests that both modify the same headline on the same page, the results will be unreliable. Both experiments will try to change the same DOM element, and the second modification may overwrite the first.

**Rule of thumb:** Don't run multiple experiments that change the same element on the same page at the same time. If you want to test different headlines, run them sequentially — not in parallel.

#### Price tests on the same product

Running two price tests on the same product simultaneously will cause conflicts. The visitor will be assigned to a group in each experiment, and the second price assignment may overwrite the first.

**Rule of thumb:** One price test per product at a time. If you want to test different price strategies on the same product, run them sequentially.

#### Price tests and content tests on the same page

You can run a price test and a content test on the same page simultaneously. The price test handles the price element, and the content test handles other elements (headlines, descriptions, etc.). These operate on different parts of the DOM and don't conflict.

This is actually a common and effective setup — test your price and your messaging at the same time, as long as each experiment targets different elements.

#### Page split tests and other experiments

If you're running a page split test that redirects visitors to a different URL, any other experiments running on the original page will not apply to redirected visitors. The redirected visitors will see the challenger page as-is.

If you want to run additional experiments on the challenger page, set those up as separate experiments targeting that specific URL.

#### Best practices for running multiple experiments

* Prioritise your experiments. Not everything needs to be tested simultaneously. Run your highest-impact experiments first, collect learnings, then move on.
* Track which pages have active experiments. Keep a simple list or spreadsheet of which experiments are running on which pages. This prevents accidental overlap.
* Monitor sample sizes. If you're running many experiments at once, your traffic is being split across all of them. Each individual experiment will take longer to reach statistical significance.
* Use targeting to segment. If you have enough traffic, you can use audience targeting to run different experiments for different visitor segments on the same page — for example, a price test for US mobile visitors and a content test for UK desktop visitors. Just make sure the targeting criteria don't overlap in a way that assigns the same visitor to conflicting experiments.

***

Need help setting up your experiments? Contact us at <info@abgenius.io>
