仕入先から受け取ったCSVをそのままShopifyにインポートしても、列の並びや形式が合わずエラーになることがほとんどです。変換ツールを動かす前に、まず「仕入先CSVのどの列をShopify CSVのどの列に対応させるか」を整理しておくことが大切です。この記事では、変換前に確認すべき列対応表の作成手順と、よくあるつまずきポイントをまとめます。
なぜ「変換前に整理する」が必要なのか
仕入先ごとにCSVのフォーマットは異なります。列名、並び順、文字コード、日付形式がバラバラです。Shopifyが受け付ける商品CSVも、決まった列名と形式があります。
両者を対応させる「マッピング」を明確にしておかないと、次のような問題が起きます。
- 必須列が欠けていてインポートエラーになる
- 価格や在庫数の列がずれて間違った値が入る
- 文字化けや改行の崩れでデータが途切れる
- 変換後の修正に手戻りが大きくなる
まずは両方のCSVのヘッダー行(1行目)を並べて、対応関係を書き出すところから始めましょう。
Shopify商品CSVの主な必須列
Shopifyの商品CSVで最低限必要な列を確認しておきます。
| Shopifyの列名 | 役割 | 必須かどうか |
|---|---|---|
| Title | 商品名 | 必須(最初の行) |
| Handle | URL用の識別子。重複不可 | 必須 |
| Variant SKU | SKUコード | 推奨 |
| Variant Price | 販売価格 | 必須(バリアント行) |
| Inventory quantity | 在庫数(単一ロケーション前提) | 推奨(※複数ロケーションの場合はinventory CSVを使用) |
| Variant Barcode | JAN・バーコード | 任意 |
| Image Src | 商品画像URL | 任意 |
| Body HTML | 商品説明文 | 任意 |
| Vendor | 仕入先・ブランド名 | 任意 |
| Product Category | 商品カテゴリ | 任意 |
| Published | 公開状態(TRUE/FALSE) | 任意 |
Handleは商品ごとに一意である必要があります。英数字とハイフンのみ使用でき、商品名から自動生成することもできます。
在庫数の取り扱いには注意が必要です。上記のInventory quantityは単一ロケーション前提の商品CSVで在庫を管理する場合に使用します。複数の倉庫や店舗など複数ロケーションで在庫を管理している場合は、商品CSVではなくinventory CSV(在庫CSV)を使ってロケーションごとの在庫数を管理する必要があります。仕入先CSVの在庫数をShopifyに反映する際は、運用中のロケーション構成に合わせて商品CSVとinventory CSVのどちらを使うかを決めてください。
列対応表(マッピング表)の作成手順
手順1:両方のCSVヘッダーを取り出す
仕入先CSVの1行目と、Shopify CSVの1行目をそれぞれテキストエディタに貼り付けます。
# 仕入先CSVのヘッダー例
商品コード,商品名,上代,下代,JANコード,カラー,サイズ,画像URL,カテゴリ,在庫数
# Shopify CSVのヘッダー例(抜粋)
Handle,Title,Body HTML,Vendor,Product Category,Type,Tags,Published,Variant SKU,Variant Price,Variant Compare At Price,Variant Barcode,Inventory quantity,Image Src
手順2:対応する列を線で結ぶ
スプレッドシートや紙に両方の列名を書き出し、どの列をどの列に変換するかを決めます。
| 仕入先CSVの列 | Shopify CSVの列 | 変換ルール | 備考 |
|---|---|---|---|
| 商品名 | Title | そのままコピー | 全角スペースや特殊文字に注意 |
| 商品コード | Handle | 英数字以外をハイフンに置換 | 重複しないこと |
| 商品コード | Variant SKU | そのままコピー | HandleとSKUを同じ値にすることも可 |
| 下代 | Variant Price | 数値のみに整形(カンマ除去) | 税込・税外の確認が必要 |
| 上代 | Variant Compare At Price | 数値のみに整形 | 希望小売価格として表示 |
| JANコード | Variant Barcode | そのままコピー | ハイフン除去の必要性を確認 |
| 画像URL | Image Src | URLとして有効か確認 | 空白の場合は後で画像を追加 |
| カテゴリ | Product Category | Shopifyカテゴリ名に変換 | 名前の対応表を別途作成 |
| 在庫数 | Inventory quantity | 数値のみに整形 | 商品CSVは単一ロケーション前提。複数拠点の場合はinventory CSVを別途用意 |
| (なし) | Vendor | 仕入先名を固定値で設定 | 全商品に共通 |
| (なし) | Published | FALSE を固定値で設定 | 確認後に手動で公開 |
手順3:対応先がない列を確認する
仕入先CSVにあってShopify CSVにそのまま入れられない列を洗い出します。
- カラー・サイズなどのバリアント情報 → Shopifyでは別の列(Option1 Name / Option1 Value など)に分けて入力する必要がある
- 仕入先独自のステータス列 → Shopify側の対応列がないため、変換対象から外す
- 複数行にわたる商品説明 → HTMLタグに変換して Body HTML に入れるか、別途用意する
手順4:デフォルト値を決める
仕入先CSVに該当データがなくても、Shopify側で設定しておきたい項目のデフォルト値を決めておきます。
| Shopify列 | デフォルト値 | 理由 |
|---|---|---|
| Vendor | 仕入先名(固定) | フィルター用に統一 |
| Published | FALSE | 内容確認後に手動公開するため |
| Variant Inventory Tracked | TRUE | 在庫管理を行う場合 |
| ※在庫数の反映先 | 単一ロケーションの場合は商品CSV、複数ロケーションの場合はinventory CSVに分ける | 複数拠点の在庫を一括管理する際はinventory CSVが必要 |
| Variant Inventory Policy | deny | 在庫なし時は購入不可にする |
| Variant Taxable | TRUE | 課税対象商品の場合 |
手順5:1商品だけでテスト変換する
マッピング表ができたら、まずは1行だけ変換してShopifyにインポートできるか確認します。複数バリアントがある場合は、その商品の全バリアント行をまとめてテストします。
よくある変換時の注意点
文字コード
仕入先CSVがShift-JISの場合が多く、ShopifyはUTF-8を前提としています。変換前に文字コードを確認し、必要に応じてUTF-8に変換します。
価格の整形
「¥1,980」や「1,980円」のようにカンマや通貨記号が含まれている場合、数値のみに変換する必要があります。
# 変換前
¥1,980
# 変換後
1980
バリアントの展開
カラー・サイズなどが1行にまとまっている場合、Shopifyではバリアントごとに1行ずつ展開する必要があります。
| ケース | 仕入先CSVでの表現 | Shopify CSVでの表現 |
|---|---|---|
| 1商品1サイズ | 1行 | 1行 |
| 1商品3カラー | 1行に「赤/青/黒」 | 3行(Handleは同じ) |
| 2サイズ×3カラー | 1行に組み合わせ一覧 | 6行(Handleは同じ) |
自動で確認できる部分
次の項目は、スクリプトやツールで機械的にチェックできます。
- 仕入先CSVの列がすべてマッピング表に含まれているか
- Shopifyの必須列(Title, Handle, Variant Price)がすべて何らかの値で埋まるか
- Handleの一意性(重複していないか)
- Variant Priceが数値として有効か(カンマや通貨記号が混じっていないか)
- JANコードの桁数が妥当か(8桁または13桁)
- 画像URLが http または https で始まっているか
- 文字コードがUTF-8であるか
- 改行コードが統一されているか
人間が判断すべき部分
次の項目は、運用方針やビジネス判断が必要です。
- どの仕入先列をTitleに使い、どの列をDescription(Body HTML)に使うか
- 販売価格(Variant Price)を仕切り値からどう設定するか(マークアップ率の決定)
- バリアントをどう展開するか(カラー×サイズなど)
- 在庫なし商品をどう扱うか(非表示にするか、在庫なしで表示するか)
- 商品カテゴリをShopifyのどのカテゴリに分類するか
- 仕入先の更新頻度に合わせて、定期的に再インポートするかどうか
変換前チェックリスト
変換作業を始める前に、次の項目を確認してください。
| # | 確認項目 | 確認済み |
|---|---|---|
| 1 | 仕入先CSVのサンプル(ヘッダー+数行)を入手した | □ |
| 2 | Shopify商品CSVのテンプレートを確認した | □ |
| 3 | 列対応表(マッピング表)を作成した | □ |
| 4 | 必須列がすべてカバーされていることを確認した | □ |
| 5 | 文字コードがUTF-8であることを確認した | □ |
| 6 | デフォルト値を決定した | □ |
| 7 | バリアント展開のルールを決めた | □ |
| 8 | 1商品でテスト変換を行った | □ |
| 9 | 価格設定の方針を決めた | □ |
| 10 | エラー発生時の連絡先・対応フローを確認した | □ |
まとめ
仕入先CSVをShopify CSVに変換する前の段階で、列対応表をしっかり作っておくことで、変換後の手戻りを大幅に減らせます。特に必須列のカバー、価格の整形、バリアントの展開は、事前に決めておくべき重要ポイントです。
1商品だけのテストインポートで問題なければ、そのマッピング表を基に一括変換に進むことができます。
相談時に用意するとよい情報
- 仕入先CSVのサンプル(ヘッダー+数行分で構いません)
- ShopifyストアのURL
- 変換したい商品のおおよその件数
- バリアントの有無(カラー・サイズなど)
- 販売価格の設定方針(仕切り値に対するマークアップ率など)
- これまでに試したインポート手順(エラーメッセージがあれば添えてください)
初回相談では機密CSVやスクリーンショットの送付は不要です。まずはお気軽にご相談ください。
参考にした公式情報
- Shopify Help Center: Product details
- Shopify Help Center: Using CSV files to import and export products
Shopify CSV / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。
無料診断を依頼する
