Many real products are sold as a family of related variants—a t-shirt offered in several sizes, or a sneaker offered in multiple size-and-color combinations. In the Ecommerce simulation these variants are called child SKUs and are grouped together under a single parent product.
This structure keeps the virtual shelf tidy by displaying only the parent product as a single card. Respondents shop just as they would on a real storefront: they click the parent product to open its detail page, where they can explore and select their preferred child SKU.
⚠️ Note: Product families are supported on Amazon, Chewy, Costco, Kroger, Sam's Club, Target, Walmart, or Standard Web for families of up to two axes (for example Size × Color). Nike does not show families by design. A second axis is available when multi-axis variants are enabled for your account.
In This Article
- Ways to Add Child SKUs
- CSV Examples
- Editing a Product Family
- How Variants Are Numbered
- Targeting a Child SKU in Logic
- What Respondents See
- Child SKUs in Analysis
Ways to Add Child SKUs
You can build a product family in three ways:
-
Import them automatically. In the product search block, check the with child SKUs option so the search pulls in each product's variants alongside its parent. The option is available on every storefront except Target, Kroger and Nike. Each imported family is capped at 50 products to keep imports manageable. When importing products with child SKUs, you can select up to 20 products at a time. This limit helps keep the number of imported products manageable.
-
Build them manually. On any parent product card, click the product family icon
to open the family editor. From there you can Add axis (for example "Size"), add the values for that axis, and click + Add child SKU to create each variant. Start by adding an axis, such as Size or Color, and defining its available values. Once you've added an axis, you can begin creating child SKUs.
A second axis (for example "Color") is available when multi-axis variants are enabled for your account. If this feature is not available, you'll see a pop-up with a friendly error. -
Upload them via CSV. Build the whole family in a spreadsheet, one row per product, then upload it. Two things turn those rows into a family:
- A dimension column pair names each variant's axis and value. Use
dimension name/dimension valuefor a single axis, ordimension 1 name… anddimension 2 name… for two axes. - The
parent productcolumn links children to their parent. Leave it blank on the parent row, and on every child row enter the parent'smarket place id. Parent and child rows can appear in any order in the file.
- A dimension column pair names each variant's axis and value. Use
💡 Tip: When the file is ready, upload it from the product list: click the Product sheet dropdown at the top-right and select Upload. Choosing Download first gives you a sheet with the columns already in place to fill in.
See the CSV Examples below.
CSV Examples
Example 1—single axis (Size). The TEE-S row is the parent, so its parent product cell is left blank. The other three rows are children, each pointing back to TEE-S.
Copy this as a starting point:
name,regular price,market place id,dimension name,dimension value,parent product Classic Cotton Tee,$24.99,TEE-S,Size,S, Classic Cotton Tee,$24.99,TEE-M,Size,M,TEE-S Classic Cotton Tee,$26.99,TEE-L,Size,L,TEE-S Classic Cotton Tee,$26.99,TEE-XL,Size,XL,TEE-S
| name | regular price | market place id | dimension name | dimension value | parent product |
|---|---|---|---|---|---|
| Classic Cotton Tee | $24.99 | TEE-S | Size | S | (blank—parent) |
| Classic Cotton Tee | $24.99 | TEE-M | Size | M | TEE-S |
| Classic Cotton Tee | $26.99 | TEE-L | Size | L | TEE-S |
| Classic Cotton Tee | $26.99 | TEE-XL | Size | XL | TEE-S |
Example 2—two axes (Size and Color). Same idea, with a second dimension pair added. The SHOE-M-RED row is the parent (blank parent product), and the remaining rows are children pointing back to it.
Copy this as a starting point:
name,regular price,market place id,dimension 1 name,dimension 1 value,dimension 2 name,dimension 2 value,parent product Trailblazer Running Shoe,$89.99,SHOE-M-RED,Size,M,Color,Red, Trailblazer Running Shoe,$89.99,SHOE-L-RED,Size,L,Color,Red,SHOE-M-RED Trailblazer Running Shoe,$89.99,SHOE-M-BLU,Size,M,Color,Blue,SHOE-M-RED Trailblazer Running Shoe,$94.99,SHOE-L-BLU,Size,L,Color,Blue,SHOE-M-RED
| name | regular price | market place id | dimension 1 name | dimension 1 value | dimension 2 name | dimension 2 value | parent product |
|---|---|---|---|---|---|---|---|
| Trailblazer Running Shoe | $89.99 | SHOE-M-RED | Size | M | Color | Red | (blank—parent) |
| Trailblazer Running Shoe | $89.99 | SHOE-L-RED | Size | L | Color | Red | SHOE-M-RED |
| Trailblazer Running Shoe | $89.99 | SHOE-M-BLU | Size | M | Color | Blue | SHOE-M-RED |
| Trailblazer Running Shoe | $94.99 | SHOE-L-BLU | Size | L | Color | Blue | SHOE-M-RED |
💡 Tip: Every product in the family gets its own row—parent and children alike—and each row carries its own
regular price. The parent is simply the row whoseparent productcell is empty.
Editing a Product Family
In the family editor you can:
- Rename an axis, or remove an axis and its values
- Add, rename, or remove axis values
- Drag value chips to set the order in which values appear to respondents
- Add or remove individual child SKUs, and set each variant's own name, price, and images
A few editing rules are worth knowing. You cannot remove the last axis while the family still has child SKUs—delete the children first, or the variants would be left with nothing to identify them. Child SKUs also do not carry the placement options a top-level product has (Featured, Banner ad, Right column, Footer, Focused): those belong to the parent card.
⚠️ Note: Before launching, make sure every variant has a value for each of its axes and that no two variants share the same combination of values. Blank axis values and duplicate combinations are flagged and will block launch until resolved.
The order of child SKUs in the family editor determines their CS reference numbers. The order of the axis value chips determines how shoppers see the options. Rearranging value chips changes the respondent-facing order without changing the CS references.
How Variants Are Numbered
Variants are grouped under their parent item rather than numbered as separate products. Understanding this numbering system allows you to write precise logic and correctly identify products in your results.
Q—Survey QuestionA—Main Product List. Parents, standalone products, and "None of the above" are numbered sequentially (1, 2, 3...) with no gaps. This number is represented byA.CS—Family Dialog. Within a parent item's family dialog, the parent acts as an unnumbered title, and its variants are numbered sequentially (1, 2, 3...). This variant number is represented byCS.
Example: A reference like Q1A2CS3 translates to:
Q1: The first question in a surveyA2: The second card in the main product list (the parent product)CS2: The third variant in that parent's family dialog
Editor Order vs. Display Order: Variant numbers are based on their order in the editor, not the order displayed to shoppers. Dragging value chips changes the respondent-facing display order but leaves the underlying variant numbers untouched.
Draft Mode: While the survey is in draft mode, moving, inserting, or deleting an item will automatically rewrite your existing logic references so they continue pointing to the correct product. If a referenced variant is deleted, the reference is marked as broken so you can fix it.
Launched Mode: Once the survey launches, all numbers are permanently frozen.
Targeting a Child SKU in Logic
Logic can now react to the specific variant a respondent put in the cart, pipe that variant's name or image into a later question, and show or hide individual variants. Child-SKU references work everywhere a product reference works: show if, hide if, skip and terminate rules, and piping into question or answer text. Letters are not case-sensitive, so q1a2cs3 works too.
| Reference | What it does |
|---|---|
| show if Q1A2CS3 | Shows the question when the respondent added that variant to the cart. |
| hide if Q1A2CS3 | The inverse. Works the same way in skip and terminate rules. |
| Q1A2CS3 in text | Pipes that variant's product name. |
| Q1A2CS3I | Pipes the variant's own image. Add IX to make it expandable, IS to make it scrollable, or both. |
| Q1A2CS3P / Q1A2CS3PV | The variant's displayed position within its family, which can differ from its number (which is 3 in this example). |
| Q1A2CS1-3 or Q1A2CS1,3 |
A range or a list of variants. Ranges can span parents too: Q1A1-2CS1. |
To show or hide a single product, put the command in that product's own text—a parent, a standalone product or one variant. Hiding a parent hides its whole family; hiding a variant affects only that variant, leaving its siblings and parent in place.
As you type a reference, autocomplete offers CS only when the product you named actually has variants, and then lists each variant with its name. A variant number higher than the family size, or a CS on a product with no variants, is flagged as out of range in the editor and blocks launch.
⚠️ Note: Child-SKU logic fires on what is in the cart when the respondent submits the question. Viewing or clicking a variant does not count, and a variant added and then removed does not count. Expand and scroll exist only as image modifiers, so
Q1A2CS3XandQ1A2CS3Sare not valid references.
Previewing Child SKU Logic
Researcher preview applies show and hide logic inside the Ecommerce shelf, so you can watch a rule fire:
| Preview setting | What a hidden product does |
|---|---|
| Show hidden: off | Disappears, exactly as it does for live respondents. |
| Show hidden: on | Stays visible but greyed out and unclickable, so you can see which rule fired. Variant options carried only by hidden variants are greyed too. |
| Suppress logic: on | Nothing is removed, but Show hidden still greys out the products the logic would hide. This differs from other question types on purpose. |
If every top-level product is hidden, Next stays enabled so you can continue through the preview. Live respondents never see grey marks—hidden products are removed before the page loads.
What Respondents See
Only the parent product appears as a card on the shelf. When a respondent opens a product's detail view, a variant selector lets them switch between family members—one row of buttons per axis on most storefronts. Costco presents the family as a "Similar products" carousel instead, and Kroger uses a dropdown per axis on a wide screen and a scrolling chip row on a narrow one. On Walmart, turning on the question option Show variants in search results adds inline variant tiles to the parent's card on the shelf itself, one row per axis.
Variants always appear in the value order you set, identical for every respondent: when answer randomization is on, only top-level products are shuffled. Each variant carries its own images, price, and rating, and each can be added to the cart as an independent line item, so cart limits and spend caps count every variant separately.
Child SKUs in Analysis
In your results, each parent is listed with its variants directly beneath it, in your value order, each under its own code: A1 for the parent, A1CS1 and A1CS2 for its variants. The code is also the filter link—click it to filter the report to that product. The Filter tab and the Data Lab speak the same codes, and coded exports list variants beneath their parent in the same order.
Each child SKU keeps its own row—there is no roll-up or aggregation between a parent and its variants. A variant's purchase counts on that variant's row, never on the parent's. You can read purchase intent, add-to-cart and every other metric at the individual variant level, comparing "Small / Red" against "Large / Blue" just as you would two standalone products.