Skip to content
SyncRefine
SyncRefine

Merge Simple Products into Variants, Without the Spreadsheet

Your supplier lists every size and color as a separate product. How to merge simple products into configurable or variable products, without broken URLs.

Julian Marulanda
8 min read

Open your furniture supplier's price list and look up a single bar stool. Chances are you will find it six times: black 65 cm, black 75 cm, cognac 65 cm, cognac 75 cm, taupe 65 cm, taupe 75 cm. Six rows, six SKUs, and nothing that says this is the same product. Push that list into your shop as-is and from today you are selling six bar stools that compete with each other.

This is not sloppiness on your supplier's side. Their system is built to count stock, and stock is counted per version: every size-color combination has its own SKU, its own stock level and therefore its own row. On a German merchant forum a trader summed the problem up dryly: his manufacturer's system "knows no abstract parent items". The flat list is a feature for your supplier. For your shop it is a problem.

Why six separate items genuinely hurt your shop

A webshop does not think in stock rows but in products. Someone shopping for a bar stool expects one product page with a color picker and a height picker, not six near-identical pages. Put the flat list live anyway and three things happen at once.

Google sees six competitors of each other. Six pages with nearly the same title and description split your link equity and push each other down the results, the classic cannibalization pattern. Feed specialist DataFeedWatch describes a sportswear brand that listed every color and size as a separate product: confusing for shoppers and search engines alike. After merging into variants, conversion rose by roughly twenty percent within months (their own case study, so read it with that lens, but the mechanism is sound).

Customers never find the other color. Whoever lands on the black stool sees nothing that says cognac exists. The choice that makes your range strong is invisible at the moment it matters.

Your catalog fills up with near-duplicates. Filters get polluted, category pages show the same photo six times, and every content field needs maintaining six times. Annoying at a few hundred products; a Magento merchant on Reddit was offered a supplier dataset of 200,000 flat SKUs and asked out loud whether anything existed besides manual work.

the same six rows, two worlds
Bar stool Oslo
├─ color: Black · Cognac · Taupe
├─ seat height: 65 cm · 75 cm
└─ 6 variants, each with its own SKU, price and stock

Left: your supplier's price list. Right: what your shop needs, one parent product with two options.

Every platform calls it something else (which makes searching hard)

Google this problem for the first time and you get lost in terminology. The concept is the same everywhere, a parent product with versions underneath, but every platform has its own word for it. Magento calls it configurable products with simple products below. WooCommerce speaks of variable products with variations. Shopify simply says variants, and its native way to combine existing products, combined listings, is natively reserved for the Advanced and Plus plans. Marketplaces talk about parent/child relationships, and in your Google Shopping feed the link is called item_group_id. Five words, one concept: rows that belong together, bundled under one parent.

Useful to know when you go looking for solutions: a plugin promising "variable products" is about WooCommerce; a guide about "configurables" is about Magento. And the marketplace side, like feeds to marketplaces and Google Shopping, is its own story: there you deliver the parent-child structure in the channel's format.

The manual routes, and where they break down

Almost everyone tries one of these three routes first. They all work, once. Then the next collection arrives and everything starts over.

1
Route 1: the CSV import file
Magento and WooCommerce can import variants, but they demand a precisely built file where every variant is its own row with the right reference to the parent. A merchant on Magento StackExchange did the math: 500 configurable products became 13,000 CSV rows. And the failure mode is silent: the import "succeeds", but the link is missing because one attribute was spelled just slightly differently.
2
Route 2: the plugin or import tool
There are decent plugins that partially solve this, but they mostly relocate the work: you still have to tell them per file what belongs to what, and the licenses renew yearly. A starter on Reddit gave up because his supplier CSV ran to nearly 10,000 lines and the yearly license did not fit his budget.
3
Route 3: merging afterwards, inside the shop
If the separate products are already live, merging is extra risky: creating new products means redirecting old URLs, detaching order history and guarding stock per SKU. In one WooCommerce thread half the discussion is about saving "SEO juice" with 301 redirects.
For 500 products this will take forever. I need automation that creates the variant rows for me.
Merchant on Magento StackExchange, paraphrased, on 26 CSV rows per product

How bad the manual route gets is best read in the forums themselves. One Magento merchant lost an entire working day to a single import file whose simples refused to attach to their parents; the cause turned out to be one attribute set as a text field instead of a dropdown. A print-on-demand seller calculated that his merged product would count 900 variations: 5 styles times 9 sizes times 20 colors, impossible to link by hand without mistakes. This is not a Friday-afternoon chore; it is a standing source of errors, and every error is live in your shop.

And then there is the structural problem no one-off action solves: the next delivery. Your supplier adds a color, swaps a size, or ships a new collection. Every hand-built structure starts aging the day it is finished. A merchant whose inventory system pushed every color as a separate product was told: export, restructure in Excel, re-import. Every single week.

How SyncRefine solves this: detect, propose, approve

In SyncRefine, variant grouping is an automation that runs on your supplier data, every time a delivery comes in. The principle is deliberately simple and consists of three steps.

Detect. SyncRefine reads name and SKU patterns in the delivered rows: the six bar stools share the first words of their name and a SKU prefix. You decide what to group on and which options make the difference, like color, size or material, and multiple options at once is no problem. You see live which groups that produces and adjust until it is right.

Propose. Every detected group lands in an overview as a proposal: which items, which options, how many variants. Nothing is merged silently.

Approve. You accept or reject, per group. Only approved groups become a product with options in your shop: a configurable product in Magento 2, a variable product in WooCommerce, both over a direct two-way connection.

The next delivery
New sizes attach by themselves
When the same list arrives next month with a new color in it, SyncRefine recognizes those rows as part of a group you already approved. The new color appears automatically as an extra option under the same product. No duplicates, no second product page, no manual work. That is the difference between a one-off cleanup and a structure that stays correct.

The parent product itself is composed per field from the variants, following a rule you choose: the shared part of the names as the title, the first filled value as the price or image, the most common value for an attribute. And because grouping works as a layer on top of your source data, the original supplier rows stay exactly as they came in. Every decision can be undone, and merging supplier data into one golden record stays traceable per field.

Per platform: how it lands, neatly nested

An approved group is converted into exactly the structure your platform expects, in that platform's own language.

Magento 2: configurable products. The group becomes a configurable product with the flat rows as simple products underneath, linked through the right options (super attributes). Customers see one product page with pickers; the simples do the stock work in the background. Exactly the structure you would otherwise build row by row in a CSV.

WooCommerce: variable products. The group becomes a variable product with variations, including the attribute terms that requires. No spreadsheet restructuring, no import plugin with a yearly license.

Shopify: variants. Shopify bundles variants inside one product, since October 2025 up to 2,048 per product on every plan, with at most three options per product. For merging products that already exist in Shopify, the platform offers combined listings, but natively only on Advanced and Plus. Our Shopify connection is almost ready; the grouping itself already works on your supplier data today.

Shopware, PrestaShop, JTL and the rest.Same concept, different words again: Shopware calls it variants with Eigenschaften, JTL-Wawi speaks of Variationskombinationen with parent and child items, PrestaShop of combinations. The grouping in SyncRefine is identical for all of them; if your platform's connection does not exist yet, our experts build it, usually within weeks. See the connections overview for what is live today.

Marketplaces and Google Shopping: product families and item_group_id. The same parent-child structure is the natural basis for product families on marketplaces and grouped variants in your Shopping feed. Group well once and it pays off on every channel you feed from the same data.

bol.

One grouping, each platform its own structure: from configurable to variable to product family.

your category page, before and after
Bar stool Oslo from € 129.00
● ● ● colors · 2 seat heights
→ 1 tile, every choice on one page

The same category page: six competing tiles become one product that collects all the demand.

Also for the loose simples already live in your shop

This does not only work for new deliveries. To SyncRefine, your shop connection is simply another source: the existing products are read in, and the same detection runs on that catalog. So if hundreds of loose color-size products are already live, they show up as variant proposals in the same overview, and after your approval they go back to your shop as a configurable or variable product.

Important for your SEO: every variant keeps its own SKU, EAN, price and stock, and you decide per group what merges before anything changes. No exporting, restructuring in Excel and re-importing, the route where sellers trade redirect schemes to avoid losing hard-won rankings. The new parent becomes the one page that collects all the demand, instead of six pages diluting each other. And if part of your catalog already has a clean parent-child structure, SyncRefine recognizes it and leaves it alone; only the loose rows without relations are proposed.

Without SyncRefine
  • Rebuilding Excel rows and re-importing for every collection
  • Imports that succeed while links silently go missing
  • Six product pages competing with each other in Google
  • New colors and sizes arriving as loose duplicates
  • Merging afterwards costs URLs and order history
With SyncRefine
  • Groups are detected automatically on name and SKU patterns
  • You approve or reject every proposal, per group
  • One product page with color and size options per product
  • New variants attach automatically to the existing group
  • Source data stays intact, everything can be undone
6 → 1
flat supplier rows become one product with options
13,000
CSV rows for 500 products via the manual route (Magento StackExchange)
0
rows you have to build in Excel yourself

What to watch for when you set this up

Whether you group with SyncRefine or any other tool, keep these rules of thumb in mind. They come straight from the pitfalls above.

In short
  • Group on a stable pattern (name prefix or SKU structure), not on file order: that changes with every delivery.
  • Review proposals before they go live; a wrong group is much harder to untangle inside your shop than in a review step.
  • Keep variant-level fields (SKU, EAN, price, stock) on the variant and only compose the parent product.
  • Plan for re-delivery: a structure that is only correct at first import is polluted again within a quarter.
  • Never merge blindly in a live shop; guard URLs and order history, or group before your shop instead of inside it.
Curious which variant groups are hiding in your supplier list?

Feel free to send us a real price list from your supplier. In a half-hour demo we will show you which groups SyncRefine detects in it, what the proposals look like, and how they land in your shop as configurable or variable products. Working with thousands of products from dozens of suppliers? Then this is usually where the most time is won, alongside the other automations that keep your catalog in order.

Written by
Julian Marulanda
AI operations & support | Process standardization
LinkedIn
Keep reading

Curious what SyncRefine can do with your product data?

Book a no-obligation demo and we will show it live on your own data.

Kenneth Dekker
Automation & data integration

“Automating with AI is happening now. In half an hour we will show you what it means for your business.”

No obligation and fully tailored