A/B testing with custom components

I’m having an issue with Builder’s A/B testing feature. After creating multiple variants of a page, changes made to components on one variant are applied to ALL variants.
When trying to get around this, I noticed that it seems to work correctly when starting variants from a “blank slate” and adding components to each of them individually. It makes me believe that if you create a new variant, and that variant contains the same components as another, changes to those components won’t be unique to that variant.

(FYI all components being used are custom builder components)

This is an issue because it’s not economical to create multiple variants of a page and have to manually add all the components to each page. I’d like to be able to create a variant and only change what I need. Is this a known issue?

Code stack you are integrating Builder with
Remix/React, Shopify/hydrogen

Hello @kcapattack,

It sounds like you’re running into an issue where changes to components in one variant are affecting all variants. This usually happens when the same component is added to multiple variants, and Builder treats them as the same instance.

I get that manually adding components to each variant is tiresome, but that blank slate method seems to work because it isolates components, letting you make unique changes. Unfortunately, there’s no built-in way to auto-duplicate variants with distinct component states right now.

I understand that manually adding components to each variant can be quite time-consuming, especially when you’re working with custom components but if you could help clarify the issue with a couple of questions:

  • Are all the custom components built using the same configuration or settings across variants?
  • Have you noticed any specific behavior with particular components that might be more prone to this issue?

If you’re integrating Builder with Remix/React and Shopify/Hydrogen, it could also be worth checking if there are any conflicts or caching issues between these integrations that might be affecting how components are treated across variants.

Let me know if I can help further!