Category: CSV・データ処理

  • Tags列をCSVで一括編集するときに既存タグを消さないための考え方

    Tags列をCSVで一括編集するときに既存タグを消さないための考え方

    結論: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列を比較します。この比較で意図しないタグの消失や、タグの重複を発見できます。

    検証のポイント:

    1. タグが減っていないか — 追加しかしていないはずなのにタグ数が減っていたら、上書きで消えた可能性が高い
    2. 重複タグがないか — 「セール,セール」のように同じタグが2回入っていないか確認する(Shopify側では自動でまとめられるが、見栄えが悪い上に意図の混同を招く)
    3. 空セルになっていないか — 編集ミスでTags列が空になっていると、インポート時に全タグが消える
    4. カンマの前後にスペースがないか — 「セール, 新商品」のようにスペースが入ると「 新商品」(先頭スペース付き)という別タグとして登録される

    タグ操作別の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 / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料診断を依頼する
  • Vendor列をブランド名として使う前に確認すること

    Vendor列をブランド名として使う前に確認すること

    Shopify商品CSVのVendor列は自由入力のテキスト欄で、ブランド名としても仕入先名としても使えます。しかし「とりあえず入れている」状態でフィードアプリを動かすと、Google Merchant Centerのbrand属性にそのまま渡り、表記揺れが不正確なブランドとして扱われることがあります。Vendor列をブランド名として使うなら、入力ルールを決めてから運用に入るのが確実です。


    Vendor列の役割と制約

    ShopifyのVendor列は、商品ごとにメーカーやブランド、仕入先を記録するためのフリーテキスト欄です。Shopify側では主に次の用途で使われます。

    • 管理画面のフィルターで「ベンダー別」に商品を絞り込む
    • コレクションの条件で「Product vendor is equal to …」を指定する
    • CSVでの一括整理・集計

    Shopify側には表記の正規化や重複の警告機能はありません。「BrandX」と「brandx」と「Brand X」はすべて別のベンダーとして扱われます。入力した文字列がそのままフィルターやコレクション条件の判定に使われる仕組みです。


    フィードアプリがVendorをbrandにマッピングする仕組み

    Google & YouTubeチャネル、Simprosys、FeedArmyなどのフィードアプリは、多くの場合デフォルトでShopifyのVendor列をMerchant Centerのbrand属性にマッピングします。このマッピングは便利ですが、Vendorの中身が整理されていないと次のような問題が起きます。

    現象 原因 Merchant Centerでの影響
    brand属性が空で送られる Vendor列が未入力の商品がある ブランド必須カテゴリで不承認
    同一ブランドが複数に分裂する 「BrandX」「brandx」「Brand X」が混在 検索フィルタで品牌が分散、レポート精度が下がる
    仕入先名がbrandとして表示される Vendorに仕入先会社名を入れている Google広告に仕入先名が表示される
    フィード補正ルールが効かない 表記が不定でルールの対象から漏れる brandの上書きが部分的にしか適用されない

    brand属性はGoogleの一部カテゴリ(アパレル、靴、時計など)で必須扱いです。空のままだと商品が不承認になるため、Vendorをブランド名として使うかどうかにかかわらず、何かしらの値を入れておく必要があります。


    Vendor列の使い方パターンと影響

    運用現場でよく見かけるVendor列の使い方をパターン別に整理しました。それぞれフィードへの影響が異なります。

    パターン 具体例 フィードへの影響 向いているケース
    ブランド名として統一 Vendor = “Sony” brand属性にそのまま使える。表記統一が前提 自社ブランド品や正規代理店品が中心
    仕入先名として統一 Vendor = “東京商事株式会社” brandに会社名が入り、Google広告に表示される 卸売り元の管理が主目的
    ブランド名と仕入先名の混在 商品AはVendor = “BrandX”、商品BはVendor = “大阪問屋” brand属性の意味が統一されず、レポートが読みづらい 運用ルール未定義のまま使っている状態
    空欄 Vendor = “” brand属性が空で送られ、必須カテゴリで不承認 該当なし(避けるべき)
    独自メタフィールドでbrand管理 Vendor = “BrandX”、brand用メタフィールド = “Brand X(正式表記)” フィードアプリのマッピング先をメタフィールドに変更可能 Vendorを内部分類用に使いたい場合

    いずれのパターンでも「決めて守る」ことが重要です。一部の商品だけルールが違うと、後からの修正コストが大きくなります。


    表記揺れが生む具体的な問題

    Vendor列の表記揺れは、ShopifyのフィルターとMerchant Centerの両方で問題を起こします。よくある例を見てみましょう。

    大文字・小文字・スペースの違い

    "BrandX"     ← 半角英数、スペースなし
    "Brand X"    ← スペースあり
    "brandx"     ← すべて小文字
    "BRANDX"     ← すべて大文字
    "Brandx"     ← 先頭のみ大文字

    この5つは人間にとっては同じブランドですが、ShopifyもGoogleも別の文字列として扱います。コレクションの条件で「Product vendor is equal to BrandX」と指定しても「Brand X」の商品は含まれません。

    全角・半角の混在

    "BrandX"   ← 全角英数
    "BrandX"          ← 半角英数

    日本の運用では全角・半角の混在も頻発します。CSVをExcelで開いたときに自動変換されるケースもあるため、取り込み後のチェックが必要です。

    略称と正式名称の混在

    "BrandX"           ← 略称
    "BrandX Inc."      ← 法人格つき
    "BrandX株式会社"    ← 日本語表記

    仕入先名をベンダーに入れている場合、略称と正式名称が混ざりやすい傾向があります。どちらを使うかを決めておかないと、Merchant Center側で別ブランドとして扱われます。


    Vendorが空欄のとき何が起きるか

    Vendor列が空欄の商品がある場合、フィードアプリの動作は次のいずれかになります。

    1. brand属性を空のまま送る → Merchant Centerで不承認または警告
    2. フィードアプリのフォールバック設定により、デフォルト値(店舗名など)を代入する
    3. 該当商品をフィードから除外する

    Google & YouTubeチャネルのデフォルト動作では、Vendorが空の場合にbrandが空欄で送られます。アパレルや靴のカテゴリに該当する商品は不承認になります。食品や雑貨などbrandが任意のカテゴリであれば警告止まりですが、広告の表示品質には影響します。

    空欄を防ぐには、CSVインポート時にVendor列を必ず埋める運用ルールを決めるか、フィードアプリ側でデフォルト値を設定するかのいずれかが必要です。


    Vendorを使うか、メタフィールドを使うか

    「Vendor列はShopifyの内部分類に使い、brandは別のメタフィールドで管理したい」というケースもあります。たとえば次のような状況です。

    • Vendorを仕入先コードとして使い、Google向けには正式ブランド名を送りたい
    • 複数の仕入先が同一ブランドを扱っており、Vendorで仕入先を管理したい
    • コレクションの絞り込み条件にVendorを使っており、表記を変えたくない

    この場合は、Shopifyのメタフィールド(例:custom.brand)を作成し、フィードアプリのマッピング設定でbrand属性のソースをメタフィールドに切り替えます。Vendor列は引き続き内部分類として使えます。

    ただし、メタフィールドの追加運用はCSVの行数や管理の手間が増えるため、商品点数が少ないうちはVendor列をブランド名として統一するほうがシンプルです。


    自動で検出できる問題と、人の判断が必要なこと

    Vendor列の整理では、機械的に洗い出せる問題と、運用判断が必要な問題を分けて考えると効率的です。

    自動で検出・修正できること

    • Vendor列の空欄検出(brand未設定商品の洗い出し)
    • 大文字・小文字の正規化(”brandx” → “BrandX”)
    • 全角→半角の統一(”BrandX” → “BrandX”)
    • 前後の空白文字の除去(” BrandX ” → “BrandX”)
    • 正規化後の重複検出(見た目は同じだが文字列が異なるベンダーの抽出)

    これらはスプレッドシートの関数やPythonスクリプトで一括処理できます。CSVエクスポート後に正規化スクリプトを通してからShopifyにインポートし直す方法が現実的です。

    人の判断が必要なこと

    • Vendor列にブランド名を入れるか、仕入先名を入れるかの運用ルールの決定
    • 略称と正式名称のどちらを標準表記にするか(例:”BrandX” か “BrandX Inc.” か)
    • メタフィールドを追加してbrandを分離管理するかどうかの判断
    • 既存商品のVendorを変更したときのコレクション・フィルターへの影響確認
    • 過去の広告レポートとの整合性を取るかどうかの判断

    正規化の結果を見て「この表記に統一する」と決めるのは人間の仕事です。特に既に運用中のストアでは、Vendorの変更がコレクション条件や既存のフィード補正ルールに影響する可能性があるため、変更範囲を確認してから反映することが大切です。


    Vendor列を整理する手順

    Step 1:現状のCSVをエクスポートして確認する

    Shopify管理画面から [設定] → [商品] → [エクスポート] でCSVをダウンロードし、Vendor列を確認します。ユニークな値を抽出して、現在いくつの表記が存在するかを把握します。

    Step 2:正規化して重複を洗い出す

    大文字・小文字、全角・半角、前後空白を統一したうえで、同一ブランドの異表記を抽出します。スプレッドシートで=UPPER(TRIM(SUBSTITUTE(A2," ","")))のような正規化式を使うか、スクリプトで一括処理します。

    Step 3:標準表記を決める

    洗い出した結果をもとに、各ブランドの正式表記を1つずつ決めます。公式サイトでの表記、パッケージ上の表記、すでにMerchant Centerに登録されている表記のいずれかに合わせるのが無難です。

    Step 4:CSVを修正してインポートする

    標準表記に統一したCSVを作成し、Shopifyにインポートします。インポート後はフィードアプリを再同期し、Merchant Center側のbrand属性が更新されているかを確認します。

    Step 5:今後の入力ルールを文書化する

    商品登録時のVendor入力ルールを決め、関係者に共有します。「ブランド名は公式表記に統一」「全角英数は使わない」「空欄は不可」の3つを最低限決めておけば、再散乱を防げます。


    Vendor列の運用チェックリスト

    Vendor列を整理する際の確認項目をまとめました。

    確認項目 確認方法 自動 / 目視
    Vendor列が空欄の商品がないか CSVのVendor列で空白セルを検索 自動判定可
    大文字・小文字の表記揺れ 大文字統一後のユニーク数と比較 自動判定可
    全角・半角の混在 正規化前後のユニーク数を比較 自動判定可
    前後の空白文字 TRIM処理前後で差分を確認 自動判定可
    ブランド名か仕入先名かが統一されているか Vendorの内容を目視で分類 目視
    標準表記がMerchant Centerと一致しているか MC管理画面のbrand属性と突合 目視
    コレクション条件にVendorを使っているか Shopify管理画面でコレクション条件を確認 目視
    フィードアプリのbrandマッピング元がVendorか アプリ管理画面のフィードマッピング設定 目視

    上4つはCSVデータの加工で機械的に検出できます。下4つは管理画面を開いて確認する必要があります。まずは自動判定でデータの現状を把握してから、目視確認に進む手順が効率的です。


    相談時に用意するとよい情報

    • 現在のVendor列に含まれるユニーク値のリスト(CSVエクスポート後の抽出で可)
    • Vendorをブランド名として使っているか、仕入先名として使っているかの現在の運用
    • 使用しているフィードアプリの名称(Google & YouTubeチャネル、Simprosys、FeedArmyなど)
    • Merchant Centerでbrand属性が空欄または警告になっている商品の有無
    • Vendor列の値を変更した際に影響しそうなコレクション条件の有無

    初回相談では機密CSVやスクリーンショットの送付は不要です。上記の情報がテキストで分かれば、まずは現状の整理から始められます。

    参考にした公式情報

    この記事の内容で困っている方へ

    Shopify CSV / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料診断を依頼する
  • Product Category列を一括更新する前に見ること

    Product Category列を一括更新する前に見ること

    Shopify商品CSVのProduct Category列は、Googleの製品分類(タクソノミー)に基づく値を入力する列です。Type列(自社分類)とは別物で、商品フィードのgoogle_product_categoryに直接影響します。一括更新前に、列の役割・空欄リスク・タクソノミーの記法を整理しておけば、フィードエラーや広告配信漏れを防げます。


    Type列とProduct Category列は別物

    Shopifyの商品CSVには、分類に関わる列が複数あります。よく混同されるのがType列Product Category列です。

    項目 Type列 Product Category列
    入力内容 自由入力の自社分類名 GoogleタクソノミーのパスまたはID
    TシャツApparel Apparel & Accessories > Clothing > Shirts
    主な用途 ストア内の絞り込み・メニュー表示 Googleショッピング等のフィード分類
    必須か 任意 任意(フィード要件で実質必須の場合あり)

    Type列は「自社でどう呼ぶか」を決める自由入力欄です。一方、Product Category列はGoogleが定めるタクソノミー体系に沿った値を入力する必要があります。

    Product Categoryが影響する先

    Product Category列の値は、商品フィードアプリ(Google & YouTube Channelなど)経由でgoogle_product_categoryとしてGoogleに送信されます。このため、Product Category列の値が不正確だと、次のような問題が起こりえます。

    • Google Merchant Centerで分類エラーが出る
    • ショッピング広告が配信されない
    • パフォーマンスの低いカテゴリに振り分けられる

    Googleタクソノミーの記法を確認する

    Product Category列には、Googleが公開している製品タクソノミーの値を入れます。記法は主に2パターンあります。

    1. パス形式: Apparel & Accessories > Clothing > Shirts
    2. 数値ID形式: 212(上記パスに対応するID)

    どちらでも認識されますが、ストア内で表記を統一することが重要です。混在すると、後からCSVを確認した際に読みにくくなります。

    タクソノミーの注意点

    • 日本語パス(服 & アクセサリー > 服 > シャツ)は、ShopifyのUIでは表示されますが、フィード送信時は英語パスまたはIDで扱われることが多いです。CSV編集時は英語パスかIDを使う方が確実です。
    • Googleは定期的にタクソノミーを更新します。半年前に有効だったパスが、現在は非推奨になっている可能性があります。
    • 階層はなるべく末端(詳細なレベル)まで指定した方が、広告のマッチング精度が上がります。

    空欄のままにするとどうなるか

    Product Category列を空欄にした場合、Shopify側ではエラーになりません。しかし、フィード側では次のような影響が出ます。

    ケース 影響
    フィードアプリが自動補完しない場合 google_product_categoryが空になり、Merchant Centerで警告またはエラー
    アパレル等の「必須カテゴリ」商品 Googleポリシー上、カテゴリ必須。空欄だとアイテムが不承認になる
    フィードアプリがデフォルト値を設定する場合 全商品が同じカテゴリに振り分けられ、ターゲティング精度が下がる

    特にアパレル・アクセサリーは、Googleのポリシー上カテゴリ分類が必須です。これらの商品を扱っている場合は、空欄のままにしないでください。


    一括更新のリスクとよくあるミス

    CSVでProduct Category列を一括更新する際、よく見られるミスをいくつか挙げます。

    1. 英語パスと日本語パスの混在

    同じCSV内で、ある行は英語パス、別の行は日本語パスという状態です。Shopifyは受け付けますが、フィードアプリ側での処理にばらつきが出ます。

    2. 存在しないタクソノミー値の入力

    「これっぽい名前」で入力した値が、実際のGoogleタクソノミーに存在しないケースです。typoや古いタクソノミーの使用が原因です。エラーにならずに無視されることが多く、気づきにくいのが厄介です。

    3. 階層が浅すぎる

    Apparel & Accessoriesで止まっていると、フィードの分類精度が下がります。できるだけ末端まで指定しましょう。

    4. Type列とProduct Category列を同じ値で埋める

    自社分類名(Tシャツなど)をProduct Category列にも入力してしまうミスです。Googleタクソノミーに存在しない値なので、フィードで無効扱いになります。


    更新前のチェックリスト

    一括更新の実行前に、以下を確認してください。

    確認項目 確認内容
    タクソノミーの整合性 入力値が現行のGoogleタクソノミーに存在するか
    表記の統一 英語パスかIDのどちらかに統一されているか
    空欄の有無 アパレル等の必須カテゴリ商品で空欄がないか
    階層の深さ カテゴリパスが末端近くまで指定されているか
    Type列との混同 自社分類名がProduct Category列に紛れ込んでいないか
    バックアップ 更新前のCSVを別名で保存してあるか

    自動で確認できることと人間の判断が必要なこと

    更新前の確認作業は、一部をスクリプトで自動化できます。

    自動で確認できること

    • フォーマットチェック: 入力値が英数字と >& のみで構成されているか(明らかな日本語混入を検出)
    • 空欄検出: Product Category列が空の行を抽出
    • 重複確認: 同じProduct Category値が複数の表記(パスとIDなど)で存在していないか
    • 階層深度チェック: > の数が少なすぎる(階層が浅い)行を抽出

    人間の判断が必要なこと

    • タクソノミーの選択: その商品に最も適したGoogleカテゴリはどれか
    • 境界案件の判断: 2つのカテゴリのどちらに振るべきか迷う商品の扱い
    • ビジネス上の判断: 広告出力を優先して大まかなカテゴリにするか、精度を優先して細かく分けるか
    • 空欄の許容判断: アパレル以外で、意図的に空欄にするかどうか

    Type列 / Product Category列 / google_product_category の関係

    3つの項目がどう繋がっているかを整理します。

    項目 設定場所 値の例 影響先
    Type Shopify管理画面 / CSV トップス ストアの絞り込み・ナビゲーション
    Product Category Shopify管理画面 / CSV Apparel & Accessories > Clothing > Shirts フィードのgoogle_product_categoryに反映
    google_product_category フィードアプリ(自動または手動) Apparel & Accessories > Clothing > Shirts Google Merchant Center / ショッピング広告

    フィードアプリは、基本的にはProduct Category列の値をgoogle_product_categoryにマッピングします。Product Category列が空の場合、アプリの設定によってはデフォルト値が使われたり、空のまま送信されたりします。自ストアで使っているフィードアプリがどう処理するか、一度確認しておくと安心です。


    まとめ

    Product Category列の一括更新は、Type列の更新とは性質が異なります。Googleタクソノミーという外部基準に沿った値を入力する必要があり、ミスがあればフィードや広告に直接影響します。更新前にタクソノミーの整合性・表記の統一・空欄の有無を確認し、必要に応じてバックアップを取ってから実行してください。

    機密CSVやスクリーンショットの送付は不要です。公開されているストアURLと気になる点を教えていただければ、Product Category列の整理方法についてご相談に乗ります。

    相談時に用意するとよい情報

    • 対象商品のおおよその点数
    • 現在Product Category列が埋まっているか・空欄か
    • 使用中のフィードアプリ(Google & YouTube Channel、Simprosatなど)
    • 主な商品カテゴリ(アパレル、雑貨、食品など)
    • Google Merchant Centerでカテゴリ関連の警告が出ているか

    参考にした公式情報

    この記事の内容で困っている方へ

    Shopify CSV / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料診断を依頼する
  • Status列とPublished列を間違えると公開状態がどう変わるか

    Status列とPublished列を間違えると公開状態がどう変わるか

    Shopify商品CSVには、公開状態を操作する列が2つあります。Status列Published列です。この2つは別の役割を持っており、片方だけ変更しても期待通りにいかないケースがあります。結論から言うと、Statusは「商品自体がアクティブか下書きか」を決め、Publishedは「販売チャネルに表示するかどうか」を制御します。両方とも独立して動くため、組み合わせ次第で4パターンの状態が生まれます。誤って片方だけ書き換えてインポートすると、商品が storefront から消えたり、逆に意図せず公開されたりするので、事前に違いを押さえておくことが大切です。

    Status列とPublished列の違い

    Status列 — 商品の稼働状態

    Status列に指定できる値は次の2つです。

    意味
    active 商品が稼働状態。ストアフロントに表示可能(Publishedの設定次第で実際の表示が決まる)
    draft 商品が下書き。管理画面では確認できるが、ストアフロントには一切表示されない

    Statusをdraftにすると、PublishedがTRUEであっても商品は公開されません。商品そのものを非公開にしたい場合は、Status列をdraftにするのが確実です。

    Published列 — 販売チャネルへの表示

    Published列に指定できる値は次の2つです。

    意味
    TRUE 販売チャネルに表示する(Statusがactiveのときのみ実際に表示される)
    FALSE すべての販売チャネルで非表示にする

    Published=FALSEは、商品を「チャネルから隠す」だけで、商品自体はアクティブなまま残ります。管理画面では商品一覧に引き続き表示され、在庫管理や注文処理にも影響しません。

    4つの組み合わせと実際の表示結果

    StatusとPublishedは独立して動くため、4通りの組み合わせがあります。それぞれの状態で、ストアフロントや管理画面にどう見えるかをまとめました。

    Status Published ストアフロント 管理画面 注文受付
    active TRUE 表示される 「アクティブ」と表示 可能
    active FALSE 表示されない 「アクティブ」と表示 不可(チャネル非表示のため)
    draft TRUE 表示されない 「下書き」と表示 不可
    draft FALSE 表示されない 「下書き」と表示 不可

    active + TRUEの組み合わせだけが、実際にストアフロントに商品を表示します。それ以外の3パターンはすべてストアフロントに表示されませんが、管理画面上の扱いや内部状態が異なる点に注意してください。

    よくある間違いと起きること

    間違い1:Statusをactive→draftにしたつもりでPublishedだけ変更する

    CSVを編集するとき、Published列をFALSEにすれば商品が非公開になると思って変更したケースです。実際には商品自体はactiveのままなので、管理画面では「アクティブ」として扱われます。在庫数やコレクションの紐付けもそのまま残るため、後で「なぜストアフロントに表示されないのか」と混乱しがちです。

    間違い2:Published=FALSEで「特定チャネルだけ非表示」にできると思っている

    CSVのPublished列は、すべての販売チャネルを一括で制御します。特定のチャネル(オンラインストアだけ、POSだけなど)だけ非表示にする目的でFALSEを指定すると、全チャネルで非表示になってしまいます。個別のチャネル制御が必要な場合は、管理画面の「管理」セクションから手動で販売チャネルを設定し直す必要があります。

    間違い3:draftの商品をCSVでactiveにしたがPublishedがFALSEのまま

    Statusをdraftからactiveに変更したのに、PublishedがFALSEのままだと、商品はアクティブでもストアフロントには表示されません。「CSVで公開設定にしたのに反映されない」という場合、まずPublished列の値を確認してください。

    CSVインポート前に確認するべきポイント

    一括更新する前に、次のチェックリストでCSVの内容を確認しておくと、意図しない公開状態の変化を防げます。

    • Status列の値が正しいかactivedraftのどちらか。空欄やスペルミスがないか
    • Published列の値が正しいかTRUEFALSEのどちらか。true/false(小文字)でも動作するが、表記ゆれに注意
    • 両方の列を同時に確認しているか — Statusだけ、Publishedだけを見ていると組み合わせのミスに気づかない
    • 変更対象の行数が意図通りか — フィルタやソートのミスで想定外の行が含まれていないか
    • バックアップのCSVを用意したか — 元に戻せるように、変更前のエクスポートCSVを保存しておく

    安全にテストする手順

    本番の一括更新前に、1商品だけでテストインポートすることをおすすめします。手順は次の通りです。

    1. 管理画面から商品を1つエクスポートする(対象1行だけのCSVを作成)
    2. Status列とPublished列を、意図する組み合わせに書き換える
    3. そのCSVをインポートする
    4. 管理画面で商品の公開状態が期待通りに変わったことを確認する
    5. ストアフロント(シークレットウィンドウなど)で表示・非表示を確認する
    6. 問題なければ、本番用のCSVで一括更新に進む

    1商品のテストで想定外の挙動があれば、CSVの記述を見直してください。特に、CSVエディタがTRUEを自動的に別の形式に変換していないか(Excelで日付扱いになるケースなど)も確認しておくと安心です。


    自動でチェックできることと人間の判断が必要なこと

    自動チェックで防げる問題

    CSVのバリデーションは、スクリプトや関数で事前に確認できる部分が多いです。次の項目は自動チェックに向いています。

    • Status列の値がactiveまたはdraftのいずれかであること
    • Published列の値がTRUEまたはFALSE(大文字小文字問わず)であること
    • 空欄のセルがないこと(空欄は「変更なし」として扱われるが、意図の確認が必要)
    • Handle列が正しく設定されていること(更新対象の商品を一意に特定するため)

    人間の判断が必要な問題

    自動チェックでは判断できない部分もあります。次の点は、担当者の意図を確認する必要があります。

    • どの公開状態にしたいか — 商品ごとに「完全非公開」「チャネル非表示」「公開」のどれが適切かは、販売戦略による
    • active + FALSEの意図 — 一時的な非表示なのか、在庫整理中なのか、理由によって扱いが変わる
    • チャネルごとの表示制御 — 特定チャネルだけの表示・非表示は、CSVのPublished列では制御できないため管理画面の操作が必要
    • 下書きに戻すタイミング — シーズン商品の終了など、ビジネス判断が関わる

    相談時に用意するとよい情報

    CSVインポートで公開状態のトラブルが起きた場合、次の情報を整理しておくと、原因特定がスムーズに進みます。

    • 対象商品のHandle
    • 期待する状態(active / draft / archived、販売チャネル表示の希望)
    • CSV上の StatusPublished の値
    • いつインポートしたか
    • 管理画面で見えている状態を文章で説明したもの

    初回相談では機密CSVやスクリーンショットの送付は不要です。商品Handleと「どうしたいか」の簡単なメモだけでも、状況の整理に役立ちます。必要になった場合に後からスクリーンショットを確認することがあります。

    参考にした公式情報

    この記事の内容で困っている方へ

    Shopify CSV / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料診断を依頼する
  • SKUとBarcode(JAN)の違いをCSV列で混同しないための確認

    SKUとBarcode(JAN)の違いをCSV列で混同しないための確認

    Shopifyの商品CSVを編集するとき、Variant SKU列とVariant Barcode列の違いが曖昧になり、JANコードをSKU列に入れたり、その逆が起きがちです。SKUは社内の在庫管理番号、Barcode(JAN)は商品を識別する国際標準コードで役割が異なります。列を間違えるとmissing GTINinvalid GTINの原因になります。CSV投入前はShopifyの商品登録CSVの事前確認も合わせて行ってください。


    SKUとBarcode(JAN)はそもそも何が違うのか

    SKU(Stock Keeping Unit)は、店舗や倉庫が内部管理のために自由に付けるコードです。法則は運営者が決められ、同じ商品でもカラーごと・サイズごとに別々のSKUを割り当てるのが一般的です。

    Barcode(JAN / EAN / UPC)は、商品パッケージに印字されているバーコードの数字です。日本ではJANコード(13桁)が主流で、GS1 Japanが発行する全球共通の識別番号です。SKUのように自社で自由に決められるものではありません。

    両者の役割を整理すると次のようになります。

    項目 SKU Barcode(JAN)
    目的 社内在庫管理 商品の世界的識別
    発行主体 自社で自由に決定 GS1 Japan等の機関が発行
    桁数 自由(空白も可) JAN: 8桁または13桁
    重複の可否 原則ユニーク推奨 世界中で一意(重複不可)
    TS-BLK-M 4901234567890

    Shopify商品CSVで該当する列はどれか

    Shopify管理画面から [設定] > [データ形式] > [商品をエクスポート] で出力したCSVには、SKUとBarcodeそれぞれに専用の列があります。該当列と周辺列をまとめました。

    CSV列名 目的 入力内容の例
    Handle 商品のURL識別子。同一Handleで複数バリエーション行をまとめる black-t-shirt
    Option1 Name 第一オプション名(例: サイズ) Size
    Option1 Value 第一オプション値(例: M) M
    Option2 Name / Option2 Value 第二オプション(例: カラー) Color / Black
    Variant SKU 社内管理コード TS-BLK-M
    Variant Barcode JAN / EAN / UPCコード 4901234567890
    Variant Grams バリエーションの重量(グラム) 250
    Variant Inventory Tracker 在庫追跡サービス shopify

    ポイントは、Variant SKUVariant Barcodeバリエーション行ごとに設定する列だということです。1つの商品に3つのサイズ展開があれば、Handleは同じまま3行分のバリエーション行が並び、それぞれにSKUとBarcodeを記載します。


    列を間違えて入力したときに何が起きるか

    SKU欄にJANコードを入れてしまった場合

    Variant SKU列に 4901234567890 のようなJANコードを入力すると、次のような問題が起きます。

    • 社内在庫システムで「どの商品か」を判別するコードとして、JANコードが使われてしまい、社内コード体系と不一致になる
    • Google Merchant Centerのフィードで、mpn(メーカー型番)フィールドにJANコードが入り、審査で「mpnとgtinが同じ値です」という警告が出ることがある
    • 複数カラー・サイズで同じJANをSKU欄に入れてしまうと、在庫連携ツールがSKUの重複を検知してエラーを返す

    Barcode欄にSKUを入れてしまった場合

    逆に、Variant Barcode列に TS-BLK-M のような社内コードを入力すると、次のような問題が起きます。

    • Google Merchant Centerのフィードで、gtinフィールドに不正な値が入り、「GTINが無効です」という不承認理由になる
    • POSレジでのバーコードスキャン時に商品がヒットせず、店頭販売に支障が出る
    • マーケットプレイス連携(Amazonや楽天)でJANコードとして送信され、出品エラーになる

    Excelで先頭ゼロが消える問題

    JANコードをExcelで開くと、4901234567890のような数値が指数表示(4.90123E+12)になったり、先頭ゼロのあるコード(00012345)のゼロが欠落したりします。これはBarcode列特有の事故で、SKU列では起こりにくいトラブルです。

    対策として、CSVをExcelで開く前にメモ帳などで開いて列の内容を確認するか、Excelのインポート機能でVariant Barcode列を「文字列」として指定して読み込んでください。


    CSVインポート前の確認手順

    自動でチェックできる項目

    CSVをShopifyにインポートする前に、スプレッドシートの関数や簡易スクリプトで次の項目を機械的に確認できます。

    チェック項目 確認方法 期待される結果
    Variant SKUの重複 COUNTIF関数などで重複を抽出 同一SKUが複数行に存在しない
    Variant Barcodeの桁数 LEN関数で8桁または13桁か確認 8桁または13桁の数値文字列
    Variant Barcodeの先頭ゼロ欠落 セルの表示形式が文字列か確認、または数値化された行を検出 ゼロから始まるコードが保持されている
    Variant Barcodeの文字種 正規表現 ^[0-9]{8}$|^[0-9]{13}$ で検証 数字のみで構成されている
    Variant SKUの空欄 空白セルをフィルタで抽出 在庫管理に使うSKUが空欄ではない
    Handleとバリエーション行の整合 同一Handle内でOption列の組み合わせが重複していないか確認 同じバリエーションが2行以上存在しない

    Googleスプレッドシートを使っている場合は、次のような数式でBarcodeの桁数チェックが可能です。

    =IF(OR(LEN(TRIM(K2))=0, LEN(TRIM(K2))=8, LEN(TRIM(K2))=13), "OK", "桁数要注意")
    

    ここで K2Variant Barcode列のセルを指します。空白(Barcodeを使わない商品)は許容するため、空文字もOKとしています。

    人の判断が必要な項目

    機械的なチェックでは判断が難しい項目もあります。インポート前に必ず目で確認してください。

    • 更新対象の列が正しいか: 今回のCSV更新でSKUだけを変更するのか、Barcodeだけを変更するのか、両方を変更するのかを明確にする。意図しない列に値が入っていないか確認する。
    • 新規商品か既存商品か: 既存商品のHandleと同一Handleを使うと上書き更新になる。新規商品のはずが既存Handleと重複していないか確認する。
    • BarcodeにJAN以外の体系を含むか: 一部の商品だけUPC(12桁)を使っている場合、桁数チェックの基準を調整する必要がある。
    • SKU体系の変更意図: 既存のSKU命名規則を変更する場合、在庫連携先(倉庫システムや会計ソフト)でもSKUの紐付け更新が必要になるか確認する。
    • Barcode空白の可否: バリエーション商品で、親商品にBarcodeを設定せずバリエーション行のみに設定する設計が多い。空白のまま意図的に残しているか、入力漏れかを判断する。

    実務での入力ワークフロー例

    新商品を一括登録する場面を例に、SKUとBarcodeを正しく入力する手順を示します。

    1. 元データを準備する: 商品マスタからSKU、JANコード、商品名、オプション値を抽出し、1行1バリエーションで並べる
    2. 列ヘッダーをShopify形式に合わせる: 社内マスタの「管理コード」列をVariant SKUに、「JANコード」列をVariant Barcodeにマッピングする
    3. Barcode列を文字列として保存する: Excelの場合はBarcode列全体を選択し、セルの書式を「文字列」に設定してから値を貼り付ける
    4. 自動チェックを実行する: 前述の桁数チェック・重複チェック・文字種チェックを実行し、エラー行を修正する
    5. サンプル行を目視確認する: 最初の5〜10行について、SKU列に管理コードが入っていること、Barcode列にJANコードが入っていることをヘッダー名と照合しながら確認する
    6. テストインポートする: 全行ではなく一部の商品(3〜5商品)だけを含むCSVで試しにインポートし、管理画面でSKUとBarcodeがそれぞれ正しい欄に反映されているか確認する
    7. 本番インポートする: テスト結果に問題がなければ全体をインポートする

    この手順の中で特に時間をかけるべきなのは手順5の目視確認です。自動チェックを通過していても、列のマッピング自体が逆になっていれば全行が間違ったままインポートされてしまいます。


    CSV列の混同を防ぐためのチェックリスト

    最後に、CSVを編集・インポートする際の確認項目をチェックリスト形式でまとめます。インポート前に一読してください。

    No. 確認項目 確認手段
    1 Variant SKU列に社内管理コードが入っている ヘッダー行と照合
    2 Variant Barcode列にJAN/EAN/UPCが入っている ヘッダー行と照合
    3 SKUとBarcodeで値の体系が逆転していない サンプル行の目視
    4 Barcode列で先頭ゼロが欠落していない LEN関数・文字列表示確認
    5 Barcodeが8桁または13桁の数字のみである 正規表現またはLEN関数
    6 SKUがバリエーション行ごとにユニークである COUNTIF関数・重複抽出
    7 Handleが既存商品と意図せず重複していない 既存CSVとの突合
    8 更新対象列だけが変更されている(意図しない列の値が書き換わっていない) 変更前後CSVの差分確認

    相談時に用意するとよい情報

    CSVの編集やインポートでつまずいた際、サポートに相談する前に次の情報を手元に用意しておくと、やり取りがスムーズに進みます。

    • 現在使用している商品CSVのサンプル(商品名や金額をマスキングしたもので構いません)
    • SKUとBarcodeのどちら(または両方)を変更・登録しようとしているか
    • インポート時に表示されたエラーメッセージの全文(テキストで貼り付けるだけで構いません)
    • 現在の管理画面でのSKU・Barcodeの表示状態(項目名と値をテキストで知らせるだけで構いません)
    • 使用している在庫連携ツールやGoogle Merchant Centerフィードの有無
    • 商品のバリエーション構成(オプション名と値の組み合わせ)

    関連して確認したい記事

    CSVを送らなくても、列名・更新したい作業・不安な事故だけで確認順を整理できます。初回相談では機密CSVやスクリーンショットの送付は不要です。

    この記事の内容で困っている方へ

    Shopify CSV / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料診断を依頼する
  • Shopify商品CSVと在庫CSVの違い: インポート前に混同しないための確認

    Shopify商品CSVと在庫CSVの違い: インポート前に混同しないための確認

    ShopifyのCSV作業でよくある事故が、商品CSVと在庫CSVを同じものとして扱ってしまうことです。どちらもCSVですが、更新する対象が違います。商品名や画像を直したいのか、ロケーション別の在庫数を直したいのかを分けないと、意図しない上書きが起きます。

    まず何が違うか

    商品CSVは、商品タイトル、説明、Handle、Option、Variant SKU、価格、画像URLなど、商品情報全体を扱います。在庫CSVは、商品バリエーションとロケーションごとの在庫数量を更新するためのCSVです。複数ロケーションを使っている店舗では、この違いが特に重要です。

    混同すると起きること

    • 商品CSVで直すつもりのない列まで空欄で上書きする
    • 在庫CSVで更新すべき数量を商品CSV側で探して迷う
    • ロケーション別在庫を無視して、全体在庫だけを見て判断する
    • SKUやOption列のずれで、別バリエーションの在庫を触る
    • 商品移行用CSVを、日々の在庫更新に使ってしまう

    確認する列

    商品CSVでは、HandleTitleOption1 NameOption1 ValueVariant SKUVariant PriceImage Srcを先に見ます。在庫CSVでは、HandleSKULocationOn hand (current)On hand (new)など、在庫数量とロケーションに関係する列を見ます。

    手作業で進める場合

    まず目的を一文で書きます。「価格を変えたい」「画像URLを差し替えたい」なら商品CSV寄りです。「東京倉庫の在庫を20にしたい」なら在庫CSV寄りです。次に、Shopifyから最新のCSVをエクスポートし、編集する列だけを決めます。投入前には、対象商品を数件に絞ったテスト用CSVで差分を確認します。

    小さく自動化できる部分

    CSVの列名を見て、商品CSVなのか在庫CSVなのかを判定するチェックは自動化できます。さらに、更新対象外の列に値が入っていないか、HandleとSKUが重複していないか、ロケーション名が既存設定と合っているかも事前確認できます。ただし、どの列を正として残すかは作業目的によって変わります。

    注意点

    CSV投入は一括で反映されるため、間違えると広範囲に影響します。この記事は確認手順の整理であり、復元や在庫数の正しさを保証するものではありません。作業前のエクスポート保存と、少件数での確認は省かない方が安全です。

    相談前に整理しておくこと

    • 商品情報を直したいのか、在庫数を直したいのか
    • 複数ロケーションを使っているか
    • 更新したい列名
    • 過去にCSV投入で壊れた内容

    Shopify CSVの投入前チェックや、壊れそうな列の整理について相談できます。初回相談では機密情報を含むCSVを送る必要はありません。更新したい列や不安な作業だけでも整理できます。

    参考にした公式情報

    この記事の内容で困っている方へ

    Shopify CSV / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料診断を依頼する
  • Shopify CSVインポート後に在庫が0になる原因と確認列

    Shopify CSVインポート後に在庫が0になる原因と確認列

    Shopify CSV で在庫が0になる原因は、商品CSVと在庫CSVのどちらを使ったかで切り分けます。商品CSVでは Variant Inventory Qty、Variant Inventory Tracker、Variant SKU の扱いを確認し、在庫CSVでは SKU、Location、On hand / Available の列を見ます。空欄・0・未更新は同じ意味ではないため、投入前にバックアップを取り、差分を確認することが事故防止の基本です。特に商品CSVで在庫数を更新する場合と、在庫CSVで更新する場合とで、影響範囲が異なります。

    在庫が0になる原因は商品CSVと在庫CSVで分ける

    Shopify では在庫数の更新に2種類のCSVが使われます。どちらのCSVを使ったかによって、在庫が0になる原因と確認すべき列が変わります。

    2種類のCSVの違い

    CSVの種類 主な用途 在庫関連の列 注意点
    商品CSV(Products CSV) 商品情報の全体的な更新 Variant Inventory Qty、Variant Inventory Tracker、Variant SKU 在庫数以外の列もまとめて更新される
    在庫CSV(Inventory CSV) 在庫数に特化した更新 SKU、Location、On hand、Available 在庫数だけを更新するが、列の指定を間違えると事故になる

    まず確認すること: 在庫が0になったのは、商品CSVをインポートした後か、在庫CSVをインポートした後か。これによって原因の切り分け方が変わります。

    どちらのCSVを使うべきか

    • 商品情報(タイトル、説明、価格、画像など)も一緒に更新する場合:商品CSVを使う
    • 在庫数だけを一括更新したい場合:在庫CSVを使う(影響範囲が在庫に限定されるため、事故リスクが下がる)

    在庫数の更新だけが目的であれば、在庫CSVを使う方が安全です。商品CSVは更新対象が多く、意図しない列の上書きが起きやすくなります。

    商品CSVで見る列

    商品CSVをインポートして在庫が0になった場合、次の列を確認します。

    Variant Inventory Qty

    この列は、variant の在庫数量を指定します。

    意味 Shopify側の動作
    数値(例:10 指定した数量に設定される 旧い数量は上書きされる
    0 在庫0に設定される 「在庫切れ」の表示になる
    空欄 列の値が無視される(と見せかけて、CSVのバージョンや設定によって動作が変わる場合がある) 空欄の取り扱いは公式仕様を確認
    列ごと省略 在庫数は変更されない 他の列だけが更新される

    よくある事故: Variant Inventory Qty 列に 0 を入れたつもりがないのに、空欄を 0 として扱ってしまったケース。スプレッドシートで編集していると、空白セルが意図せず 0 に変換されることがあります。

    Variant Inventory Tracker

    この列は、在庫管理を Shopify で行うかどうかを指定します。

    意味 在庫への影響
    shopify Shopify で在庫を管理する Variant Inventory Qty の値が反映される
    空欄または未設定 Shopify で在庫を管理しない 在庫数の表示・更新が行われない
    null トラッキングなし 在庫管理の対象外

    よくある事故: Variant Inventory Tracker を shopify に設定せずに Variant Inventory Qty に数値を入れても、在庫として反映されない。逆に、Tracker を空欄にしたことで、既存の在庫管理が解除されてしまうこともあります。

    Variant SKU

    在庫CSVと連携するためのキーとなるのが Variant SKU です。SKU が一致しないと、在庫CSVでの更新が正しく反映されません。

    確認ポイント:

    • SKU に余分なスペースが入っていないか(前後にスペース)
    • 全角・半角が統一されているか
    • 同じ SKU が複数の variant に割り当てられていないか(重複 SKU)

    在庫CSVで見る列

    在庫CSV(Inventory CSV)は、商品CSVとは列構成が異なります。在庫に特化した列を確認します。

    在庫CSVの主要列

    列名 内容 よくある事故
    SKU 在庫更新の識別キー SKU不一致で更新されない。空欄の行があるとスキップされる
    Location 在庫を管理するロケーション名 別のロケーションの在庫だけ更新してしまう
    On hand 実在庫数 0にすべきでない商品を0にしてしまう
    Available 販売可能在庫数 On hand と Available の違いを理解せずに更新する

    On hand と Available の違い

    この2つの列は似ていますが、意味が異なります。公式ヘルプでの定義を確認することが重要ですが、大まかな違いは以下のとおりです。

    • On hand:倉庫に実際にある在庫数
    • Available:On hand から予約済み(受注済みで未出荷など)を引いた、販売可能な数

    どちらの列を更新すべきかは、運用方針によります。間違った列を更新すると、受注残との整合性が崩れる可能性があります。

    Location の確認

    複数のロケーション(倉庫・店舗など)を持っている場合、在庫CSVの Location 列で更新先を指定します。

    • 間違ったロケーションを指定している:A倉庫の在庫を更新したいのに、B店舗の在庫を0にしてしまう
    • ロケーション名の表記ゆれ:CSVの Location 列の値が、Shopify に登録されているロケーション名と一致しないと更新されない
    • 新規ロケーション:CSV上のロケーション名が Shopify に存在しない場合、更新自体がスキップされることがある

    空欄・0・未更新の違いを確認する

    在庫が0になった原因を切り分ける際、空欄・0・未更新は明確に区別して考えます。

    状態 CSV上の見え方 Shopify側の動作 意図した更新か
    意図的に0にした 0 在庫0として設定 はい(はず)
    空欄のつもりが0になった 空欄 → 0 に変換 在庫0として設定 いいえ
    列を省略した 列なし 既存の値が維持される 更新されない
    行を省略した 行なし そのvariantは更新されない 更新されない
    SKUが不一致 値は正しいがSKUが違う 更新されない 別のvariantが更新されている可能性

    スプレッドシートでの空欄→0変換に注意:
    Google スプレッドシートや Excel でCSVを編集する際、空欄のセルに 0 が自動入力される設定になっている場合があります。特に、数式で値を生成している場合、空白セルが 0 扱いになることがあります。CSVを保存する前に、空欄のセルが本当に空欄のままかを確認してください。

    投入前に差分previewを作る

    在庫が0になる事故を防ぐため、CSVをインポートする前に差分を確認します。この作業は「更新前在庫」「更新後在庫」「差分」を並べたpreview(確認用シート)を作ることです。

    差分previewの作り方

    1. 現在の在庫データを取得する:Shopify 管理画面から在庫CSVをエクスポートする
    2. 更新用CSVを作成する:エクスポートしたCSVをコピーし、更新したい値を書き換える
    3. 差分列を追加する:スプレッドシートで「更新前在庫」「更新後在庫」「差分」の3列を並べる
    4. 急減アラートを設定する:差分が一定数以上(例:在庫が10以上減少)の行を条件付き書式で強調表示する

    差分previewのイメージ

    SKU 更新前在庫 更新後在庫 差分 備考
    SHIRT-BLK-M 25 20 -5 正常な販売による減少
    SHIRT-WHT-S 15 0 -15 要確認
    SHIRT-BLK-L 8 8 0 変更なし
    BAG-RED 30 0 -30 要確認

    このように差分を可視化しておくと、「意図せず在庫が0になる」行をインポート前に発見できます。差分が急激に減少している行(特に0になる行)は、インポート前に個別に確認してください。

    バックアップの重要性

    CSVをインポートする前に、必ず現在の在庫データをエクスポートして保存します。これにより、事故が起きた場合に元の値に戻すことができます。バックアップがない状態でCSVをインポートするのは避けてください。

    自動化できる部分

    • 0になっている行の検出:更新用CSVで、在庫数が0になる行を自動抽出
    • 空欄と0の区別:CSV上で空欄のセルと 0 が入力されたセルを区別してチェック
    • SKU 不一致・重複 SKU の検出:更新用CSVの SKU が Shopify 側の SKU と一致しない行、同じ SKU が複数行にある行を検出
    • Location 不一致の一覧化:更新用CSVの Location 値が Shopify に存在しない場合に警告
    • 更新前後差分の作成:更新前CSVと更新用CSVを比較し、差分行を自動抽出

    人間判断が必要な部分

    • 0にすることが意図した更新か:在庫切れ商品として0にするのか、事故なのかは意図の確認が必要
    • 予約販売・取り寄せ・在庫切れの運用方針:在庫が0になった商品をどう扱うかは、店舗の運用方針によります
    • どのロケーションを正とするか:複数倉庫がある場合、どの倉庫の在庫を優先するかはビジネス判断
    • SKU の表記ゆれをどう統一するか:全角・半角、スペースの有無など、命名規則の決定

    注意点

    • Shopify の商品CSVインポート仕様、在庫CSV仕様は更新される可能性があるため、操作時の公式ヘルプで確認してください
    • Inventory tracker、Location、On hand、Available の仕様・動作は、Shopify のプランや設定によって異なる場合があります
    • CSVのインポートは元に戻す(アンドゥ)ことができないため、必ずバックアップを取ってから実行してください
    • 大量のCSVインポートは、テスト用の少量データで動作確認してから本番に適用することをお勧めします

    CSV投入後に在庫が0になるのが不安な場合や、商品CSVと在庫CSVのどちらを使うべきか迷っている場合はご相談ください。更新したい列・対象件数・ロケーション数をお伺いすれば、確認すべきポイントをご案内します。初回相談では、機密CSVやスクリーンショットの送付は不要です。

    参考にした公式情報

    この記事の内容で困っている方へ

    Shopify CSV / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料診断を依頼する
  • Shopify商品CSVのHandleがずれると何が壊れるか

    Shopify商品CSVのHandleがずれると何が壊れるか

    Shopifyの商品CSVでは、Handle が商品を見分ける重要な列です。タイトルやSKUを直しただけのつもりでも、Handleが変わっていると、既存商品の更新ではなく別の商品として扱われたり、画像やバリエーションの対応が崩れたりします。

    まず何が起きているか

    Handleは商品ページURLにも使われる識別子です。CSVで既存商品を更新するとき、同じ商品として扱いたい行のHandleが既存データと一致しているかを確認します。商品名を変更したからといって、Handleまで毎回変える必要があるとは限りません。逆に、移行作業で複数商品に同じHandleが入っていると、意図しないまとまり方になります。

    Handleずれで起きやすいこと

    • 更新したつもりの商品が新規商品として作られる
    • 同じ商品内に入るはずのバリエーションが別商品に分かれる
    • 画像行が別の商品に紐づく
    • 旧URLを前提にした内部リンクや広告URLの確認が必要になる
    • 在庫CSV側のHandleと商品CSV側のHandleが一致しない

    確認する列

    商品CSVでは HandleTitleOption1 NameOption1 ValueVariant SKUImage Src を並べて見ます。単品商品なら1つのHandleに1行だけの場合もありますが、色やサイズのバリエーションがある商品は、同じHandleの複数行で構成されます。画像だけの行があるCSVでは、Handleのずれが画像紐づけのずれとして出ることもあります。

    手作業で直す場合

    まず管理画面から現在の商品CSVをエクスポートし、更新用CSVのHandleと突き合わせます。既存商品を更新したいなら、既存CSVのHandleを基準にします。新しい商品として作りたいものだけ、新しいHandleにします。表計算ソフトでタイトルからHandleを再生成する場合は、既存商品まで一括で変換しないように、更新対象を別シートで絞ってから作業します。

    自動化できる部分

    投入前チェックでは、Handleの重複数、空欄、全角文字やスペースの混入、既存CSVに存在しないHandle、既存CSVにはあるが更新CSVにはないHandleを一覧化できます。また、同じHandleの中でOption列の組み合わせが重複していないかも機械的に確認できます。ただし、URLを変更してよいか、SEOや広告リンクの影響をどう扱うかは店舗側の判断です。

    注意点

    Handleを直せばすべて元通りになるとは限りません。すでにインポート済みで新規商品が作られている場合は、重複商品の削除、在庫、画像、公開状態の確認が別途必要になります。公式サポートの代行ではなく、CSV上で何が起きそうかを整理する実務メモとして扱ってください。初回相談では、Handle列の例を数行だけ伏せ字で共有できれば十分な場合があります。

    参考にした公式情報

    この記事の内容で困っている方へ

    Shopify CSV / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料診断を依頼する
  • Shopify CSVでバリエーションが壊れる前に見るOption列とVariant列

    Shopify CSVでバリエーションが壊れる前に見るOption列とVariant列

    Shopifyの商品CSVで色やサイズを触るときは、商品名よりも Option 列と Variant 列の関係を見る必要があります。価格だけ更新したつもりでも、Optionの値が少し変わると別バリエーションのように扱われ、SKUや在庫、Barcodeとの対応が崩れることがあります。

    まず何が起きているか

    Shopifyでは、同じ商品に複数の選択肢がある場合、Optionの組み合わせごとにバリエーションが作られます。たとえば「色」と「サイズ」がある商品なら、赤/S、赤/M、青/Sのような組み合わせがVariantになります。CSVではこの組み合わせを行で表すため、1つのセルだけでなく行全体の対応を見ます。

    よくある原因

    • Option1 Name を「Color」から「カラー」に変えて、既存データとずれる
    • Option1 Value の表記ゆれで同じ色が別扱いになる
    • SKU列だけ並べ替えられ、Option列との対応が崩れる
    • 価格、Barcode、重量などのVariant列を別バリエーションに入れてしまう
    • 単品商品からバリエーション商品へ変える作業を一括で行う

    確認する列

    まず Handle ごとに行をまとめます。その上で Option1 NameOption1 ValueOption2 NameOption2 ValueOption3 NameOption3 Value を見ます。次に Variant SKUVariant PriceVariant BarcodeVariant Inventory Tracker を横に並べ、Optionの組み合わせと一致しているか確認します。

    手作業で直す場合

    いきなり全商品を修正せず、代表的な1商品を管理画面で開き、現在のバリエーション一覧をCSVと照合します。Option名は既存の商品に合わせ、値の表記も「S」「M」「L」なのか「Small」「Medium」なのかを揃えます。SKUやBarcodeはOption列から自動で推測せず、仕入れ元データや現行エクスポートを正として見比べます。

    自動化できる部分

    チェックツール化しやすいのは、同一Handle内のOption組み合わせ重複、Option名の表記ゆれ、SKU空欄、SKU重複、Barcodeの桁や先頭0の欠落、価格の空欄です。投入前に「このHandleではバリエーション数が何件から何件に変わるか」を出すだけでも、事故はかなり見つけやすくなります。商品の選択肢をどう設計するかは、人間が販売方法を見て決める部分です。

    注意点

    バリエーションの修正は、商品ページの見た目だけでなく在庫、広告フィード、受注後のSKU確認にも影響します。CSVだけを見て正解を断定せず、管理画面と現在の受注・倉庫運用も確認してください。初回相談では、全CSVではなく問題が出ている1商品の列構成だけでも、壊れ方の整理はできます。

    参考にした公式情報

    この記事の内容で困っている方へ

    Shopify CSV / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料診断を依頼する
  • Shopify CSVの空欄は変更なしではなく空で上書きされるのか

    Shopify CSVの空欄は変更なしではなく空で上書きされるのか

    CSV更新で怖いのは、値を入れた列よりも「空欄の列」です。Shopify商品CSVを編集していると、空欄は何もしないという感覚になりがちですが、インポートの設定や列の扱いによっては、既存の商品情報を空の値で上書きする可能性があります。

    まず何を切り分けるか

    空欄には2種類あります。ひとつは「説明文を消したい」「Barcodeを空にしたい」という意図した空欄。もうひとつは「今回は触りたくない列だが、エクスポートしたCSVに空で入っている」という意図しない空欄です。この2つを同じCSVに混ぜると、投入前レビューが難しくなります。

    よくある事故

    • 商品説明やSEO titleが空欄で上書きされる
    • Variant Barcodeを消すつもりがないのに空になる
    • 画像URL列を並べ替えて、画像の紐づけが外れる
    • 公開状態、価格、重量など関係ない列まで同時に更新する
    • バックアップCSVがなく、どの値に戻すべきか分からなくなる

    確認する列

    更新したい列を先に決めます。たとえば価格だけを変えたいなら、Handle、Option列、Variant SKUVariant Price など、照合と更新に必要な列を中心に見ます。説明文、画像、SEO、Barcode、在庫関連など、今回触らない列に空欄が多い場合は、その列を含めてよいか慎重に判断します。

    手作業で進める手順

    まず現行の商品CSVをエクスポートして保管します。次に、更新用CSVの列を「照合に必要」「今回更新する」「触らない」の3つに分けます。触らない列に空欄がある場合は、空欄の意味を確認するまで投入しないほうが無難です。少数の商品だけを対象にしたテストCSVを作り、管理画面でどう変わるか確認してから全件に広げます。

    自動化できる部分

    投入前チェックでは、空欄セルの数を列ごとに集計し、現行CSVでは値があるのに更新CSVでは空欄になっている場所を一覧化できます。「このCSVを入れると空になりそうな列」を事前に出せると、削除したい空欄と事故になりそうな空欄を分けやすくなります。最終的にその空欄を許可するかは、店舗側の作業意図で判断します。

    注意点

    CSVの挙動は、使う画面、インポート設定、列構成、アプリ連携によって確認が必要です。ここでは「必ずこうなる」とは言い切らず、投入前に何を見れば事故を減らせるかに絞っています。初回相談ではCSV全体を送る必要はありません。更新したい列、空欄が不安な列、過去に消えた項目を整理できれば十分です。

    参考にした公式情報

    この記事の内容で困っている方へ

    Shopify CSV / 一括編集 まわりの作業を、まず無料診断で修正TODOに分けます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料診断を依頼する