A T-shirt may be one product in Shopify, but blue in medium and black in large are separate offers in a comparison-shopping feed. Each has its own barcode, SKU, price, inventory position, and selected options. If those values are copied across variants, the CSV can be syntactically valid while describing the wrong item.

This guide explains how to treat variants as independent, traceable records. The goal is not simply to fill every column. It is to create a stable connection between the exact variant sold in Shopify and the exact offer that shoppers should see on idealo.

Why each variant counts as a separate feed record

A Shopify variant is a concrete combination of option values, such as colour and size. Shopify exposes core offer information—including price, compare-at price, barcode, SKU, availability, image, and selected options—at variant level. You can see that field model directly in Shopify’s official ProductVariant documentation.

For an export, one product with three colours and four sizes can therefore produce twelve offer rows. Every row has to be internally consistent. Its EAN must belong to that particular trade item, its price must be the price of that variant, its URL should make the right selection reachable, and its availability must not accidentally represent the entire product.

The common trap is a well-maintained product title sitting above incomplete variants. The storefront can still appear to work because shoppers actively choose options. A receiving platform only sees the values included in each exported record. If two rows cannot be distinguished, the result can be duplicates, incorrect matching, or offers left outside the most useful comparison context.

EAN, GTIN, and SKU have different jobs

An EAN is a widely used form of the Global Trade Item Number, or GTIN. It identifies a trade item across company boundaries. A stock keeping unit is your internal inventory code. Shopify explicitly separates these concepts: barcode scanners normally read the barcode field, while SKUs support internal storage, search, reporting, fulfilment, and integrations. Shopify’s product details guidance places ISBN, UPC, and GTIN values in the barcode field.

Three practical rules follow:

A code such as TSHIRT-BLK-M may be an excellent warehouse SKU, but it is not an EAN. Conversely, the EAN should not become a disposable internal article number. A new pack size or a materially different trade item may need a different GTIN; a copy edit to a product title does not justify changing its identifiers.

Keep the entire variant record consistent

A correct EAN cannot repair a contradictory row. Audit the following values as a group:

FieldExpected for each variantTypical failure
Barcode/EANbelongs to the exact trade itemone code copied across sizes
SKUunique and stable internallyparent-product SKU reused
Optionscolour, size, or quantity is complete“Default Title” despite real variants
Pricecurrent selling price of this variantlowest product price copied everywhere
Inventorysellable quantity or availabilitytotal stock across all variants
URLmakes the precise variant reachablealways opens the first selection
Imagepreferably shows the selected itemblack image for a white option

Price and inventory differences make mismatches especially risky. A feed must not combine the price of size S with the barcode of size XL. A shared title is also insufficient: the attributes that distinguish each selection need to remain visible in the title or in dedicated feed fields.

The SKU is a valuable audit key. It is not a universal product identifier, yet Shopify’s official SKU guidance recommends a unique SKU for every product variant. That lets you trace an exported row back to the precise admin record, inventory position, warehouse item, or ERP entry.

Clean the Shopify source data first

Do not start by compensating in feed mappings. Begin with the source catalogue. Choose a manageable group of products with genuine variants and complete that group before scaling the process.

  1. Open each variant in Shopify and record its option combination, SKU, barcode, price, and available inventory.
  2. Find blank or duplicated SKUs. Twelve combinations generally require twelve distinguishable SKUs.
  3. Compare each barcode with the packaging, manufacturer list, or a trusted supplier file. Remove placeholder values such as 1234567890123.
  4. Confirm that prices and images belong to the selected option. Pay special attention to surcharges for sizes, colours, or quantities.
  5. Open the storefront with that variant selected. The price, image, option state, and cart line should describe the same item.
  6. Only then repeat the pattern with Shopify’s bulk editor or a controlled CSV import.

Work in small batches. Bulk correction also multiplies mistakes immediately. Preserve the pre-change export and sample products with one, a few, and many variants after every import.

Map product and variant fields deliberately

A feed mapping should distinguish shared product data from offer-specific variant data. Brand and a core description may come from the product. Barcode, SKU, selected options, price, and availability commonly need the current variant. If the exporter supports fallback values, a missing variant EAN must not be silently replaced with an unrelated product-level barcode.

idealo describes clear identifiers as important inputs for catalogue assignment. Its first-party article on complete product data in a feed highlights EAN, manufacturer article number, offer title, and category attributes. Offers that cannot be assigned unambiguously may remain in an open catalogue or be associated with the wrong product.

A practical mapping therefore follows this pattern:

Idealo Sync can map Shopify fields into a stable CSV feed URL and define explicit fallbacks. The quality of the source still matters: mapping can transport an existing value, but it cannot infer a legitimate barcode that was never entered.

Run an audit that exposes mismatches

Open the feed preview or CSV and begin with ten products that contain variants. Sort the rows by SKU and then by EAN. Look for four patterns: empty identifiers, repeated EANs, repeated SKUs, and records whose options cannot be recognised from either the title or dedicated attributes.

Next, perform an end-to-end trace for at least five variants:

  1. Select the feed row by its SKU.
  2. Compare its EAN with the trusted source record.
  3. Compare price and availability with Shopify.
  4. Open the offer URL and identify the active variant.
  5. Recheck image, selected options, and cart line.

Treat identifiers as text when using spreadsheets. Did the tool remove a leading zero? Did it display a long number in scientific notation? Did an import add spaces or alter letter case in an SKU? These changes can be easy to miss visually. Keeping barcode and SKU columns as text preserves their exact value instead of asking spreadsheet software to interpret them as quantities.

Repeat the audit after the next automatic refresh. A correct preview before publishing is useful, but the real test is that the scheduled feed still contains the same relationships after catalogue and inventory updates.

Handle edge cases without inventing data

Handmade products or unique used items may not have manufacturer-issued GTINs. Do not create plausible-looking numbers. Document the identifiers and attributes you do possess, then confirm with your idealo contact how that category and offer type should be supplied.

Bundles require the same caution. A set made from two separately barcoded products does not automatically inherit the EAN of either component. Do not reuse a component barcode for convenience. Multipacks, changed fill quantities, and market-specific versions may also represent different trade items even when their product photography is similar.

Variants can remain distinct even when their prices happen to match. They still need correct options, availability, landing behaviour, and—where applicable—their own EANs. For digital or non-shipping products, first establish that the target category and your idealo arrangement support the offer at all.

Stability matters after cleanup. Avoid changing SKUs for cosmetic reasons when inventory, orders, warehouse labels, or integrations depend on them. If duplicates must be corrected, keep a temporary old-to-new mapping and inspect the following feed update. That record makes reconciliation possible if another system has not yet received the change.

Checklist before the next feed refresh

This makes the feed more than formally complete. It becomes traceable: every offer row can be followed from idealo back to the exact Shopify variant that supplies its identity, price, and availability.

Sources

Ready to create your idealo feed?

Install Idealo Sync and get a stable feed URL for idealo Business.

Start 14-day free trial