Shopify の CSV インポートエラー:よくある原因と対処法
Shopify の CSV インポートでよくあるエラーの完全ガイドです。列の欠落、無効な真偽値、バリエーション構造の問題、価格のエラー、handle の衝突を扱います。
- ✓Shopify の CSV インポートでよくあるエラーとその原因
- ✓Shopify が商品、バリエーション、handle、必須フィールドをどう検証するか
- ✓列の欠落、無効な真偽値、価格エラーの直し方
- ✓商品が分かれたり消えたりするバリエーション構造の問題の見つけ方
- ✓公式の Shopify テンプレートでインポートの失敗を防ぐ方法
CSV を修正しますか?アップロードするとすぐに検証と自動修正が行われます。
CSV修正ツールを開くShopify は CSV インポートをどう検証するか
商品 CSV をインポートすると、Shopify はすべての行を複数の段階で検証します。
- 見出しのチェック:必須の列がそろっているか
- handle によるグループ化:同じ Handle を持つ行を1つの商品にまとめる
- フィールドの検証:データ型、必須の値、使える値を確認する
- 衝突の検出:既存の商品と handle や SKU がぶつかっていないか
どの段階でエラーが起きても、その行は失敗します。Shopify は有効な行だけを取り込んで失敗した行をスキップすることが多いため、先にすべてのエラーを直しておかないと、一部だけが取り込まれた状態になることがあります。
エラー:必須の列がない
メッセージ:「Your CSV file is missing the following columns: Handle, Title...」
原因:必須の列が1つ以上見出し行にない、綴りが違う、または大文字・小文字が違います。
Shopify の必須列:
| 列 | 補足 |
|---|---|
| Handle | URL に使える短い名前。バリエーションをまとめる |
| Title | 商品名 |
| Variant Price | すべてのバリエーション行の価格 |
対処法:
- 見出し行を公式の Shopify 商品 CSV テンプレートと比べる
- 大文字・小文字を確認する:
handleではなくHandle、Variant priceではなくVariant Price - 列名の前後にスペースがないか確認する(Excel ではなくテキストエディタで開く)
- 最初の列が
Handle(先頭に BOM 付き)と表示される場合は、BOM なしの UTF-8 で保存し直す
エラー:無効な真偽値
メッセージ:行は取り込まれるが、Published、Gift Card、Requires Shipping の値が違う
原因:Shopify の真偽値の列は TRUE または FALSE(大文字)を前提としています。Yes、yes、1、true、True などは、すべてのフィールドで受け付けられるわけではありません。
対象の列:Published、Gift Card、Requires Shipping、Taxable
対処法:検索と置換ですべての表記をそろえます。
| 置換前 | 置換後 |
|---|---|
| Yes、yes、Y、true、1 | TRUE |
| No、no、N、false、0 | FALSE |
Excel では Ctrl+H(検索と置換)を使い、長い値の中の文字まで置き換えないよう「セル内容が完全に同一であるものを検索する」にチェックを入れます。
エラー:バリエーション価格が空または無効
メッセージ:「Variant Price can't be blank」、または価格が 0.00 で取り込まれる
原因:Variant Price が空、通貨記号を含む($19.99)、小数点にカンマを使っている(19,99)、または文字列になっています。
対処法:
- すべての行(親行もバリエーション行も)に
Variant Priceを入力する - 通貨記号を取り除く:検索と置換で
$を削除する - 小数点のカンマをピリオドに置き換える:
19,99→19.99 - 保存前に Excel で列の書式を数値にする(記号が再び付かないようにする)
エラー:バリエーション構造/オプション列がない
メッセージ:商品がバリエーションなしで取り込まれる、またはバリエーションが別々の商品として表示される
原因:Handle は正しく使われている(同じ商品の行はすべて同じ値)のに、オプション列が間違っています。
- 一部の行で
Option1 NameやOption1 Valueがない、または空 - 同じグループの行どうしでオプション列の名前がそろっていない
- 同じ商品になるはずの行で handle が違う
バリエーション行のルール:
- 同じ商品の行はすべて、まったく同じ
Handleにする - すべての行に
Option1 NameとOption1 Valueを入れる - オプションが3つある場合は、すべての行に
Option1、Option2、Option3の列を用意する Option1 Name(例:Size)はグループ内のすべての行で同じにし、変えるのはOption1 Valueだけにする
正しいバリエーション構造の例:
Handle,Title,Option1 Name,Option1 Value,Variant Price
blue-shirt,Blue T-Shirt,Size,Small,19.99
blue-shirt,,Size,Medium,21.99
blue-shirt,,Size,Large,21.99
エラー:handle の重複
メッセージ:商品どうしが上書きし合う、またはバリエーションのまとまりが崩れる
原因:関係のない2つの商品が同じ Handle を使っています。Shopify は Handle が同じ行をすべて1つの商品にまとめるため、Handle が重複すると別々の商品が1つに統合されてしまいます。
対処法:商品ごとに一意の Handle を付けます。Handle は URL に使える形式にする必要があり、使えるのは半角英小文字、数字、ハイフンだけです。スペースや特殊文字は使えません。
既存の商品を更新していて、その Handle がすでに Shopify にある場合は意図どおりの動作で、インポートでその商品が更新されます。しかし新しい商品がうっかり既存の商品と同じ Handle になっていると、既存の商品のデータが上書きされます。
エラー:SKU の衝突
メッセージ:商品は取り込まれるが在庫が合わない、または SKU が重複していると報告される
原因:同じ SKU が2つの行(または2つの商品)にあります。Shopify は在庫管理に SKU を使うため、SKU が重複していると在庫が誤って合算されます。
対処法:すべてのバリエーション行の SKU を一意にします。SKU による在庫管理をしていなければ SKU は空欄でも構いませんが、行どうしで重複させてはいけません。
エラー:画像が取り込まれない
メッセージ:商品は取り込まれるが画像がない
原因:
Image Srcの URL が一般公開された HTTPS の URL ではない- URL に、エンコードが必要なスペースや特殊文字が含まれている
- 画像の形式に対応していない(Shopify は JPG、JPEG、PNG、GIF、WEBP に対応)
対処法:画像の URL をそれぞれブラウザで開き、画像が直接表示されるか確認します。Google ドライブ、Dropbox、localhost にある画像は、インポート前に公開されたホスティング先へ移す必要があります。
StriveFormats で自動修正
Shopify の CSV を StriveFormats にアップロードしてください。必須の列、真偽値の形式、バリエーション構造、価格のフィールド、handle の重複をすべてチェックし、安全に直せる問題はワンクリックで自動修正します。
CSVをStriveFormatsにアップロードして、即座に検証・自動修正・クリーンなエクスポートを行いましょう。