Guide
Comment importer des produits en masse dans Shopify
Shopify peut créer ou mettre à jour de nombreux produits à la fois à partir d’un fichier CSV. Voici comment fonctionne l’import, où il se complique, et que faire lorsque vos données produit se trouvent d’abord dans des PDF fournisseurs.
L’import CSV de produits de Shopify est la méthode standard pour ajouter un catalogue en masse. Vous préparez un tableur au format Shopify, vous le téléversez dans l’administration, et Shopify crée les produits, les variantes et les images.
Comme pour tout import, le résultat dépend des données que vous fournissez. Ce guide présente le processus CSV, les alternatives, et la préparation qui vous évite de corriger des centaines de produits après coup.
Option 1 : importer un CSV de produits dans l’administration Shopify
Dans l’administration Shopify, allez dans Produits et choisissez Importer. Téléversez un CSV au format produit de Shopify, indiquez si les produits dont le handle correspond doivent être écrasés, prévisualisez, puis confirmez. Shopify traite le fichier en arrière-plan et vous prévient lorsque c’est terminé.
- Partez du modèle de CSV de produits fourni par Shopify, ou exportez un produit existant pour voir les colonnes exactes.
- La colonne URL handle (Handle dans les anciens modèles) identifie un produit ; les lignes qui partagent le même handle sont des variantes ou des images supplémentaires du même produit.
- Les colonnes courantes comprennent Title, Description (Body (HTML)), Vendor, Product category, Type, Tags, Status, Option1 name / Option1 value, SKU (Variant SKU), Price, Barcodes (Variant Barcode) et Product image URL (Image Src).
- Les images sont récupérées à partir d’URL publiques au moment de l’import.
- Enregistrez le fichier en CSV UTF-8 pour conserver les caractères spéciaux.
Gérer correctement les variantes
Les variantes font trébucher la plupart des premiers imports. Chaque produit peut avoir jusqu’à trois options (par exemple Taille, Couleur, Matière). La première ligne d’un produit porte les champs au niveau du produit et les noms d’options ; chaque ligne suivante ayant le même handle ajoute une variante avec ses valeurs d’options, son SKU, son prix et son stock.
Conservez des noms d’options identiques d’une ligne à l’autre et une combinaison de valeurs d’options unique pour chaque variante, afin que chaque ligne corresponde à une seule variante. Une ligne qui comporte des colonnes de variante mais ni Option1 name ni Option1 value amène Shopify à créer une variante par défaut et à supprimer les variantes existantes.
Option 2 : applications d’import en masse
Les applications d’import de la boutique d’applications Shopify prolongent le CSV natif : prise en charge d’Excel et de Google Sheets, métachamps, imports planifiés depuis des flux fournisseurs et migration depuis d’autres plateformes. Elles valent la peine d’être envisagées si vous importez régulièrement ou si vous avez besoin de champs que le CSV standard ne couvre pas.
Option 3 : l’API Admin de Shopify
Les applications et les intégrations sur mesure peuvent créer des produits via l’API Admin de Shopify plutôt que par un fichier CSV. Cela évite complètement les allers-retours avec un tableur et c’est ainsi que de nombreux outils de catalogue et de gestion de fiches créent des produits dans Shopify.
Doc2Shelf emprunte cette voie : vous connectez votre boutique via OAuth, et les fiches produit vérifiées sont créées sous forme de produits brouillons avec images, prix et catégories.
Préparer les données produit pour Shopify
Avant tout import en masse, vérifiez que :
- Chaque produit a un handle unique et chaque variante un SKU unique.
- Les titres suivent un même schéma (par exemple Marque + Produit + Attribut clé).
- Les descriptions sont rédigées par vos soins, et non collées depuis le texte du fournisseur, et utilisent du HTML simple.
- Les spécifications utilisent des unités et des noms cohérents afin de pouvoir devenir des options, des étiquettes ou des métachamps.
- Les produits sont d’abord importés non publiés, pour que vous puissiez vérifier un échantillon avant la mise en ligne.
Quand les données produit viennent de PDF fournisseurs
Un import CSV suppose que vous disposez déjà de données propres et structurées. Lorsque les fournisseurs envoient fiches de spécifications et catalogues en PDF, quelqu’un doit d’abord extraire les titres, les spécifications et les identifiants, et rédiger les descriptions — généralement la partie la plus lente de tout le travail.
Doc2Shelf remplace cette étape : il lit les PDF fournisseurs, extrait les données produit avec des indications de confiance pour la vérification, rédige le texte de la fiche Shopify et crée les produits vérifiés dans votre boutique connectée sous forme de brouillons, sans CSV.
Colonnes du CSV de produits Shopify : noms actuels et équivalents plus anciens
Shopify a renommé plusieurs colonnes du CSV de produits. Sa référence CSV actuelle utilise des libellés tels que URL handle, Description, SKU et Barcodes, alors que de nombreux modèles et tutoriels affichent encore Handle, Body (HTML), Variant SKU et Image Src. Shopify indique maintenir la rétrocompatibilité avec les anciens noms de colonnes, de sorte qu’un ancien fichier s’importe toujours — mais un nouvel export utilise les libellés actuels, et un fichier qui mélange les deux styles est difficile à vérifier.
Le tableau couvre les colonnes dont la plupart des imports en masse ont besoin. Le renommage de Barcode en Barcodes est indiqué dans la documentation de Shopify ; les autres anciens libellés sont associés d’après le contenu de chaque champ, confirmez-les donc à l’aide d’un export de votre propre boutique. Les en-têtes sont sensibles à la casse.
| Colonne actuelle | Ce qu’elle contient | Exemple | Ancien libellé ou remarques |
|---|---|---|---|
| Title | Nom du produit | Bouilloire en acier inoxydable 1,7 L | Obligatoire pour créer un produit. |
| URL handle | Identifiant unique du produit utilisé dans l’URL du produit | steel-kettle | Les anciens modèles l’appellent Handle. Les lignes qui partagent un handle appartiennent à un même produit. |
| Description | Description du produit | Bouilloire sans fil avec… | Les anciens modèles l’appellent Body (HTML). |
| Vendor | Marque ou fabricant | Acme | — |
| Product category | Catégorie de la Standard Product Taxonomy | hg-15-1-2 | Chemin complet ou identifiant de catégorie, pas les deux. |
| Type | Votre propre type de produit | Bouilloire électrique | Texte libre, contrairement à la catégorie. |
| Tags | Tags séparés par des virgules | sans fil, cuisine | Jusqu’à 250 tags par produit. |
| Status | Statut du produit | draft | Importez en brouillon, vérifiez, puis activez. |
| SKU | SKU de la variante | KTL-SLV | Les anciens modèles l’appellent Variant SKU. |
| Barcodes | Codes-barres de la variante | gtin:4006381333931 | Anciennement Barcode (et auparavant Variant Barcode). Séparez-en plusieurs par des points-virgules ; le préfixe de type est facultatif. |
| Option1 name / Option1 value | Première option et valeur de cette variante | Couleur / Argent | Option2 et Option3 suivent le même schéma. |
| Option1 LinkedTo | Lien entre l’option et un métachamp de catégorie | product.metafields.shopify.[attribute] | Facultatif ; voir la section sur la taxonomie ci-dessous. |
| Price / Compare-at price | Prix de vente et prix de comparaison | 49.90 / 59.90 | Prix / colonnes [Market] : prix propres à chaque marché. |
| Inventory quantity | Stock disponible | 25 | Fonctionne avec la colonne Inventory tracker. |
| Weight value (grams) | Poids de la variante en grammes | 1200 | Les anciens modèles l’appellent Variant Grams. Weight unit for display définit l’unité que voient les acheteurs. |
| Product image URL | URL publique d’une image du produit | https://cdn.example.com/kettle.jpg | Les anciens modèles l’appellent Image Src. |
| Image position / Image alt text | Ordre de la galerie et texte alternatif | 1 / Bouilloire en acier, vue de face | Texte alternatif de 512 caractères maximum. |
| Variant image URL | Image affichée lorsque cette variante est sélectionnée | https://cdn.example.com/kettle-black.jpg | — |
| SEO title / SEO description | Titre et méta-description pour les résultats de recherche | — | Jusqu’à 70 et 320 caractères. |
| Colonnes de métachamps | Valeurs des métachamps du produit | Material (product.metafields.custom.material) | Format d’en-tête : Name (product.metafields.namespace.key). |
Variantes et options : limites et pièges
Un produit Shopify peut avoir jusqu’à trois options — par exemple Taille, Couleur et Matière — et jusqu’à 2 048 variantes. La limite était de 100 variantes jusqu’à ce que Shopify la relève en octobre 2025 ; les modèles et guides antérieurs citent donc encore l’ancien chiffre. Certains thèmes, applications et canaux de vente ont été conçus autour de l’ancienne limite : vérifiez les vôtres avant d’importer un produit comptant des centaines de variantes.
La première ligne d’un produit contient les champs au niveau du produit et les noms d’options. Chaque ligne suivante portant le même URL handle ajoute une variante avec sa valeur d’option, son SKU, son prix, son poids et son stock, et laisse vides les champs au niveau du produit.
Deux comportements piègent les imports de mise à jour. Si une ligne contient des colonnes de variante comme SKU ou poids mais omet Option1 name et Option1 value, Shopify crée une variante par défaut et supprime les variantes existantes. Et modifier une valeur d’option — renommer « Argent » en « Argenté », par exemple — supprime les identifiants de variante et en crée de nouveaux, ce qui peut perturber les applications et les flux qui font référence à ces identifiants.
| Ligne | URL handle | Title | Option1 name | Option1 value | SKU |
|---|---|---|---|---|---|
| Première ligne | steel-kettle | Bouilloire en acier | Couleur | Argent | KTL-SLV |
| Ligne suivante | steel-kettle | (vide) | (vide) | Noir | KTL-BLK |
Images produit dans un CSV Shopify
Shopify télécharge les images depuis la colonne Product image URL pendant l’import : chaque URL doit donc être publiquement accessible et pointer directement vers le fichier image. Les liens qui exigent une connexion, ouvrent une page d’aperçu ou expirent avant l’exécution de l’import sont les causes habituelles d’images manquantes.
Un produit peut contenir jusqu’à 250 images ou autres médias. Placez la première image sur la première ligne du produit ; ajoutez chaque image supplémentaire sur sa propre ligne avec le même URL handle, l’URL de l’image, son Image position et son Image alt text. Pour afficher une image précise lorsqu’un acheteur choisit une variante, placez son URL dans Variant image URL sur la ligne de cette variante.
Le texte alternatif peut compter jusqu’à 512 caractères, et Shopify recommande 125 ou moins. Décrivez ce que montre l’image — « Bouilloire en acier inoxydable, vue de face avec indicateur de niveau d’eau » — plutôt que de répéter le titre du produit.
Catégorie de produit, métachamps et Standard Product Taxonomy
La colonne Product category attribue une catégorie de la Standard Product Taxonomy de Shopify, choisie selon la fonction principale du produit. Saisissez soit le chemin complet, tel que Home & Garden > Linens & Bedding > Bedding > Bed Sheets, soit l’identifiant de catégorie, tel que hg-15-1-2 — pas les deux. Un produit sans catégorie est considéré comme non catégorisé.
Renseigner une catégorie donne accès à ses métachamps de catégorie, que la taxonomie appelle attributs produit. La catégorie Shirts de Shopify, par exemple, en compte neuf, dont la taille, l’encolure, le tissu et la couleur, et les valeurs de couleur peuvent s’afficher sous forme de pastilles. La colonne Option1 LinkedTo relie une option de variante à l’un de ces métachamps de catégorie.
La catégorie compte au-delà de la navigation : Shopify Tax s’en sert pour déterminer les taux de taxe. Type, en revanche, est une étiquette libre que vous définissez vous-même, utile pour vos propres filtres et rapports.
Les métachamps personnalisés de produit s’importent via des colonnes intitulées Name (product.metafields.namespace.key), par exemple Matériau (product.metafields.custom.material). Les métachamps de variante ne sont pas pris en charge dans le CSV de produits : définissez-les dans l’administration, avec une application ou via l’API.
Limites du CSV Shopify et longueurs des champs SEO
Voici les limites que Shopify documente pour les imports CSV de produits et les fiches produit. Les chiffres des anciens guides — notamment la limite de 100 variantes — sont obsolètes.
Les colonnes SEO title et SEO description renseignent le titre et la méta-description utilisés dans les résultats de recherche. Rédigez-les pour chaque produit au lieu de copier un même schéma dans tout le catalogue : commencez par le nom du produit et l’attribut que recherchent les acheteurs, comme la taille, le matériau ou la référence du modèle.
| Élément | Limite | Que faire |
|---|---|---|
| Taille du fichier CSV | 15 Mo | Scindez les gros catalogues ; gardez toutes les lignes d’un produit dans un même fichier. |
| Options par produit | 3 | Modélisez les différences supplémentaires sous forme de produits distincts ou de métachamps. |
| Variantes par produit | 2 048 | Vérifiez que votre thème et vos applications gèrent un grand nombre de variantes. |
| Images et médias par produit | 250 | Limitez la galerie aux images qui aident les acheteurs à décider. |
| Tags par produit | 250 | Utilisez les tags pour le filtrage et l’automatisation. |
| Codes-barres par produit ou variante | 20 | Ajoutez un préfixe de type comme gtin: lorsque vous connaissez le type. |
| SEO title | 70 caractères | Commencez par le nom du produit et l’attribut clé. |
| SEO description | 320 caractères | Résumez le produit en plaçant d’abord les informations clés. |
| Texte alternatif de l’image | 512 caractères (125 ou moins recommandés) | Décrivez ce que montre l’image. |
Écraser ou créer : comment se comportent les mises à jour
Pour créer un produit, le CSV n’a besoin que d’un Title ; l’ajout de variantes exige aussi l’URL handle. Pour mettre à jour un produit existant, Shopify a besoin de l’URL handle et du Title, et vous choisissez d’écraser les produits dont le handle correspond au lancement de l’import.
Considérez un écrasement comme faisant autorité pour chaque colonne que vous incluez. Le schéma le plus sûr est exporter, modifier, réimporter : exportez les produits à modifier, ne changez que les cellules concernées, laissez les colonnes d’options en place et importez le fichier modifié avec l’écrasement activé. Un fichier épars construit de zéro facilite le déclenchement de la suppression de variantes décrite plus haut.
Lisez l’aperçu de l’import avant de confirmer, et testez d’abord une grosse mise à jour sur une poignée de produits. L’export que vous avez fait avant de modifier est votre retour en arrière en cas de problème.
Checklist avant import et dépannage
Parcourez ces étapes avant un gros import ; le tableau qui suit couvre les problèmes les plus fréquents.
- Exportez un produit de votre boutique et réutilisez sa ligne d’en-tête, afin que les noms de colonnes correspondent exactement.
- Attribuez un URL handle unique à chaque produit et un SKU unique à chaque variante.
- Vérifiez l’orthographe cohérente des noms et valeurs d’options, et confirmez que chaque ligne de variante comporte sa valeur d’option.
- Renseignez Product category avec un chemin ou un identifiant copié depuis la taxonomie.
- Ouvrez un échantillon d’URL d’images dans une fenêtre de navigation privée pour confirmer qu’elles se chargent sans connexion.
- Définissez Status sur draft pour le premier essai.
- Enregistrez en CSV UTF-8 et vérifiez que le fichier fait moins de 15 Mo.
- Importez de cinq à dix produits, vérifiez-les dans l’administration et sur la boutique, puis importez le reste.
| Problème | Cause probable | Solution |
|---|---|---|
| Fichier rejeté | Plus de 15 Mo, ou non enregistré en CSV UTF-8 | Scindez le fichier par produit et enregistrez-le à nouveau en CSV UTF-8 |
| Colonne ignorée | En-tête mal orthographié ou avec une casse différente | Copiez les en-têtes depuis un export récent |
| Variantes disparues après une mise à jour | Colonnes de variante envoyées sans Option1 name et value | Réimportez avec les colonnes d’options incluses |
| Applications ayant perdu la trace des variantes | Une valeur d’option a été renommée, ce qui a créé de nouveaux identifiants de variante | Renommez les valeurs d’options de façon délibérée et reconnectez les applications concernées |
| Produits scindés ou fusionnés à tort | L’URL handle diffère d’une ligne à l’autre d’un même produit | Utilisez un seul handle identique par produit |
| Images manquantes | URL non publique, lien qui ne pointe pas directement vers le fichier, ou expiré | Hébergez les images à des URL publiques stables |
| Catégorie non définie | Chemin mal saisi, ou chemin et identifiant fournis ensemble | Utilisez-en un seul, copié depuis la taxonomie |
| Code-barres non accepté | La longueur ne correspond pas au type indiqué | GTIN : 8, 12, 13 ou 14 chiffres ; UPC : 8 ou 12 ; EAN : 8 ou 13 |
| Valeurs de métachamp manquantes | Mauvais format d’en-tête, ou métachamp de variante | Utilisez Name (product.metafields.namespace.key) ; définissez les métachamps de variante ailleurs |
Questions fréquentes
- Comment importer gratuitement des produits en masse dans Shopify ?
- Utilisez l’import CSV intégré sous Produits → Importer. Il est inclus dans toutes les formules Shopify et gère les produits, les variantes et les images à partir d’un fichier CSV au format Shopify.
- Puis-je importer des produits dans Shopify depuis Excel ?
- L’importeur natif exige un CSV ; enregistrez donc votre feuille Excel en CSV UTF-8 avec les noms de colonnes de Shopify. Certaines applications d’import savent lire directement les fichiers Excel.
- Un import CSV écrasera-t-il mes produits existants ?
- Les produits existants ne sont mis à jour que si vous choisissez l’option d’écraser les produits dont le handle correspond. Vérifiez l’aperçu de l’import avant de confirmer et testez d’abord avec un petit fichier.
- Pourquoi mes images ne sont-elles pas importées ?
- Les URL d’images doivent être des liens directs publiquement accessibles vers des fichiers image. Les liens qui exigent une connexion, qui redirigent vers une page web ou qui proviennent d’un partage de fichiers temporaire échouent généralement.
- Quelles colonnes sont obligatoires dans un CSV de produits Shopify ?
- Seul le Title est obligatoire pour créer un produit, auquel s’ajoute l’URL handle lorsque vous ajoutez des variantes. Pour mettre à jour des produits existants, incluez l’URL handle et le Title. Tout le reste est facultatif, même si une fiche produit exploitable nécessite normalement un prix, un SKU, une catégorie, une description et des images.
- Combien de variantes un produit Shopify peut-il avoir ?
- Jusqu’à 2 048 variantes réparties sur trois options au maximum. Shopify a relevé la limite de 100 en octobre 2025 ; les anciens modèles et guides qui indiquent encore 100 sont donc obsolètes.
- Puis-je importer des métachamps avec un CSV Shopify ?
- Pour les métachamps de produit, oui : ajoutez une colonne intitulée Name (product.metafields.namespace.key). Les métachamps de variante ne sont pas pris en charge dans le CSV produit ; il faut les définir dans l’interface d’administration, avec une application ou via l’API.
- Quelle est la taille maximale d’un CSV produit Shopify ?
- Un CSV produit ne peut pas dépasser 15 Mo. Répartissez les catalogues plus volumineux en plusieurs fichiers et conservez toutes les lignes d’un même produit dans le même fichier.