Skip to main content
Arktic supports five experiment types. Choosing the right one depends on what you want to test and what your store supports.
TypeBest forShopify plan
ThemeFull design or layout changesAny
URL RedirectComparing two different pages or flowsAny
Price (auto-setup)Price testing without Shopify PlusAny
PricePrice testing with real server-side price changesShopify Plus only
Section contentHeadline, banner, CTA, or copy changesAny
TemplateFull page layout changes on a single templateAny

Theme test

Tests two complete Shopify themes against each other. Best for large-scale design overhauls, navigation changes, or any change that spans multiple sections across the entire site.

How it works

When a variant visitor loads any page, the JS appends ?preview_theme_id=<id> to the URL and performs a window.location.replace() redirect. Shopify loads the unpublished duplicate theme in preview mode. The preview bar (the orange bar Shopify normally shows in preview mode) is hidden automatically via CSS. The redirect only fires if ?preview_theme_id is not already in the URL, so subsequent page navigations within the same session work normally.

Setup

  1. In Online Store → Themes, click the menu on your live theme and select Duplicate
  2. Make your design changes to the duplicate theme
  3. In Arktic, create a new Theme experiment
  4. In the Variant B configuration, select the duplicate theme from the dropdown
  5. Start the experiment
Only one theme test can run at a time. Two simultaneous theme tests will conflict because both will try to append ?preview_theme_id to the URL. If you need to test multiple changes at once, make all changes in the same duplicate theme.

Limitations

  • The theme preview URL is visible to visitors in the browser address bar. This does not affect the test but is worth knowing.
  • Theme tests apply to all pages simultaneously. You cannot scope a theme test to a single page type.
  • Shopify Plus stores with custom storefronts (Hydrogen) are not supported by this method.

URL Redirect test

Routes a portion of visitors from one URL to another. Best for testing a new landing page against the current one, comparing two product page designs at different URLs, or testing an alternate checkout flow.

How it works

You configure a source URL (where the redirect fires from) and a destination URL (where variant visitors are sent). When a variant visitor lands on the source URL, the JS fires window.location.replace(destinationUrl) before the page is shown. This replaces the history entry so the back button works correctly. The redirect only fires when the visitor is on the exact source URL. Visiting any other page on the store does not trigger a redirect, even if the visitor is assigned to the experiment.

Event scoping

Events are scoped to the relevant URLs:
  • Control sessions and events are only counted when the visitor is on the source URL
  • Variant sessions and events are only counted when the visitor is on the destination URL
This prevents inflating results with unrelated page views.

Setup

  1. Build your alternate page (or identify the destination URL you want to test)
  2. Create a URL Redirect experiment in Arktic
  3. Enter the source URL (e.g. /pages/landing-page) — this is where the redirect fires from
  4. In Variant B configuration, enter the destination URL (e.g. /pages/landing-page-v2)
  5. Set your traffic split and start the experiment

Use cases

  • Testing a redesigned collection page at a new URL
  • Comparing a long-form vs short-form product description on separate pages
  • Sending paid ad traffic to an alternate landing page

Price test (auto-setup, all plans)

Tests a different price for a product on any Shopify plan. Arktic duplicates the product automatically, sets the test price on the duplicate, and runs a URL Redirect experiment between the two product pages.

How it works

When you create a Price (auto-setup) experiment:
  1. Arktic calls the Shopify Admin API to duplicate your product
  2. The price adjustment is applied to all variants on the duplicate
  3. The duplicate is set to Active so it is reachable via URL
  4. A URL Redirect experiment is created: control visitors see the original product, variant visitors are redirected to the duplicate
  5. When you complete or archive the experiment, the duplicate product is automatically deleted

Setup

  1. Create a Price test (auto-setup) experiment
  2. Select the product you want to test
  3. Enter the price adjustment: either a percentage (e.g. -10%) or a fixed amount (e.g. -5.00)
  4. Set your traffic split and start the experiment
The duplicate product is named [SPT] Your Product Name and is not added to any collections. It is only reachable via direct URL. Visitors assigned to the variant are redirected to it automatically.

Limitations

See Price testing limitations for a full list. Key ones for this method:
  • Different product URLs for control and variant — visitors who land directly on the original product URL will always be on the original price, regardless of variant
  • Does not work for ads that link directly to the product URL (the redirect only fires from the original URL)
  • Not suitable if your product is listed in Google Shopping (price discrepancy between product pages)
For full details on this approach vs Shopify Plus price testing, see Price testing: non-Plus stores.

Price test (Shopify Plus only)

Tests a different price at checkout using Shopify’s Cart Transform API. The price change is server-side — the customer pays the test price for real. Available on Shopify Plus only.

How it works

  1. The JS detects which product page the visitor is on and updates price elements in the DOM to show the test price
  2. When the visitor adds to cart, a hidden cart attribute (spt_asgn) is written to their cart recording their variant assignment
  3. When the visitor checks out, Arktic’s Cart Transform function reads the cart attribute and applies a price adjustment at the cart level
  4. The customer sees the test price in their cart and pays it at checkout
This is a true price test — the customer actually pays the test price, not just sees it.

Setup

See the full Price testing: Shopify Plus guide for setup instructions, theme requirements, and troubleshooting.

Section content test

Injects different HTML content into a specific section of a page. Best for testing headlines, hero copy, banners, call-to-action buttons, trust badges, or any self-contained piece of content.

How it works

You place the Variant Content app block in your Theme Editor at the location where you want the test content to appear. The block is invisible by default. On page load, the JS reads the visitor’s variant assignment and injects the corresponding HTML into the block container before the page is revealed to the visitor. There is no visible flash of content.

Setup

  1. In Experiments, create a new Section content experiment and note the Experiment ID from the Overview tab
  2. In Online Store → Themes → Customize, navigate to the section or page you want to test
  3. Add the Variant Content app block (found under Apps)
  4. Set the block’s Experiment ID field to your experiment’s ID
  5. In the experiment’s Variant B configuration, paste the HTML you want to show
  6. Start the experiment
See Variant Content block for detailed setup instructions.

What you can inject

Any valid HTML: headings, paragraphs, images, buttons, embedded videos, product cards, countdown timers. Inline <style> tags and <script> tags are also supported — the script runs after injection.
Injected scripts run after DOMContentLoaded. If your injected HTML relies on third-party scripts that are not already loaded on the page, they will not be available.

Template test

Tests two different Shopify page templates (JSON templates) against each other. Best for testing full page layout changes on product pages, collection pages, or the homepage — where you want to rearrange sections, add/remove blocks, or test a completely different layout structure.

How it works

Shopify supports alternate templates via the ?view= URL parameter. When ?view=my-test is appended to a product URL, Shopify renders templates/product.my-test.json instead of templates/product.json. The full Liquid template renders normally — sections, metafields, and all theme settings work exactly as in the Theme Editor. When a variant visitor lands on a matching page type (e.g. any product page for a product template test), the JS appends ?view=<suffix> to the URL and reloads the page with the alternate template.

Setup

See Template tests for step-by-step instructions including how to duplicate a template in the Theme Editor.

Differences from Theme tests

Theme testTemplate test
ScopeEntire storeSpecific page type only
What changesEverything in the themeSections and layout for that template
Shopify mechanism?preview_theme_id?view=suffix
Multiple at onceOne at a timeMultiple (different page types)
Requires code accessNoYes (to duplicate template file)