Création en masse de produits et variantes Shopify depuis Excel avec ShopFlow

le

Guide Shopify pour créer vos produits, options et variantes en masse depuis Excel avec ShopFlow

Le modèle produit Shopify actuel sépare trois choses qui étaient souvent mélangées avant:

  • les données du produit lui-même
  • la structure des options produit
  • les variantes réellement vendables

C'est exactement pour cela que beaucoup d'imports cassent au moment des variantes: le produit existe bien, mais Shopify ne connaît pas encore les noms d'options, donc la payload variante n'a rien de valide à rattacher.

Ce guide propose un workflow lisible dans Excel et cohérent avec le fonctionnement réel de Shopify aujourd'hui.

La réponse courte

Pour un import catalogue initial, l'ordre le plus sûr est:

  1. Créer le produit avec productCreate.
  2. S'assurer que les noms d'options existent sur le produit avant de créer les variantes.
  3. Créer les variantes vendables avec productVariantsBulkCreate.
  4. Garder productSet pour plus tard. C'est une autre manière de faire, et on la verra dans un prochain article dédié.

Les règles Shopify importantes à retenir sont:

  • productCreate peut définir des options produit et des valeurs d'options, mais il ne crée que la variante initiale.
  • productOptionsCreate sert à ajouter des noms d'options manquants ou des valeurs de départ sur un produit existant.
  • productVariantsBulkCreate a besoin d'une valeur pour chaque option déjà présente sur le produit.
  • Si l'option existe déjà sur le produit, productVariantsBulkCreate peut rattacher une valeur existante par nom ou créer une nouvelle valeur par nom.

Dans cet article, on conserve un workflow Excel en trois onglets parce qu'il est plus simple à relire, plus simple à dépanner, et plus adapté aux équipes merchandising ou opérations.

Pour garder un fil conducteur concret, on reste sur une seule histoire du début à la fin: vous lancez une boutique de mugs et vous voulez créer votre premier mug avec deux variantes couleur, Red et Green.

Ce que vous aurez à la fin

  • Un onglet Products structuré pour les données produit.
  • Un onglet ProductOptions structuré pour poser les noms d'options sur chaque produit.
  • Un onglet ProductVariants structuré pour créer les variantes vendables avec prix, SKU et autres données de variante.
  • Une méthode réutilisable pour les prochains lancements catalogue.

Prérequis

Avant de commencer, vérifiez que vous avez:

Étape 1 Préparer la structure du classeur

Créez un classeur avec trois onglets:

  • Products
  • ProductOptions
  • ProductVariants

Pourquoi cette structure fonctionne bien:

  • Products contient le contenu produit, le merchandising et le SEO.
  • ProductOptions sert à faire connaître à Shopify le nom d'option utilisé par le mug dans ce guide, à savoir Color.
  • ProductVariants sert à créer les combinaisons réellement vendables avec le prix, le SKU et les données liées à la variante.

Gardez une logique simple:

  • Une ligne dans Products = un produit.
  • Une ligne dans ProductOptions = une ligne de création d'option pour un produit.
  • Une ligne dans ProductVariants = une variante vendable.

Étape 2 Générer le template de création Products dans ShopFlow

Dans le panneau ShopFlow, passez de Read à Write.

Sélectionnez ensuite Create Product (productCreate).

Prenez cette base de champs:

  • title
  • handle
  • descriptionHtml
  • vendor
  • productType
  • status
  • SEO > Title
  • SEO > Description

Cliquez ensuite sur Load pour générer le tableau Excel.

Pourquoi ces champs sont importants:

  • title est le nom visible côté client et sert aussi de base de repli pour le handle.
  • handle vous donne une URL propre et prévisible. Mieux vaut le contrôler plutôt que laisser Shopify le générer.
  • descriptionHtml permet d'avoir une fiche produit lisible avec un minimum de mise en forme.
  • vendor et productType facilitent le filtrage, le reporting et le nettoyage catalogue plus tard.
  • status aide à piloter la préparation du catalogue dans l'admin.
  • seo.title et seo.description améliorent la qualité des snippets moteurs de recherche dès le départ.

Template de création Products avec champs sélectionnés

Étape 3 Remplir l'onglet Products et exécuter la création

Remplissez chaque ligne produit avec des données complètes et cohérentes.

Exemple de ligne:

  • title: Dawn Embrace Mug
  • handle: dawn-embrace-mug
  • descriptionHtml: description claire du produit avec un peu de HTML si nécessaire
  • vendor: Sunrise Ceramics
  • productType: Mug
  • status: ACTIVE
  • SEO > Title: Dawn Embrace Mug mug céramique
  • SEO > Description: Mug céramique du quotidien, géré en masse depuis Excel avec ShopFlow.

Cliquez sur Publish dans ShopFlow pour exécuter la mutation.

Distinction importante:

  • Dans ShopFlow, Publish veut dire « envoyer la requête d'écriture ».
  • Dans Shopify, un produit créé via productCreate reste non publié sur les canaux de vente par défaut.

Donc cette étape crée bien le produit dans Shopify, mais ne le rend pas automatiquement visible sur la boutique.

Tableau Products rempli et prêt à publier

Étape 4 Vérifier la création et récupérer les IDs produit

Une fois l'écriture terminée:

  • Vérifiez les notifications de succès dans ShopFlow.
  • Repassez de Write à Read si nécessaire.
  • Lancez une requête de lecture products avec au moins:
    • id
    • title
    • handle

Vous réutiliserez ensuite id comme productId pour les étapes options et variantes.

Requête products avec id title handle

Étape 5 Créer les noms d'options avant les variantes

C'est le point qui crée le plus de confusion.

Shopify ne laisse pas productVariantsBulkCreate inventer les noms d'options sur un produit qui n'en a pas encore. Dans notre exemple de mug, le produit doit déjà savoir qu'il possède une option Color avant qu'une variante puisse référencer Red ou Green.

Repassez en Write et sélectionnez Create Product Option (productOptionsCreate).

Dans le template, gardez uniquement:

  • Product Id
  • Name (Options)
  • Name (Options > Values)

Cliquez ensuite sur Load.

Bonne manière d'utiliser cette étape:

  • Créez une ligne par nom d'option qui doit exister sur le produit.
  • Donnez à chaque option une valeur de départ.
  • N'essayez pas de décrire toutes les combinaisons finales ici.

Exemples:

Product Id: gid://shopify/Product/...
Name (Options): Color
Name (Options > Values): Red

Pourquoi une seule valeur de départ suffit souvent:

  • Le vrai but de cette étape est d'enregistrer le nom d'option sur le produit.
  • Dans notre histoire, cela veut dire que Shopify comprend maintenant que ce mug varie selon Color.
  • Une fois l'option créée, productVariantsBulkCreate pourra ensuite rattacher une valeur existante par nom ou créer une nouvelle valeur par nom.
  • En pratique, vous pouvez initialiser Red ici, puis créer Green directement à l'étape variantes.
  • Cela garde l'onglet ProductOptions compact et évite les erreurs de doublon sur le nom d'option.

Conseils pratiques:

  • Avec le variantStrategy par défaut, Shopify conserve la première variante existante.
  • Dans ce scénario mug, dès que vous initialisez Color = Red, considérez que Red est déjà la variante existante.
  • Ne recréez pas deux fois le même nom d'option pour un même produit.
  • Si vous avez déjà défini productOptions directement dans productCreate, vous pouvez sauter cette étape.

Cliquez sur Publish.

Template Product Option avec une valeur de base

Étape 6 Générer et remplir le template ProductVariants

Passez en Write et sélectionnez Create Product Variant (productVariantsBulkCreate).

Sélection recommandée pour démarrer:

  • productId
  • Variant > Option Values > Option Name
  • Variant > Option Values > Name
  • Variant > Price
  • Variant > Compare At Price
  • Variant > Inventory Item > SKU
  • Variant > Taxable

Cliquez ensuite sur Load.

Template Product Variant

Règles à respecter pour chaque ligne variante:

  • Renseignez productId récupéré à l'étape 4.
  • Donnez une valeur pour chaque option déjà présente sur le produit.
  • Ajoutez les données commerciales comme price, compareAtPrice si besoin et le SKU.

Nuance très importante:

  • Dans ce guide, le mug n'a qu'une seule option: Color.
  • Cela veut dire que chaque ligne variante reste simple: un nom d'option et une valeur d'option.
  • Une ligne reste donc égale à une variante finale achetable par le client.

Pour le mug, dans ce scénario précis, la ligne à créer est:

Product Id: gid://shopify/Product/...
Variant > Option Values > Option Name: Color
Variant > Option Values > Name: Green
Variant > Price: 19.90
Variant > Inventory Item > SKU: MUG-DAWN-GREEN

Autre point important:

  • Vous n'avez pas besoin de précharger toutes les futures valeurs dans productOptionsCreate.
  • Dans notre exemple, Red est déjà présent après l'étape 5, et Green est la variante que vous créez pendant productVariantsBulkCreate.
  • Si l'option existe déjà sur le produit, Shopify peut créer une nouvelle valeur pendant productVariantsBulkCreate quand vous l'envoyez par nom.
  • Si vous essayez de recréer Red ici, Shopify renverra une erreur car cette variante existe déjà.

Cliquez sur Publish.

Étape 7 Choisir si vous gardez ou remplacez la première variante

Après productCreate ou après l'étape d'initialisation des options, deux approches cohérentes existent:

  1. Garder la première variante Shopify et ne créer ensuite que les variantes manquantes.
  2. Reconstruire volontairement toute la liste des variantes avec productVariantsBulkCreate.

Cette distinction est importante parce que Shopify peut conserver ou supprimer la première variante standalone selon la stratégie utilisée lors du bulk create.

Recommandation pratique pour Excel:

  • Dans cet exemple de mug, Shopify conserve déjà Red comme première variante valide, donc l'étape 6 doit seulement créer la variante manquante, Green.
  • Si vous voulez que l'onglet variantes soit la seule source de vérité, utilisez la stratégie bulk appropriée et assurez-vous que l'onglet contient la liste finale complète pour le mug.

Le point clé est la cohérence. Mélanger les deux approches est souvent ce qui produit des variantes en double ou inattendues.

Étape 8 Contrôles finaux dans Shopify

Dans l'admin Shopify:

  1. Ouvrez Produits.
  2. Recherchez un produit créé.
  3. Ouvrez sa fiche.
  4. Vérifiez les noms d'options, la liste des variantes, les prix et les SKU.

Vérifiez aussi:

  • Que les noms d'options sur le produit sont exactement ceux référencés par les variantes.
  • Que le nombre de variantes correspond à votre fichier Excel.
  • Que la première variante a bien été gardée ou remplacée volontairement.

Si vous voulez rendre le produit visible pour les clients, faites ensuite l'étape de publication vers les canaux de vente une fois la structure catalogue terminée.

Produit créé visible dans l'admin Shopify

Il existe une autre manière avec productSet

Shopify propose aussi productSet, et oui, il permet lui aussi de construire exactement ce même mug d'une autre façon.

La différence est surtout dans la logique:

  • dans cet article, vous créez le produit étape par étape
  • avec productSet, vous raisonnez davantage comme une synchronisation complète de l'état du produit

Cette approche est puissante, mais elle mérite son propre article car les compromis ne sont pas les mêmes.

Dans le prochain blog, on reprendra exactement le même exemple de mug, toujours avec Red et Green, mais cette fois avec productSet, pour voir quand c'est plus rapide, quand c'est plus risqué, et pourquoi certaines équipes le préfèrent.

Erreurs fréquentes et correction rapide

  • PRODUCT_DOES_NOT_EXIST:

    • productId est invalide ou provient d'une autre boutique.
  • OPTION_VALUES_FOR_NUMBER_OF_UNKNOWN_OPTIONS:

    • La ligne variante ne correspond pas à la structure d'options du produit.
    • Vérifiez que chaque option existante du produit reçoit bien une valeur dans l'entrée variante.
  • NEED_TO_ADD_OPTION_VALUES:

    • Le produit n'a pas encore la bonne structure d'options, ou l'entrée variante est incomplète.
    • Créez ou initialisez d'abord l'option manquante, puis relancez la création des variantes.
  • erreur de doublon sur le nom d'option avec productOptionsCreate:

    • Vous essayez de créer un nom d'option qui existe déjà sur ce produit.
    • Créez le nom d'option une seule fois, puis laissez les variantes créer ou réutiliser les valeurs.
  • première variante en double ou inattendue:

    • Vous avez mélangé la stratégie « on garde la première variante » et la stratégie « on reconstruit toutes les variantes ».
    • Choisissez une seule stratégie et alignez l'onglet dessus.
  • The variant 'Red' already exists. (variants.0):

    • Red a déjà été conservée comme variante existante après l'étape d'option.
    • Dans ce flux, envoyez uniquement la ligne manquante Green dans productVariantsBulkCreate.
  • produit visible dans l'admin mais absent de la boutique:

    • L'écriture a bien fonctionné, mais le produit n'a pas été publié sur un canal de vente.
  • NEGATIVE_PRICE_VALUE:

    • Le prix doit être supérieur ou égal à 0.

Checklist SEO et qualité catalogue

Avant de considérer l'import terminé, vérifiez:

  • que handle est propre, lisible et unique
  • que seo.title et seo.description sont remplis sur les produits importants
  • que les titres, vendors et types produit sont homogènes dans tout le catalogue
  • que le schéma de SKU est assez cohérent pour le support, l'entrepôt et les futures mises à jour

Liens utiles