結論:CSVインポートは「上書き」だから、元のタグを自分で保持しないと消える
Shopifyの商品CSVでTags列を編集してインポートすると、そのセルの内容で既存タグがすべて置き換わります。新しいタグだけを書いてインポートすると、書かなかったタグはすべて消える仕組みです。これを防ぐには、①現在のTags列をエクスポートして確認する、②追加したいタグだけを追記する、③インポート前に差分を検証するという3ステップを踏むのが最も確実です。
Tags列の仕組みをおさらいする
CSV内でのタグの書式
Shopifyの商品CSVでは、Tags列は1つのセル内にカンマ区切りでタグを並べる形式です。たとえば次のようになります。
新商品,セール,夏季コレクション
ここで気をつけたいポイントは2つあります。
- セルの区切り文字(CSVのカンマ)と、タグの区切り文字(同じくカンマ)が同じ記号なので、スプレッドシートで開くとタグが別列に分裂することがある
- タグ名にカンマを含めることはできない(カンマは区切りとして扱われる)
インポート時の挙動:完全上書き
CSVインポートでTags列を含めると、その商品のタグ全体がCSVの値で上書きされます。「追加」ではなく「置き換え」です。つまり次のような挙動になります。
| 操作 | 元のタグ | CSVに書いたTags | インポート後 |
|---|---|---|---|
| タグを追加したい | A, B | A, B, C | A, B, C(正しい) |
| タグを追加(間違い) | A, B | C | C(AとBが消えた) |
| 特定タグを削除したい | A, B, C | A, C | A, C(Bだけ削除された) |
| Tags列を空にした | A, B, C | (空) | なし(全タグ消去) |
| Tags列を省略した | A, B, C | (列なし) | A, B, C(変更なし) |
Tags列そのものをCSVから省略した場合は既存タグが維持されます。しかし、他の列も編集している場合はTags列を省略できないことが多く、結局は「正しいタグ一覧を書く」必要が出てきます。
安全なタグ編集ワークフロー
ステップ1:現在のTags列をエクスポートして保存
まず、管理画面から商品CSVをエクスポートします。このとき、Handle(ハンドル)列とTags列のペアを別シートにコピーして保存しておきます。これが「変更前」の記録です。
エクスポート時の注意点:
- 「すべての列」を選んでエクスポートする(一部列だとTagsが含まれないことがある)
- エクスポート直後のファイルを「変更前」としてそのまま開かず別名保存する(誤操作防止)
- スプレッドシートで開くときは「区切り文字としてカンマ」を正しく指定する
ステップ2:追加・削除したいタグを反映する
作業用シートでTags列を編集します。ここでの鉄則は「既存のタグ一覧に対して、追記または削除を行う」ことです。新しいタグだけを書くのではなく、残したいタグもすべて含めます。
たとえば「セール」というタグを全商品に追加したい場合:
変更前: 新商品,夏季コレクション
変更後: 新商品,夏季コレクション,セール
「旧価格」というタグを削除したい場合:
変更前: 旧価格,新商品,夏季コレクション
変更後: 新商品,夏季コレクション
スプレッドシートの関数を使えば、追加作業を半自動化できます。
=IF(A2="", "", IF(B2="", "セール", B2 & ",セール"))
ここでA2がHandle、B2が元のTags列だとします。元のタグが空なら「セール」だけ、すでにタグがあれば末尾に「,セール」を追加します。
ステップ3:差分を検証してからインポート
インポート前に、変更前と変更後のTags列を比較します。この比較で意図しないタグの消失や、タグの重複を発見できます。
検証のポイント:
- タグが減っていないか — 追加しかしていないはずなのにタグ数が減っていたら、上書きで消えた可能性が高い
- 重複タグがないか — 「セール,セール」のように同じタグが2回入っていないか確認する(Shopify側では自動でまとめられるが、見栄えが悪い上に意図の混同を招く)
- 空セルになっていないか — 編集ミスでTags列が空になっていると、インポート時に全タグが消える
- カンマの前後にスペースがないか — 「セール, 新商品」のようにスペースが入ると「 新商品」(先頭スペース付き)という別タグとして登録される
タグ操作別のCSV上の扱いまとめ
| やりたいこと | CSVでの正しい書き方 | よくある間違い |
|---|---|---|
| タグを追加する | 既存タグ + 「,」 + 追加タグ | 追加タグだけを書いて既存タグを消す |
| 特定のタグを削除する | 残したいタグだけを列挙する | 削除したいタグだけを空にする(全タグ消去になる) |
| 全タグを入れ替える | 新しいタグ一覧を書く | なし(この操作自体が上書きと同義) |
| タグを一切変更しない | Tags列をそのまま残す、または列ごと省略する | Tags列を空にする |
| タグを全削除する | Tags列を空にする | 全削除のつもりでTags列を省略する(何も変わらない) |
自動化できる確認と人間の判断
スクリプトや関数で自動チェックできること
- 重複タグの検出 — Tags列をカンマで分割し、同じ値が2回以上出現していないか確認
- 前後スペースの検出 — タグの前後に空白文字が含まれていないか正規表現で検査
- 空セルの検出 — Tags列が空の行が意図的かどうかのフラグ付け
- 変更前後の差分抽出 — 2つのタグ一覧を比較し、追加されたタグと削除されたタグをリスト化
- タグ数の急増・急減の警告 — ある商品のタグ数が大幅に変わっている場合にアラートを出す
これらはスプレッドシートの関数やPythonスクリプトで比較的かんたんに実装できます。
人間が判断すべきこと
- どのタグを残し、どのタグを削除するか — ビジネス判断が必要な部分は自動化できない
- キャンペーン終了後のタグ整理 — 「2025夏セール」など期限付きタグを残すべきかどうかの判断
- 類似タグの統合 — 「sale」「セール」「SALE」など表記ゆれをどう扱うか
- タグの命名規則 — 新しいタグを追加するとき、既存の命名規則に合っているかの確認
よくあるトラブルと対処
タグが大量に消えてしまった
インポート後に「タグが消えた」と気づいた場合、直前のCSVエクスポートファイルがあれば復元できます。そのファイルをそのまま再インポートすれば、元のタグ一覧に戻ります。エクスポートファイルを上書き保存していないことが前提です。
スプレッドシートでタグが別の列に散らばった
これはCSVのカンマ区切りとタグのカンマ区切りが同じ記号だから起きます。対策は次のとおりです。
- スプレッドシートのインポート設定で「区切り文字の自動検出」をオフにし、手動でカンマを指定する
- Excelの場合は「データ」→「テキストから」でカンマ区切りを指定する
- Googleスプレッドシートなら、インポート時に「区切り文字の種類」をカンマに設定する
タグにカンマを含めたい
Shopifyの仕様上、タグ名にカンマを含めることはできません。カンマは常にタグの区切りとして解釈されます。「1,000円以上」というタグを使いたい場合は、「1000円以上」のようにカンマを使わない表記に変更する必要があります。
タグ編集前のチェックリスト
| 確認項目 | 確認方法 |
|---|---|
| 変更前のTags列を保存したか | エクスポート直後のCSVを別名保存 |
| 追加したいタグを既存タグに追記したか | Tags列に「既存 + 追加」の形式で書いたか確認 |
| Tags列に空セルがないか | フィルタで空白行を確認 |
| 重複タグがないか | 関数またはスクリプトで重複検出 |
| カンマの前後に余計なスペースがないか | 正規表現で前後空白を検索 |
| 変更前後でタグ数の差が意図通りか | 差分比較ツールで増減を確認 |
まとめ
Shopifyの商品CSVでTags列を編集するときは、「上書き」という仕様を前提に手順を組むことが大事です。具体的には、変更前のTags列を保存しておき、それに追記・削除したうえで差分を確認してからインポートするという流れを徹底すれば、意図せずタグを消す事故を防げます。自動チェックで形式の問題をふるいにかけ、ビジネス判断は人が行うという分担も取り入れると、ミスが減り作業も速くなります。
タグの一括編集で困ったことがあれば、以下の情報をご用意のうえでお気軽にご相談ください。
- 現在のタグ一覧(CSVエクスポートしたTags列で構いません)
- 追加・削除したいタグのリスト
- 対象商品のおおよその件数
- 使用しているスプレッドシートの種類(Excel / Googleスプレッドシート / その他)
- タグの命名規則があればそのルール
機密CSVやスクリーンショットの送付は不要です。タグ列だけをコピーしたものでも対応可能です。
参考にした公式情報
Shopify CSV / 一括編集 まわりの作業整理、小さな自動化、簡易チェックツール化について相談できます。初回相談で機密CSVやスクリーンショットを送る必要はありません。
無料相談する
