> For the complete documentation index, see [llms.txt](https://docs.intelligems.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.intelligems.io/pricing-experiences/price-testing-faqs.md).

# Price Experiences FAQs

Common Questions about Price Testing

## Pricing Experiences FAQs

### **General**

<details>

<summary>Can I run a Pricing experience as a Test or as a Personalization?</summary>

Either. You build the change once, by choosing your products and setting your prices, and then you choose how to run it. A **Test** splits your visitors between groups, and the results tell you which price makes you more money. A **Personalization** shows the price you picked to everyone, or to a specific audience, with nothing being tested.

Four things work differently when you run a Price Change as a Personalization:

* You can only reduce prices.
* Duplicate products and subscription products aren't supported.
* Prices change in your store's default currency only.
* You can't combine a price change and an Offer in the same Personalization.

</details>

<details>

<summary>How many products can I add to a Pricing experience?</summary>

The default is 500 products. It's a setting on your account rather than a platform limit, so [reach out to our support team](https://portal.usepylon.com/intelligems/forms/intelligems-support-request) if you need it raised. Some accounts are set lower than 500, so if you hit the limit sooner than you expected, that's why.

If the product picker stops adding products at around 150, that isn't your limit. The picker loads in batches, so scroll to the bottom of the list and it will keep fetching until your full selection is in.

A few other things worth knowing when you're picking from a large catalog:

* A collection you created recently can take a while to appear in the collections dropdown. Filtering by product tag is faster.
* Collections have to be published to your Online Store sales channel for us to read them.
* Don't put the words `price test` in a tag you create yourself. We use a `price_test` tag to identify duplicate products, so your tag can be read as one of ours.

</details>

<details>

<summary>Can I price test just one variant of a product?</summary>

Products get added to a price test at the product level, which means all variants are technically included in a test, but if you are only looking to test one (or a few) variants of the product, you can set the price to be the same as the control price in all test groups for the variants that you do not want to test.

Here's an example of what that would look like if we only wanted to test the "Cream / Small" variant of our Ceramic Dinner Plate product:

<figure><img src="https://2052204893-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2SvefuMLsJyJPAcVXeWc%2Fuploads%2FUmLN62BzpwlMZPwT5575%2FScreenshot%202026-08-10%20at%203.50.34%E2%80%AFPM.png?alt=media&amp;token=3aa025c0-7d99-4d93-9130-10b243c74f79" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Can I price test bundle products?</summary>

Shopify Bundle products cannot be price tested due to a limitation with Cart Transform Functions. Both bundle products and our price testing feature rely on Shopify's Cart Transform functionality, but **Shopify only allows one cart transform function to run per line item**.

**What are cart transform functions?**

Cart transform functions are Shopify's mechanism for modifying cart contents, pricing, and line items dynamically. They're essential for creating product bundles and implementing dynamic pricing features.

**Why does this create a conflict?**

* **Bundle products** use Cart Transform Functions to group items together and apply bundle pricing
* **Our price testing** uses cart transform functions to display different prices to different customer segments
* Since only one transform can run per line item, these two features cannot operate simultaneously

**Are there any workarounds?**

Currently, there are no reliable workarounds due to this Shopify platform limitation. You'll need to choose between:

* Using bundle products with standard pricing
* Price testing individual (non-bundle) products

**Will this limitation be resolved?**

This depends on Shopify updating their platform to allow multiple Cart Transform Functions per line item. We'll continue monitoring Shopify's roadmap for any changes to this functionality. If your bundles are essential to the test, [talk to us](https://portal.usepylon.com/intelligems/forms/intelligems-support-request) before you build anything.

</details>

<details>

<summary>Can I run a Shipping experience and a Pricing experience at the same time?</summary>

It depends.

If your price integration is configured using **Shopify Functions with the Expand operation**, you **cannot** run the two at the same time.

{% hint style="info" %}
**An easy way to tell whether this applies to you**: if your store is not on Shopify Plus, and your price integration is not set up using duplicate products, then your integration uses the Expand operation and this limitation affects you.
{% endhint %}

This happens because of how the two interact at checkout. During a Shipping experience, Intelligems decides which shipping rate to serve by reading custom properties on the products in the cart, and those properties carry the test group ID. The Expand operation used to apply prices clears those custom properties, removing the exact information the shipping side needs. As a result, no test rates get served at checkout, disrupting the experience for customers trying to complete their purchase.

To prevent this, Intelligems will block you from starting one while the other is active. If you need to run both, you have a few options:

* End the currently active one before starting the other.
* Switch your price integration from the Expand operation to the Update operation (available on Shopify Plus).
* Move to running Pricing experiences using duplicate products instead.

If you're unsure which approach is best for your store, reach out to our support team, and we'll help you find the right setup.

</details>

<details>

<summary>Why doesn't the Shop Pay installment amount update in my experience?</summary>

That's expected. The Shop Pay installment widget renders inside Shopify's own Shop Pay system, which we can't reach or change, so it keeps showing instalments calculated off your catalog price. Your cart and checkout prices are still correct for the group.

If the mismatch matters for what you're testing, hide the widget on the pages in your experience using the [Visual Builder](/general-features/editors/visual-builder.md) for the duration.

</details>

<details>

<summary>Does Intelligems work with subscription software like Recharge?</summary>

Yes! Intelligems works with Recharge and other subscription management services to facilitate tests around subscription pricing. However, given these integration are often complex, we highly recommend having Intelligems perform this integration. Learn more [here](/pricing-experiences/pricing-experiences-overview/testing-prices-with-subscriptions.md) about integrating with subscription platforms.

Price Personalizations don't support subscription products at all.

</details>

<details>

<summary>Can I run a price test and a theme test at the same time?</summary>

We don't recommend it. Nothing in the app stops you, but a theme test changes the surface your price test runs on, so you're taking on real breakage risk for a result that's harder to act on. Where you can, run the theme test first, then start your price test on the winning theme.

**Why we steer you away from it**

Your price testing integration lives inside your theme. It's more than the Intelligems script. Depending on your setup it includes price tags on your product and collection templates, cart and cart drawer handling, and any custom work needed for your page builder or third-party cart app. A theme test serves some of your visitors a completely different theme, so all of that has to exist in every theme in the test. Theme changes are the most common reason a price testing integration stops working.

If a theme in the test is missing part of the integration, price tests fail quietly for everyone bucketed into it. Those visitors still count toward your price test, so your price test read gets diluted by shoppers who never saw a test price, and your theme test read reflects a pricing bug rather than the theme change you set out to measure.

You also have two themes to keep in sync for the length of the test. Every content update, sale campaign, and product launch has to be applied to both. If someone on your team edits the live theme without knowing a test is running, the themes drift apart and your theme test stops measuring what you built it to measure.

**What it does to your results**

Visitors are randomized into each test independently, so each test still reads its own effect. What you give up is knowing which combination of theme and price performed best. Your traffic is now spread across four groups instead of two, and no single combination gets enough volume for a read you can act on.

**If you have to run them together**

1. Build the variant theme by duplicating your current live theme. Duplicating carries your integration and the Intelligems script over automatically. Don't build the variant from a fresh theme, an unmodified vendor theme, or an older copy of your store.
2. If the variant theme was built separately (a redesign, a migration, or an agency build), re-apply the price testing integration before you start the theme test. See Price Testing Integration Guides, or [submit an integration request](https://portal.usepylon.com/intelligems/forms/integration-request-solutions-team) and our team will handle it.
3. Confirm the Intelligems app embed is enabled on every theme in the test. If your store uses a manual script tag, confirm it's present in `theme.liquid`.
4. Preview the price test in every theme, for every test group, before you launch. Check that prices tag correctly on product and collection pages, carry through to the cart and cart drawer, and match what the customer sees at checkout. If prices look right in your control theme but not the variant, the integration is missing or incomplete there.
5. Decide up front who's allowed to edit either theme, and apply any change you do make to both.
6. If you have template tests running, make sure the template files they reference exist in both themes. A missing template means the test can't serve its variant.

</details>

<details>

<summary>What's the difference between pausing and ending a price test?</summary>

Pausing and ending are not the same, and for price tests the difference affects your live Shopify prices.

Pausing stops serving test prices but keeps the experience and its results intact, so you can resume later. When you pause, choose the option to revert your prices. If you don't, your Shopify prices stay at the highest price in the experience while it's paused. Pause when you need to make edits or take a short break and plan to come back to the same test.

Ending writes one group's prices into Shopify and stops serving the rest. You pick which group's prices to keep in the end modal, then click Apply Prices and End Test. Choosing your control group leaves your original prices exactly as they are. End when you're finished with the test, which is also what frees you up to cleanly start your next one.

Two things to know before you end: a price test can only be rolled out once, at the moment you end it, so decide which prices you're keeping first. And if you end without choosing a group, your control prices stay in place, and getting a test group's prices live afterward means rebuilding the experience.

Ended one you meant to pause? Reach out to support and we can set it back to paused.

**Should I end my old price test before starting a new one?**

Yes. End the previous test before launching the next. A paused test isn't fully "off," it keeps its prices in play until you either revert on pause or end it, and leaving a test paused long-term makes it easy to lose track of which price is actually live. Ending resolves your prices cleanly in Shopify and gives you a clean starting point for the new test.

You don't need to manually reset anything for returning shoppers. Each test buckets visitors independently, so a brand new test assigns everyone fresh and doesn't inherit group assignments from a previous test.

</details>

### **Your Shopify prices**

<details>

<summary>Why does Intelligems update my Shopify prices when I start an experience?</summary>

Intelligems automatically updates your Shopify prices to the highest price in your experience. This ensures accurate pricing across your store and connected channels.

**Technical requirements:**

**Shopify Functions** can increase prices, but we still set the highest price in Shopify as best practice, which we explain more below. If you would prefer not to increase your prices in Shopify and you are using our Functions integration, please [reach out to our support team](https://portal.usepylon.com/intelligems/forms/intelligems-support-request) as we can enable this advanced setting in your account.

**Multi-channel accuracy**

Your Shopify product data feeds into other channels like Google Shopping, Facebook, Instagram, and Shopify Markets. When these channels display your products, they sync with your Shopify prices.

Setting the highest test price in Shopify prevents customers from seeing a lower price in Google Shopping (or other channels) and then encountering a higher price on your site. This creates a better customer experience and prevents potential conversion issues.

**What this means for you**

When you start a price test, any channel connected to Shopify will display the highest price from your test. This includes:

* Google Shopping feeds
* Facebook and Instagram shops
* Shopify Markets
* Third-party marketplaces
* Email marketing platforms syncing product data

If you're running tests across multiple channels, factor this into your test strategy to ensure consistent pricing where needed.

Please note that if you are only testing lower prices, your Shopify prices will not be altered when you start a price test.

</details>

<details>

<summary>What should I do with my Google Shopping feed?</summary>

It depends on whether you're running on Functions or Duplicate Products.

**Functions.** We update the price in Shopify to the highest price in the experience and that price goes to your feed. Trigger a feed update once it's live, particularly if you push feed updates manually or through an app. Visitors arriving from Google ads may see a lower price when they land, and never a higher one.

**Duplicate Products.** Google keeps showing the control price, so shoppers may see a different price when they arrive. Send the higher prices to Google instead, so that any difference they notice works in their favour. To do that, your original, non-duplicate products need to hold the highest price points in the experience, which is the column on the left when you're setting prices. Also remove your duplicates from every third-party channel so the same product doesn't appear on Google more than once at different prices. You can read more on how to do that [here](/pricing-experiences/price-testing-integration-guides/integration-guide-using-duplicate-products/step-4-configure-duplicate-products.md).

</details>

<details>

<summary>What if another system manages my product prices?</summary>

If you use something like NetSuite to push prices into Shopify, that system needs the same ceiling we set, or it will sync your old prices back over ours and your experience will stop working.

1. Download your prices from the `...` menu on the experience and choose **Get price CSV**. It's on the row in your experiences list and inside the experience itself. The file carries product IDs, SKUs and a price per test group, so trim it to the highest price per product and reshape it for whatever your price management software expects.
2. Start the experience in Intelligems and confirm the prompt to update your prices.
3. Update to those highest prices in your price management software straight away. As long as it's done before that software next syncs to Shopify, the experience will run as expected.

</details>

### **Multi-currency**

<details>

<summary>If my store sells in multiple currencies, how does a Pricing experience affect each currency?</summary>

By default an experience runs in your store's default currency, and shoppers in other currencies are excluded from the results. What those shoppers *see* depends on how your currency conversion is set up.

If you use Global-E, see the answer below. If you use Shopify Markets, there are two possibilities:

1. **Automatic conversion**, the default, calculates each market's price from your default currency at the current rate. If you're testing prices higher than your control, shoppers in those markets will see the highest price in the experience, in their currency, for as long as it runs.
2. **Fixed prices per market** hold their own value and don't inherit the increase. You can [set them in Shopify](https://help.shopify.com/en/manual/international/pricing/product-prices-by-country#set-product-price-for-a-country-or-region).

{% hint style="warning" %}
Set fixed prices **before** you start, not after. And if a market on automatic conversion also has its own live experience in that currency, its shoppers can end up with both increases at once, so check every active market before you start anything in your default currency.
{% endhint %}

If you're running on Duplicate Products this generally doesn't apply, unless you've altered the price of your control product.

If you are interested in testing in multiple currencies, please see our article [here](/pricing-experiences/pricing-experiences-overview/multi-currency-testing.md) for more information!

</details>

<details>

<summary>Does Intelligems integrate with Global-E?</summary>

We do not directly integrate with Global-E, but there are steps to follow if you're running an experience with higher prices. If you're only testing lower prices, nothing needs to be done to work with Global-E.

When you start, we raise your prices in Shopify to the highest prices in the experience. Because Global-E converts prices in other markets from what's in Shopify, the price will be higher in all other markets while it runs. To avoid that, you'll need Global-E to set a fixed price in the foreign currency for each product included. You can do this by providing Global-E with a CSV file. They will also need to revert this at the end so the prices can sync with the current exchange rate.

</details>

### **Duplicate products**

<details>

<summary>Do I need duplicate products, and does it happen automatically?</summary>

In most cases you don't. Intelligems runs most Pricing experiences on Shopify Functions, and no duplicates are created.

Duplicate products may be necessary if:

1. Your store can't use Shopify Functions for any reason.
2. You're testing Subscription products that carry a selling plan. Shopify doesn't support cart transform functions on subscription products, whichever subscription app you use.
3. Another app on your product page holds the Cart Transform slot or conflicts with ours.

If one of those applies, [reach out to Intelligems support](https://portal.usepylon.com/intelligems/forms/intelligems-support-request) so we can enable it on your account. Once it's on, one duplicate is created automatically for every product and every price point you add.

</details>

<details>

<summary>What will duplicate products look like in Shopify and how can I find them?</summary>

They're near-identical copies of your originals, with a few differences:

1. Different product and variant IDs. SKUs are copied across unchanged.
2. A `price_test` tag, plus tags carrying the experiment ID, the test group ID and an ID unique to that product. Filter your Shopify products by `price_test` to find every duplicate we've made.
3. Unlisted status when created, and they stay unlisted when you start the experience.

They also need excluding from your sales channels by hand after they're created. Skipping that is what puts duplicate listings into feeds like Google Merchant Center.

</details>

<details>

<summary>Can I delete duplicate products once an experience is over?</summary>

We typically recommend waiting a few days after a test is over before doing this. Customers will not be able to see them unless the duplicate products are still in their cart. Keeping the duplicates live for a few days will allow these edge-case customers to be able to check out, creating a better customer experience.

When ending a test, you'll be asked if you would like to archive the products now or within 48 hours. Intelligems will automatically archive duplicates after 48 hours.

Additionally, if you have subscriptions, you should make sure any subscriptions that occurred on the duplicate products get mapped to non-duplicate products.

Other than that, there are no issues with deleting them, but archiving may be a safer option in case you need to make any changes later. You'll be able to find all duplicate products created by Intelligems by searching for the products with the tag 'price\_test' in Shopify.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.intelligems.io/pricing-experiences/price-testing-faqs.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
