> ## Documentation Index
> Fetch the complete documentation index at: https://arkticstudio.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Price testing limitations

> Known scenarios where price testing does not work correctly and how to handle them.

Price testing works well for most standard Shopify stores. There are a few specific setups where it breaks down or requires extra configuration. Read through this before launching a price test.

***

## Multiple currencies

**Affected by:** Plus (Cart Transform) method

If your store uses **Shopify Markets** or a third-party multi-currency app (e.g. Global-E, Currency Converter Bear, Auto Currency Switcher), do not run Plus price tests.

### Why it breaks

Cart Transform applies the price adjustment in your store's **base currency**. When Shopify converts this to a foreign currency for display, the conversion happens after Cart Transform runs. This creates a mismatch:

* The `data-spt-price` attribute updates the displayed price in the base currency amount
* Shopify's currency conversion converts the *original* price from the product — not the Cart Transform price — for display in the storefront header
* The customer may see one number on the product page and a different number in the cart

In some cases, Shopify converts the Cart Transform price correctly at checkout but the storefront still shows the wrong amount. Either way, the displayed price and the charged price can diverge, which is a trust issue.

### Workaround

Use the non-Plus duplicate product method instead. The test price is set directly on the product in Shopify Admin and goes through the same multi-currency conversion as any other price. It works correctly regardless of which currency the visitor has selected.

***

## Subscription products

**Affected by:** Plus (Cart Transform) method

Shopify does not allow Cart Transform functions to modify the price of line items that have a **selling plan** (subscription) attached.

### What happens

If your product offers both a one-time purchase and a subscription option:

* Visitors who click **Add to cart** on the one-time option → Cart Transform applies the test price correctly
* Visitors who select a subscription option → Cart Transform is ignored for that line item → the original price is charged

The test price change only applies to one-time purchase add-to-carts. Subscription conversions always use the original price, which means your CVR and revenue data will be mixed — some conversions at the test price, others at the original price.

### Workaround

Do not run Plus price tests on subscription products. If you want to test pricing on a product that offers subscriptions, use the non-Plus duplicate product method. Since the price is set directly on the product, it applies to all order types including subscriptions.

***

## Page builder product pages

**Affected by:** Plus (Cart Transform) displayed price update

If your product detail page (PDP) is built with a **page builder app** — Replo, PageFly, Funnelish, GemPages, Shogun, or similar — the HTML structure it generates often does not match the standard price element selectors.

### What happens

Arktic's price script looks for elements with `data-spt-price` (product page price) and `data-spt-cart-price` (cart price). In Shopify-owned themes, these are added automatically. In page builder components, the price element is generated by the page builder's rendering engine with its own custom markup.

The result: the visitor is assigned to the test variant, but the displayed price on the product page does not change. The Cart Transform function still runs at checkout (so the customer is charged the correct price), but the displayed price is wrong — a trust and UX issue.

### Fix

Add the `data-spt-price` attribute to the price element inside your page builder component:

* **Replo** — select the price text element, open the Settings panel, and add a custom attribute `data-spt-price`
* **PageFly** — select the price element, open Advanced → Custom attributes, add `data-spt-price`
* **Funnelish** — use the custom HTML widget to wrap the price element with the attribute
* **Other builders** — refer to your page builder's documentation for adding custom HTML attributes to elements

If you are unsure how to do this, contact us and we will set it up for you at no charge.

***

## JavaScript and app-based bundles

**Affected by:** Plus (Cart Transform) method

If your store uses a **bundle app** that adds products to the cart through its own JavaScript (rather than through a standard Shopify product form), the `spt_asgn` cart attribute may not get attached to the cart during the add-to-cart action.

### Why it breaks

Arktic writes the cart attribute `spt_asgn` on every page load via `/cart/update.js`. This happens independently of the add-to-cart action, so in theory the attribute is always there. The issue arises when a bundle app performs its own `/cart/add.js` call and then immediately takes the visitor to checkout without going through a cart page — in this flow, the page load that would write the attribute may not have happened.

### Bundles that work correctly

* **Shopify's native bundle (product bundles with components)** — standard product form, works correctly
* **Bundles set up as separate products in Shopify Admin** — treated as regular products, works correctly
* **Bundle apps that add to cart via a standard product form submit** — works correctly

### Bundles that may not work

* Apps that add multiple products to the cart via direct AJAX calls and then redirect to checkout
* Subscription apps with custom checkout flows that bypass the cart entirely
* Custom "build a box" flows that use their own checkout sessions

### Fix

Test your bundle flow manually:

1. Add a product to cart via the bundle
2. Open `/cart.json` in the browser
3. Check `attributes.spt_asgn` — if it is set, Cart Transform will work correctly
4. If it is not set, contact us to discuss a custom integration

***

## Headless and custom storefronts

**Affected by:** All price testing methods

If your store uses a headless frontend (Shopify Hydrogen, a custom React or Vue storefront, or a third-party headless solution), the Arktic theme app extension script does not load — it is only injected by Liquid templates.

The embedded script (`/storefront/embed.js`) is available as a direct script tag you can add manually, but cart attribute writing and DOM price updates require custom integration.

Contact us before running any experiments on a headless storefront.

***

## Dynamic pricing apps

If you use an app that dynamically reprices products (volume discounts, customer-specific pricing, B2B pricing), the prices shown on your product page may already differ from the base Shopify product price. Running a price test on top of this can produce unpredictable results — the displayed price and the Cart Transform price may both be modified by different systems.

Test this manually before running a live experiment.

***

## Not sure if your store is affected?

Email us at **[info@arkticstudio.com](mailto:info@arkticstudio.com)** before launching a price test and we will check your specific setup. Include:

* Your store URL
* Which price testing method you plan to use
* Any apps you use for bundling, subscriptions, or currency conversion
