How to A/B Test a Product Template in Replo

Last updated: June 13, 2025

Product Templates

Product Templates in Replo allow you to create standardized layouts for product pages that can be applied across multiple items in your Shopify store. These templates pull dynamic content from your Shopify catalog, so product information like titles, prices, and images that automatically update based on the selected product. You can assign templates to specific products, preview how different products will look with the same template, and make updates that apply across all connected product pages.


Current Limitations of Product Template Testing

Currently, Shopify only allows a single Product Detail Page (PDP) template to be assigned to each product. This means you can’t natively run a true A/B test where organic traffic is split between two templates for the same product using Shopify’s default routing. However, there are workarounds that allow you to test new layouts and content effectively.


Method 1: Duplicate as a Standalone Page

You can duplicate your product template as a standalone page (e.g., /page) and configure it to display the same page content / product information. Then, you can direct traffic to this new page as one variant, with any reflected changes, while using the original product template as the other variant. This method ensures that analytics within Replo are tracked accurately. You will need to test this with a single product, as the standalone page will be explicitly connected to that product.

How to set this up:

  1. Duplicate your product template as a new page in Replo by selecting the entire page content, clicking “Copy,” and pasting it into a new (non-template) page.

  2. Configure all product-related components—like the buy box or product container—to reference the specific product you want to test. This ensures the duplicated page accurately displays the correct product’s information, and that any analytics or conversion tracking you do reflect the intended product.

  3. Publish the new page.

  4. Create a new A/B Test in Replo.

  5. Within the test, assign the original product template to one variant by pasting the URL of the product page with the correct product you connected within your new page. Assign the second variant to the new page you created.

  6. Start the test and direct traffic to your split link!


Method 2: Use the ?view= URL Parameter

Shopify supports the ?view= URL parameter, which allows you to render a product page using a different template—even if it’s not the one assigned by default. This requires you to create an alternate product template in Replo, publish it, and manually use the URL parameter to display it when setting your variants.

How to set this up:

  1. Create and publish the alternate 📄 Product Templatesin Replo without assigning it to any product.

  2. Create an A/B Test in Replo:

    1. Use the standard product URL for the original variant. https://yourstore.com/products/product-id

    2. For the second variant, set the URL with ?view=identifier , such as:

      https://yourstore.com/products/product-id?view=identifier

    3. where identifier is the unique identifier for the alternate template.

  3. To find this Identifier:

    1. Open the Replo editor and locate the alternate product template.

    2. Click the “View Live” button. Replo will generate a live preview URL that includes the correct ?view= identifier.

    3. Copy this URL and use it as the destination for the second variant in your A/B Test.

  4. Launch your test and start directing traffic to your Test Link.

Note: To see results using this method, you’ll need to use a third-party tool (like GA4), as Replo cannot currently distinguish sessions based on the ?view= parameter.


Key Considerations

Analytics Accuracy:

  • If you use the standalone page method, Replo’s built-in analytics will track variant performance accurately.

  • If you use the ?view= method, use an external analytics tool to measure performance, as Replo can’t currently differentiate variants using this URL parameter.