Category: EC運用メモ

  • Merchant Centerの価格・在庫エラーをShopifyの商品ページと見比べる手順

    Merchant Centerの価格・在庫エラーをShopifyの商品ページと見比べる手順

    価格・在庫エラーでは、Shopify管理画面の値、商品ページに表示される値、Merchant Centerに届いているフィード値を同じ商品で見比べます。price mismatch や availability mismatch は、CSVの値だけでなく、セール価格、Marketsの通貨、在庫ロケーション、テーマや構造化データの表示とも関係します。まず1商品で差分の場所を特定してから、全体の修正方針を決めます。価格変更や在庫更新が頻繁に起きる店舗では、同期のタイミング差がエラーとして出ることも多いため、「値が違う」ことと「直すべき値が違う」ことを分けて考えます。

    価格・在庫エラーは3つの値を比べる

    Merchant Centerで price mismatch や availability mismatch が出たとき、最初にやることは「同じ商品の値を3カ所で見比べる」ことです。

    • Shopify管理画面の値(商品詳細画面の価格・在庫フィールド)
    • 商品ページに実際に表示される値(ブラウザで開いて見える価格・在庫状態)
    • Merchant Center商品詳細画面の値([商品] > [商品一覧] > 対象商品の詳細)

    この3カ所で値がすべて同じであれば、一時的な同期遅れやクロールタイミングのズレの可能性があります。どこかが違っていれば、その差がエラーの原因です。

    具体的には、Merchant Centerの商品詳細画面を開き、price 属性と availability 属性の値を確認します。次に、Shopify管理画面で同じ商品(SKU または handle で検索)を開き、Variant Price と inventory_quantity を確認します。最後に、その商品ページをブラウザのシークレットモードで開き、表示されている価格と在庫状態を確認します。

    3カ所確認のチェックリスト

    • ☐ Merchant Center商品詳細の price(例: 3980 JPY)をメモ
    • ☐ Shopify管理画面の Variant Price(例: 3,980円)をメモ
    • ☐ 商品ページの表示価格(税込/税抜に注意)をメモ
    • ☐ Merchant Centerの availability(in stock / out of stock)をメモ
    • ☐ Shopify管理画面の在庫数と在庫ポリシーをメモ
    • ☐ 商品ページの購入ボタンの状態(購入可/売切れ)をメモ

    price mismatch で見る価格項目

    price mismatch は「Merchant Centerに届いている価格が、ランディングページ(商品ページ)の表示価格と一致していない」というエラーです。ここでいう「一致」は、完全に同じ数字でなければならないわけではなく、消費者が商品ページを開いて確認できる価格と、フィードで送っている価格が矛盾していないことが基準になります。

    通常価格(Variant Price)のズレ

    Shopify管理画面の Variant Price が Merchant Center の price 属性に反映されます。この間にズレが起きるケースは以下の通りです。

    • セール価格を設定したが、フィードアプリの同期がまだ走っていない
    • Google & YouTubeアプリの同期間隔(通常15〜30分)の間に価格を変更した
    • CSV一括更新で Variant Price を変えたが、商品が再同期されていない
    • Markets機能で通貨変換しており、日本円とドルで違う値が送られている

    比較価格(Compare-at price)とセール価格のズレ

    Shopifyの Compare-at price は「以前の価格」を示すフィールドで、これが設定されているとテーマによってはセール表示になります。Merchant Center 側では sale_price 属性に相当します。ここでよくあるズレは以下の通りです。

    • Compare-at price を設定したが、フィードアプリが sale_price として送っていない
    • セール期間(開始日・終了日)がShopify側とフィード側でずれている
    • Compare-at price の値が Variant Price より低い(設定ミス)
    • セール終了後に Compare-at price を消し忘れている

    通貨と税込・税抜のズレ

    日本のECでは税込価格で表示することが多いですが、Merchant Center に送る価格が税抜になっているケースがあります。また、Shopify Markets で複数通貨を扱っている場合、日本円の商品をドル圏向けに自動変換した価格がフィードに入るため、価格表示と一致しないことがあります。

    確認ポイント:

    • Shopify管理画面の [設定] > [ストア詳細] > 「税を価格に含める」のオン/オフ
    • Markets で有効にしている通貨と、Merchant Center のターゲット国の通貨
    • フィードアプリの価格送信設定(税込送信か税抜送信か)

    availability mismatch で見る在庫項目

    availability mismatch は「Merchant Centerに届いている在庫状態が、商品ページの在庫状態と一致していない」というエラーです。在庫状態は単純な「あり/なし」だけでなく、予約販売や取り寄せの扱いも関係します。

    在庫あり・なしのズレ

    Merchant Center の availability 属性には in stockout of stock を送ります。この値と商品ページの在庫状態がズレるケースは以下の通りです。

    • Shopifyで在庫を0にしたが、フィード同期がまだ走っていない
    • 在庫を追加した直後で、Merchant Centerのクロールが新しい状態を反映していない
    • フィードアプリが inventory_quantity を見ずに固定値(常に in stock)を送っている
    • 在庫ポリシーが「在庫切れ時も購入を許可する」になっている

    予約販売・取り寄せの扱い

    Shopifyでは「予約販売」や「取り寄せ」の概念がありますが、Merchant Center側では preorderbackorder として扱うかどうかがフィードアプリの設定に依存します。商品ページに「予約販売」と書いてあるのに、フィードでは in stock として送られていると、availability mismatch の対象になります。

    確認ポイント:

    • フィードアプリの在庫マッピング設定(在庫数0のときにどう送るか)
    • 予約販売商品の在庫ポリシーと表示設定
    • 取り寄せ商品のフィード上の取り扱い

    在庫ロケーションのズレ

    複数の在庫拠点(ロケーション)がある場合、特定の拠点だけ在庫が0になっていることがあります。Shopifyの在庫数はロケーションごとに管理されているため、全体の在庫はあるのに特定の販売チャネル向けには在庫なしになっているケースがあります。

    確認ポイント:

    • [管理画面] > [在庫] でロケーションごとの在庫数を確認
    • 商品の販売チャネル設定で、Google & YouTubeチャネルが有効か
    • 特定ロケーションを除外する設定がないか

    更新タイミングと同期遅れを分ける

    価格や在庫は変更頻度が高いため、「値が違う」と検出されたとき、それが「値の設定ミス」なのか「同期タイミングのズレ」なのかを分ける必要があります。

    セール開始直後のタイミングズレ

    セール価格を一括で設定した直後は、以下のタイムラグが発生します。

    1. Shopify管理画面で価格変更 → 即時反映
    2. フィードアプリが変更を検知 → 通常5〜30分
    3. Merchant Centerがフィードを受信 → 通常15〜60分
    4. Googleのクローラーが商品ページを確認 → 数時間〜1日

    セール開始直後に price mismatch が出た場合、数時間待ってから再度確認します。解消されていれば同期遅れ、残っていれば設定ミスです。

    在庫更新直後のタイミングズレ

    在庫も同様で、入荷・売切れのたびにフィード更新とMerchant Centerの再クロールが必要です。高回転商品では、常に price mismatch / availability mismatch が出たり消えたりを繰り返すことがあります。

    フィードアプリの同期間隔を確認する

    Google & YouTubeアプリを使っている場合は、アプリ設定画面で同期間隔を確認できます。サードパーティのフィードアプリを使っている場合は、そのアプリのスケジュール設定を確認します。リアルタイム同期を謳うアプリでも、実際には数分〜数十分の遅れが出ることがあります。

    一覧化して優先順位を付ける

    価格・在庫エラーが多数出ている場合、すべてを一度に直すのは現実的ではありません。以下の基準で優先順位を付けます。

    優先順位 対象 理由 確認すること
    広告配信中の商品 クリック単価が無駄になる Merchant Centerのキャンペーン対象商品を確認
    高額商品 価格ズレの金額差が大きい 商品ページ価格とフィード価格の差分を確認
    セール対象商品 セール期間中にズレると機会損失 セール開始・終了のタイミングと同期状況
    対象国別の商品 通貨変換のズレが起きやすい Markets設定とフィードの通貨・価格
    在庫切れの常時商品 広告配信に影響しにくい availability の送信設定

    エラー商品の一覧表テンプレート

    商品名 handle / SKU Merchant Center価格 商品ページ価格 Shopify価格 差分原因 対応状況
    (例)Tシャツ白M tshirt-white-m 2,980 JPY 3,280円(税込) 2,980 税込/税抜 未対応
    (例)バッグ黒 bag-black 5,500 JPY 5,500円 5,500 同期遅れ 経過観察

    自動化できる確認作業

    以下の確認は、CSVやスクリプトを使って一括で処理できます。

    • 価格差分の抽出:Shopify商品CSVの Variant Price 列と、フィードCSVの price 列を SKU で突き合わせ、差がある商品を抽出
    • 0在庫・在庫ありの不一致検出:Shopify CSV の inventory_quantity が0の商品に対して、フィードの availability が in stock になっているものを抽出
    • 通貨コード・価格形式の検査:フィードCSVの price 列に通貨コード(JPY、USD等)が正しく付いているか、数値以外の文字が混入していないかを確認
    • セール価格の期間チェック:sale_price が設定されている商品で、開始日・終了日が現在日に対して適切かを確認
    • Compare-at price の整合性チェック:Compare-at price が Variant Price より低い商品(設定ミスの疑い)を抽出

    人間判断が必要な確認作業

    以下は自動化で候補を出しても、最終的な判断は人間が行う必要があります。

    • セール価格の運用方針:どの商品をいつセール対象にするかは事業判断です。自動で価格を変えるルールを導入するかどうかも運用次第です。
    • 予約販売・取り寄せの表示:商品ページに「予約販売」と書くべきか、在庫ありとして表示するかは、顧客期待と販売方針に関わります。
    • どの在庫ロケーションを正とするか:複数拠点がある場合、Google Shopping向けにどの拠点の在庫を基準にするかは配送方針に関わります。
    • 税込・税抜の表示方針:フィード価格を税込にするか税抜にするかは、店舗の価格表示方針と対象国の慣習によります。
    • 価格ズレを直ちに修正すべきか待つべきか:同期遅れの可能性がある場合、何時間待つかは運用判断です。

    断定してはいけない注意点

    • Google Merchant Center の価格・在庫データ仕様は変更される可能性があります。最新の公式ヘルプで price 属性と availability 属性の要件を確認してください。
    • Shopify Google & YouTubeアプリやサードパーティフィードアプリの同期動作は、アプリのバージョンや設定によって異なります。アプリの最新ヘルプも参照してください。
    • price mismatch / availability mismatch の判定タイミングは Google 側のクロールに依存するため、修正後に即座にエラーが消えるとは限りません。
    • 税務や消費税の計算方法については、税理士等の専門家にご確認ください。

    price mismatch や availability mismatch が出て、どの値がずれているか分からない場合はご相談ください。対象商品数、価格変更の頻度、在庫管理の方法をお伺いすれば、確認すべきポイントをご案内します。初回相談では、機密CSVや管理画面のスクリーンショットの送付は不要です。

    参考にした公式情報

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

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

    無料診断を依頼する
  • missing GTINが出たとき、ShopifyのBarcode・Variant Barcode列で確認する項目

    missing GTINが出たとき、ShopifyのBarcode・Variant Barcode列で確認する項目

    Google Merchant Centerの診断画面でmissing GTIN(missing_gtin)が出たとき、Shopify側で最初に見るのは商品詳細のBarcode欄、または商品CSVのVariant Barcode列です。GTIN(JAN/EAN/UPC)が空欄のまま送られている可能性が高い一方、ハンドメイド商品のようにGTIN自体が存在しないケースもあります。まず商品の種類を整理し、identifier_existsをnoにしてよい商品の見分け方と合わせて確認していきます。

    missing_gtin は何を求められているエラーか

    Google Merchant Center は、商品データの gtin 属性が空欄のときに missing_gtin を通知します。GTIN とは Global Trade Item Number の略で、日本で流通している JAN コード、欧米の EAN・UPC も GTIN の一種です。

    missing_gtin が出た場合、まず次の2点を区別して考えます。

    • その商品に GTIN が本来存在するのか(メーカー品や仕入れ品であれば、パッケージや仕入先データに JAN コードがあるはず)
    • その商品に GTIN が存在しないのか(ハンドメイドやオリジナル商品であれば、GTIN そのものが存在しないのが正常)

    この区別によって、取るべき対応が変わります。GTIN が存在する商品なら Barcode 欄に正しく入力する必要があり、GTIN が存在しない商品なら identifier_exists を使った申告が必要になります。

    GTIN / JAN / EAN / UPC の関係

    用語 桁数 使われる地域・場面 備考
    JAN コード 8桁または13桁 日本国内 日本のGS1事業者コードが付与
    EAN 8桁または13桁 欧州・国際的 JAN コードもEANの一種
    UPC 12桁 北米中心 米国・カナダで広く使われる
    GTIN 8・12・13・14桁 Google Merchant Center 上記をまとめた概念

    Google Merchant Center はこれらをまとめて GTIN として扱います。Shopify の Barcode 欄に入力した値が、Google 側の gtin 属性として送られます。

    Shopifyで最初に見るのは Barcode 欄

    missing_gtin が出た商品について、Shopify の管理画面で次の手順で確認します。

    管理画面で確認する手順

    1. Shopify 管理画面の「商品」を開く
    2. 対象商品をクリックし、variant(サイズや色など)のセクションを開く
    3. 各 variant の「Barcode」欄を確認する
    4. 空欄の場合は、その商品に JAN コード等が存在するかを確認する

    商品CSVで確認する場合

    商品CSVをダウンロードし、次の列を確認します。

    • Variant Barcode 列:JAN/EAN/UPC の値が入る列。空欄の場合は GTIN が送られない
    • Variant SKU 列:管理用番号。ここに JAN コードを入れている場合は Barcode 列に移動する必要がある

    CSVをExcelで開くと、先頭が0の JAN コード(例:0123456789012)が 123456789012 になってしまうことがあります。この場合、セルの書式を「文字列」に変更してから開き直すか、テキストエディタで直接確認してください。

    SKUとJAN/EAN/UPCを混同していないか

    よくあるミスのひとつに、Variant SKU に JAN コードを入力し、Variant Barcode を空欄のままにしているケースがあります。SKU は店舗ごとの在庫管理番号であり、GTIN ではありません。invalid GTINとSKU・JANを混同していないかSKUとBarcodeの違いをCSVで確認する考え方も合わせて見てください。

    Variant SKU と Variant Barcode の違い

    項目 Variant SKU Variant Barcode
    目的 在庫管理・受注管理用の社内番号 JAN/EAN/UPC などの商品識別コード
    一意性 店舗内で一意 世界共通
    Google への送信先 sku 属性(GTIN としては送られない) gtin 属性
    よくある誤り SKUにJANコードを入れている Barcode が空欄でSKUだけ入っている

    確認のポイントは、Variant SKU と Variant Barcode に同じ値が入っていないかを確認することです。もし同じ値が入っている場合、本当に JAN コードなのか、社内管理番号なのかを見分ける必要があります。

    SKU/Barcode同一値の簡易チェック方法:
    商品CSVをダウンロードし、Variant SKU 列と Variant Barcode 列を並べて比較します。値が完全に一致している行があれば、その商品は SKU を Barcode にコピーしている可能性が高いです。その値が本当に JAN/EAN/UPC かどうかを、仕入先データやパッケージと照合してください。

    メーカー品・独自商品で判断が変わる

    GTIN の扱いは商品の種類によって大きく変わります。まず自分の扱う商品を次の分類に当てはめて考えます。

    商品分類とGTINの関係

    商品タイプ GTINの有無 brand / MPN identifier_exists 確認すること
    メーカー品・仕入れ品 ある(JANコードが存在) ある(メーカー名・型番) TRUE(または省略) 仕入先データやパッケージでJANを確認し Barcode 欄に入力
    独自商品・ハンドメイド ない ブランド名のみ、またはなし FALSE(no) 本当に識別子が存在しないことを確認
    中古品・一点物 元商品のGTINがある場合が多い 元商品のbrand/MPN ケースによる 元商品の識別子を確認、状態によって扱いが変わる
    セット商品 構成品にはあるがセット全体にはない場合も 販売元ブランド ケースによる セット全体のGTIN有無を確認

    メーカー品・仕入れ品の場合

    GTIN が存在するはずの商品では、Barcode 欄に正しい値を入力します。仕入先のCSVや商品台帳に JAN コードの列があれば、それを Variant Barcode に反映させます。この場合、identifier_exists は TRUE(または省略)で問題ないことが多いですが、実際の対応は商品の状況によります。

    ハンドメイド・オリジナル商品の場合

    GTIN が存在しない商品では、identifier_exists を FALSE(no)に設定します。ただし、この設定はフィードアプリ側で行うことが一般的です。Shopify の標準機能には identifier_exists を直接入力する列はないため、Google & YouTube アプリや、利用中のフィードアプリの属性マッピング・フィードルール設定で対応します。JANコードの入力前にVariant BarcodeにJANを入れる前の確認も参照してください。

    identifier_exists を no にする前に確認すること:

    • その商品に本当に GTIN が存在しないか
    • brand(ブランド名)も MPN(メーカー型番)も存在しないか
    • 将来メーカー品として JAN コードを取得する予定はないか

    先頭0や桁数崩れを確認する

    JAN コードの先頭が0の場合、CSVを Excel で開いた時点で先頭0が消えることがあります。これも missing_gtin や invalid_gtin の原因になります。

    先頭0消失の確認手順

    1. 商品CSVをテキストエディタ(メモ帳やVS Codeなど)で開く
    2. Variant Barcode 列の値を確認する
    3. 先頭が0であるべき値が、0なしで登録されていないかを見る
    4. Excel で編集する場合は、先に列全体を「文字列」に書式設定してからCSVを開く

    桁数の目安

    コード種 正しい桁数 先頭0消失時の見え方
    JAN(13桁) 13桁 12桁になる
    JAN(8桁) 8桁 7桁になる
    UPC(12桁) 12桁 11桁になる
    GTIN-14 14桁 13桁になる

    桁数がこれらと合わない場合は、Excel での値崩れ、または誤ったコードの入力が疑われます。

    自動化できる部分

    次の確認作業は、スプレッドシートの関数や簡単なスクリプトで機械的に処理できます。

    • Variant Barcode 空欄検出:商品CSVの Variant Barcode 列が空欄の行を抽出する
    • SKU / Barcode 同一値検出:Variant SKU と Variant Barcode が同じ値の行をリスト化する
    • JAN/EAN/UPC 桁数チェック:Barcode 値の文字数を数え、8・12・13・14のいずれでもない行を抽出する
    • 先頭0消失疑いの検出:12桁または7桁の値がある場合、本来13桁または8桁だった可能性を警告する

    これらは商品CSVをダウンロードした後に、Google スプレッドシートに読み込んで関数で処理できます。LEN 関数で桁数確認、IF 関数で SKU/Barcode の同一値チェックが可能です。

    人間判断が必要な部分

    次の判断は、データだけでは決められず、商品の実態を知る担当者が確認する必要があります。

    • その商品がメーカー品か独自商品か:仕入先や制作方法によって GTIN の有無が変わる
    • GTIN が本当に存在しないか:Barcode が空欄でも、仕入先データに JAN コードがあるかもしれない
    • identifier_exists を no にしてよいか:メーカー品で GTIN が未入力なだけの場合、no にすると別のポリシー違反につながる可能性がある
    • 仕入先データのどの列が JAN/EAN/UPC か:仕入先CSVの列名が「商品コード」「JAN」「EAN」など様々で、どれが GTIN に該当するかを見極める必要がある

    注意点

    • Google Merchant Center の商品データ仕様(gtin、identifier_exists、brand、mpn)は更新される可能性があるため、最新の公式ヘルプで確認してください
    • Shopify の商品CSV仕様も変更される場合があります。CSVの列名や挙動は、操作時の公式ヘルプを参照してください
    • JAN コードの取得・発行については、GS1 Japan の公式サイトをご確認ください。本記事では既存のコードの確認手順に絞っています

    関連して確認したい記事

    JAN/GTIN/MPNの扱いは商品タイプによって変わります。実データを送らず、商品の種類と今出ているエラー名だけでも整理できます。初回相談では、機密CSVやスクリーンショットの送付は不要です。

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

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

    無料診断を依頼する
  • 商品画像にSALE文字を入れる前に、Google Shopping向けに確認すること

    商品画像にSALE文字を入れる前に、Google Shopping向けに確認すること

    ECサイトの商品画像では、SALE、送料無料、ランキング1位、期間限定、公式ロゴ、ショップロゴなどを画像に入れたくなることがあります。商品一覧で目立たせたい、キャンペーン感を出したい、SNSでも使い回したい、という理由は自然です。

    ただし、同じ画像をGoogle Shoppingや無料リスティングの商品画像として使う場合は注意が必要です。Googleの商品画像のヘルプでは、商品を覆う販促テキスト、透かし、ロゴ、枠線、価格情報などが問題になり得ると説明されています。ストア上ではよく見える画像でも、商品フィード用画像としては不利になる場合があります。

    この記事では、商品画像にSALE文字やバッジを入れる前に、Google Shopping向けに確認したいポイントを整理します。Googleの承認を保証するものではありません。商品画像を作る前、またはフィードに出す前のチェックリストとして使う想定です。

    商品ページ用画像とフィード用画像を分けて考える

    まず大事なのは、「ストア内で売るための画像」と「Googleの商品掲載で使う画像」を同じものとして考えすぎないことです。

    ストア内では、SALEラベルや送料無料バッジが購入を後押しすることがあります。一方、Google Shoppingでは、商品そのものが明確に見える画像が求められます。画像の中に販促情報が入りすぎると、商品を見せる画像ではなく広告バナーのように見えてしまいます。

    そのため、商品画像を作るときは、最低でも次の2種類を分けて考えると安全です。

    用途 向いている画像 注意点
    ストアの商品ページ ブランド感や説明を含めた画像 テーマや商品一覧での見え方を確認
    Google Shopping向け 商品がはっきり見える画像 販促文字、ロゴ、枠線、透かしを避ける
    SNS・広告バナー 訴求文やキャンペーンを含む画像 商品フィード用画像と混ぜない

    SALE文字や送料無料バッジは、商品画像に直接入れない方が安全

    Googleの画像リンクのヘルプでは、商品を覆う販促要素の例として、購入を促す言葉、サービス関連情報、送料無料、価格情報、販促的な形容詞、透かし、ロゴ、枠線などが挙げられています。

    つまり、次のような画像は、Google Shopping向けには注意が必要です。

    • 画像の上に大きくSALEと書いている
    • 送料無料、30%OFF、期間限定などの文字が入っている
    • ショップロゴやブランドロゴを後から重ねている
    • 透かしやコピー防止文字が入っている
    • 画像全体に枠線や装飾フレームがある
    • ランキング、レビュー、No.1表記が画像内にある

    もちろん、商品のパッケージ自体に印刷されているロゴや文字まで消すという意味ではありません。問題になりやすいのは、商品そのものではなく、あとから画像編集で重ねた販促要素です。

    商品が主役になっているかを見る

    画像チェックでは、細かいルールを見る前に「この画像は商品そのものが主役か」を見ます。画像の中でSALE文字の方が目立つ、余白が少なく商品が切れている、背景や装飾が強すぎる、という状態だと、フィード用画像としては弱くなります。

    特に小規模ECでは、Canvaや画像編集アプリで作ったバナー画像を、そのまま商品画像として使うことがあります。SNS用には良くても、商品フィード用には別画像を用意した方がよいケースがあります。

    画像サイズとURLも確認する

    画像の中身だけでなく、画像URLやサイズも確認します。Googleの画像リンクヘルプでは、より良い表示のために高解像度の画像が推奨されています。商品画像が小さすぎる、URLが切れている、ログインしないと見られない、リダイレクトが多い、という場合も問題になります。

    最低限、次を確認します。

    • 画像URLをシークレットウィンドウで開けるか
    • 商品が小さすぎないか
    • 画像がぼやけていないか
    • 商品が切れていないか
    • 背景や余白が極端ではないか
    • 同じ画像を複数商品に誤って使っていないか

    Shopifyでは、どの画像がフィードに出ているかを見る

    Shopifyの商品管理画面に複数画像がある場合、どの画像が商品フィードに使われているかを確認してください。商品ページでは2枚目、3枚目にきれいな白背景画像があっても、フィードには1枚目のSALE入り画像が送られている、ということがあります。

    フィードアプリやGoogle & YouTube連携を使っている場合は、アプリ側で画像の選択やマッピングができるかも見ます。画像を作り直す前に、既にある別画像をフィード用に使えるなら、その方が早い場合があります。

    画像を直す前の判断基準

    すべての画像を一括で作り直す必要はありません。まずは、問題になりそうな画像を分類します。

    状態 対応
    商品画像にSALE文字が大きく重なっている フィード用の別画像を用意する
    ロゴが商品そのものに印刷されている 基本的にはそのまま。後付けロゴとは分けて考える
    枠線や装飾フレームがある 枠なし画像を用意する
    画像が小さい・荒い 高解像度画像に差し替える
    背景が強すぎて商品が見えにくい 白背景やシンプルな背景にする

    小さく自動化できる部分

    商品数が多い場合、すべての画像を手で見るのは大変です。最初から画像を自動修正するのではなく、まずは「危ない画像を拾う」だけでも効率化できます。

    • 画像URLが存在するかチェックする
    • 画像サイズが小さすぎないか確認する
    • OCRで画像内の文字候補を拾う
    • SALE、OFF、送料無料、No.1などの文字候補を一覧にする
    • 枠線や透かしの疑いがある画像を人間確認に回す
    • 商品ID、画像URL、問題候補をCSVで出す

    画像認識は誤検知があります。そのため、自動で差し替えるよりも、まずは「この画像は確認した方がよい」という一覧を作る方が安全です。最終判断は人間が行い、必要な画像だけ差し替える運用が現実的です。

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

    商品画像まわりの相談では、次の情報があると状況を把握しやすくなります。

    • 不承認や警告のエラー名
    • 対象商品数
    • 画像に入れている文字やロゴの種類
    • Shopifyの商品画像とフィード用画像を分けているか
    • 画像を作っているツール
    • 手作業で差し替える場合に何分かかるか

    最初から画像ファイルを送る必要はありません。まずは代表的な商品ページURLや、どういう文字を入れているかが分かれば、確認ポイントを整理できます。

    参考にした公式情報

    この記事はGoogleやShopifyの公式サポートではありません。掲載内容は商品画像を確認するための参考情報であり、Google Merchant Centerの承認や広告成果を保証するものではありません。

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

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

    無料診断を依頼する
  • Merchant Centerのエラー名をShopify側の修正箇所に分ける6種類の見方

    Merchant Centerのエラー名をShopify側の修正箇所に分ける6種類の見方

    Google Merchant Centerの商品データに関する問題画面に出るエラー名だけでは、Shopifyのどこを直せばよいかは分かりません。まずエラーを「商品識別子」「画像」「価格・在庫」「配送・返品」「言語・通貨」「フィード同期」の6種類に分け、ShopifyからMerchant Centerへの商品フィードの流れを踏まえて修正箇所を特定します。GTIN系のエラーならmissing GTINのShopify確認項目から入るのが近道です。

    Merchant Centerのエラーをそのまま直そうとしない

    Merchant Centerでエラーが出たとき、まずやってしまいがちなのが「Merchant Center側で何かを直そうとする」ことです。しかし、Merchant Center側に表示されているデータは、Shopifyから送られたフィードをそのまま反映していることがほとんどです。Merchant Center側で直接値を上書きしても、次回のフィード同期で元の値に戻ってしまいます。

    エラー名は原因ではなく入口

    Merchant Centerの [品質] > [商品データに関する問題] に表示されるエラー名は、何が起きているかを示すものであり、どこを直せばよいかを直接示すものではありません。

    例えば、「Item does not match any postal code in shipping settings」というエラーが出た場合:

    • Merchant Center側の原因:配送設定に含まれていない郵便番号がある
    • Shopify側の原因:配送プロファイルでその地域の送料が未設定、またはMarketsでその国が有効になっていない
    • 実際に直す場所:Shopifyの配送プロファイル、またはMerchant Centerの配送設定

    このように、エラー名を見たときに「Shopifyのどこを見るべきか」を変換する必要があります。

    商品単位・属性単位・アカウント設定単位に分ける

    エラーの粒度は3つに分かれます。

    • 商品単位のエラー:特定のSKUやhandleだけに出ているエラー。該当商品のデータを修正
    • 属性単位のエラー:特定の属性(価格、画像、GTINなど)で多数の商品に出ているエラー。該当属性の設定を見直す
    • アカウント設定のエラー:全商品または対象国全体に出ているエラー。配送設定、返品設定、税設定などアカウントレベルの設定を見直す

    Merchant Centerのエラー詳細画面で「影響を受ける商品」の件数を確認し、この3つのどれに該当するかを最初に判断します。

    Shopify側の修正場所に変換する

    Merchant CenterのエラーをShopify側の修正場所に変換するための対応表を整理します。価格・在庫系のエラーではCompare at Priceとsale_priceの対応、識別子系ではinvalid GTINとSKU・JANの確認も参照してください。

    エラー種類別の対応表

    エラーの種類 代表的なエラー名 Shopifyで見る場所 CSVで見る列 最初の修正タスク
    商品識別子 Missing GTIN, Brand missing 商品詳細、variant Variant Barcode, Vendor, SKU SKUとGTINの混同確認、空欄確認、桁数確認
    画像 Image link missing, Image cannot be crawled 商品画像セクション Image Src, Variant Image URL到達確認、空欄確認、画像内容確認
    価格・在庫 Price mismatch, Availability mismatch 価格、比較価格、在庫 Variant Price, Inventory Qty 商品ページとフィード値の差分確認
    配送・返品 Shipping error, Returns policy error 配送設定、返品ポリシー、Markets 商品単位ではなく設定側 対象国と配送/返品条件の確認
    言語・通貨 Language mismatch, Currency mismatch Markets、翻訳アプリ、通貨設定 title, description, price, currency 対象国とフィード言語のズレ確認
    フィード同期 Feed fetch failed, Processing error Google & YouTubeアプリ設定 フィードURL、スケジュール設定 フィードURLの到達確認、スケジュール確認

    各エラー種類の変換の考え方

    商品識別子エラー

    Missing GTIN(GTINがありません)や Brand missing(ブランドがありません)が出た場合、Shopify側では以下を確認します。

    • Barcode フィールド:商品詳細画面の「在庫」セクションにある Barcode(バーコード)が、GTIN(JANコード/EANコード)として正しいか。SKUと混同していないか。
    • Vendor フィールド:商品詳細画面の「商品の整理」セクションにあるベンダー(Brand として送られることが多い)が入力されているか。
    • 商品CSVの該当列:Variant Barcode 列に数字が入っているか、Vendor 列が空欄でないか。

    よくある問題:

    • SKUに「SKU-001」のような独自コードを入れていて、Barcode列が空欄
    • JANコードを入れるべきBarcode列に、間違えてSKUを入力
    • Vendor列に店舗名を入れていて、ブランド名が入っていない
    • バーコードの桁数が間違っている(JANコードは13桁または8桁)

    画像エラー

    Image link missing(画像リンクがありません)や Image cannot be crawled(画像をクロールできません)が出た場合、Shopify側では以下を確認します。

    • 商品画像セクション:対象商品に画像が登録されているか。
    • Image Src 列:商品CSVで画像URLが空欄になっていないか。
    • Variant Image:バリエーションごとに画像を割り当てている場合、特定のバリエーションだけ画像がないか。

    画像URLの到達確認や画像ポリシーの詳細は、別記事「商品画像のURLが切れていないか、CSVからまとめて確認する考え方」および「Google Shopping向け商品画像で、ロゴ・透かし・枠線をどう判断するか」を参照してください。

    価格・在庫エラー

    Price mismatch(価格が一致しません)や Availability mismatch(在庫状況が一致しません)が出た場合、Shopify側では以下を確認します。

    • Variant Price:商品の価格と、商品ページに表示されている価格が一致しているか。
    • Compare-at price:セール価格の設定とフィードの sale_price の対応。
    • inventory_quantity:在庫数と、商品ページの在庫状態(購入可/売切れ)の対応。
    • 在庫ポリシー:「在庫切れでも購入を許可する」設定の有無。

    価格・在庫エラーの詳細は、別記事「Merchant Centerの価格・在庫エラーで、Shopifyの商品ページとフィードを見比べる手順」を参照してください。

    配送・返品エラー

    Shipping error や Returns policy error が出た場合、Shopify側では以下を確認します。

    • 配送プロファイル:[設定] > [配送と配達] で配送エリアと送料が設定されているか。
    • 返品ポリシー:[設定] > [ポリシー] で返金ポリシーが入力されているか。
    • Markets:販売先市場が有効で、配送先国がMerchant Center側と一致しているか。

    配送・返品エラーの詳細は、別記事「ShopifyとGoogle Merchant Centerで配送・返品エラーが出るときに見る設定」を参照してください。

    言語・通貨エラー

    Language mismatch(言語が一致しません)や Currency mismatch(通貨が一致しません)が出た場合、Shopify側では以下を確認します。

    • Markets の言語設定:各市場の表示言語と、フィードに送られている言語が一致しているか。
    • 商品タイトル・説明の言語:title や description が対象国の言語で書かれているか。
    • 通貨設定:Markets で設定した通貨と、フィードの price に付いている通貨コードが一致しているか。

    まず1商品でエラーの再現条件を見る

    エラーの対応方針を決める前に、まず1商品でエラーがなぜ起きているのかを再現・確認します。すべての商品を一気に直そうとせず、1商品で原因を特定してから展開する方が効率的です。

    対象商品の情報を揃える

    Merchant Centerの商品詳細画面から、以下の情報を控えます。

    • 商品ID(Item ID):Merchant Centerで管理されている商品ID
    • SKU または handle:Shopify側で該当商品を特定するためのキー
    • variant ID:バリエーションがある場合はvariant単位で確認

    これらの情報をMerchant Centerの商品詳細画面で確認し、同じ商品をShopify管理画面で検索します。

    4カ所で同じ商品を見比べる

    1. Merchant Centerの商品詳細画面:[商品] > 該当商品の詳細ページ。price、availability、image_link、gtin などの値を確認
    2. Shopify管理画面の商品詳細:該当商品の管理画面。Variant Price、Barcode、Image Src などの値を確認
    3. 商品CSVの該当行:商品CSVをダウンロードし、該当商品の行を確認。各列の値が正しいか
    4. 商品ページのブラウザ表示:シークレットモードで商品ページを開き、価格・在庫・画像の表示を確認

    この4カ所で値を突き合わせ、どこにズレがあるかを特定します。

    1商品の確認チェックリスト

    • ☐ Merchant Centerの商品IDを控える
    • ☐ Shopify側のSKUまたはhandleで該当商品を検索
    • ☐ Merchant Centerの該当属性の値をメモ(price, availability, image_link など)
    • ☐ Shopify管理画面の該当フィールドの値をメモ
    • ☐ 商品CSVの該当行を確認
    • ☐ 商品ページをシークレットモードで開いて表示を確認
    • ☐ ズレがある場所と、その原因を特定

    商品数が多い場合はエラーを一覧化する

    1商品で原因が特定できたら、同じエラーが出ている他の商品にも同じ問題がないかを確認します。商品数が多い場合は、エラーを一覧化して全体像を把握します。

    Merchant Centerからエラー一覧を取得する

    Merchant Centerの [品質] > [商品データに関する問題] 画面で、各エラーの「影響を受ける商品」の数を確認します。必要に応じて、Merchant Centerのフィルター機能やCSVダウンロード機能を使って、エラー商品の一覧を取得します。

    エラー一覧表のテンプレート

    エラー名 エラー種類 影響商品数 Shopifyで見る列 修正担当 対応状況
    Missing GTIN 商品識別子 (件数) Variant Barcode 商品担当 未対応
    Image link missing 画像 (件数) Image Src 商品担当 未対応
    Price mismatch 価格・在庫 (件数) Variant Price EC運営 未対応
    Shipping error 配送・返品 (件数) 設定側 EC運営 未対応
    Language mismatch 言語・通貨 (件数) title, description 翻訳担当 未対応

    エラー優先順位の付け方

    すべてのエラーを一度に直すのは現実的ではありません。以下の基準で優先順位を付けます。

    1. 商品不承認につながるエラー(image link missing、Missing GTIN など)→ 最優先。広告配信に直接影響
    2. 広告配信中のキャンペーン対象商品のエラー → 高優先度。クリック単価の無駄を防ぐ
    3. 全商品に出ているアカウント設定のエラー → 高優先度。一つの設定変更で全体に効く
    4. 一部商品の属性エラー → 中優先度。商品数とリソースに応じて段階的に対応
    5. 警告レベルの指摘 → 低優先度。必須対応ではないが、改善することで品質向上

    自動化できる確認と手で判断する確認を分ける

    Merchant Centerのエラー対応では、「自動化で一覧化・差分抽出できる確認」と「人間の判断が必要な確認」を明確に分けると作業効率が上がります。

    自動化でできること

    • エラー名ごとの確認列マッピング:エラー名とShopify CSVの列名の対応表に基づき、どの列を確認すべきかを自動判定
    • 対象商品ID/handle/SKU/variant IDの突合:Merchant Centerの商品IDとShopifyのSKU/handleを突き合わせ、該当商品を特定
    • 空欄・形式チェック:Barcode列の空欄、価格列の数値形式、画像URLの形式などを一括検査
    • エラー数・対象商品数・未確認項目の一覧化:エラーの全体像を可視化
    • 商品CSVとフィードCSVの差分抽出:同じSKUで価格、画像URL、在庫状態に差がないかを一括確認
    • URL到達確認:画像URLのHTTPステータスコードを一括取得

    人間が判断するべきこと

    • どの商品から直すべきかの優先順位:売上貢献度、広告配信状況、在庫状況を総合的に判断
    • 商品実態に合った識別子・画像・説明かどうか:データが形式的に正しくても、商品を正しく表しているかは人間が確認
    • 設定変更による販売条件や運用への影響:配送設定、返品ポリシー、Markets設定の変更は事業判断
    • 修正後のデータが適切かどうか:修正した値が本当に正しいかの最終確認
    • フィードアプリの設定変更の可否:アプリのマッピング設定を変更するかどうかは、他への影響を考慮して判断

    自動化と人間判断の分担表

    作業 自動化 人間判断 補足
    エラー商品の抽出 Merchant Centerのデータから自動抽出
    SKU/handleの突合 CSVのキー列で自動突合
    空欄・形式の検出 正規表現や型チェックで自動検出
    価格差分の抽出 数値比較で自動抽出
    画像URLの到達確認 HTTPリクエストで自動確認
    GTINの桁数チェック 13桁/8桁の形式チェック
    修正の優先順位付け 売上・広告・リソースを考慮
    商品実態との一致確認 目視確認が必要
    運用方針の判断 事業判断が必要
    修正値の妥当性確認 最終確認は人間
    フィードアプリ設定変更 他への影響を考慮

    断定してはいけない注意点

    • Google Merchant Center の商品データ仕様は変更される可能性があります。最新の公式ヘルプで各属性の要件を確認してください。
    • Merchant Center の Issue Details Page や診断画面の表記は、インターフェースのアップデートで変わることがあります。
    • Shopify Google & YouTubeアプリやサードパーティフィードアプリの同期動作は、アプリのバージョンや設定によって異なります。アプリの最新ヘルプも参照してください。
    • エラーの対応方法は店舗の運用状況によって異なります。ここで紹介するのは一般的な考え方であり、個別の状況に合わせて判断してください。
    • 商品データの修正が直ちにエラー解消につながるとは限りません。同期タイミングや再クロールのタイムラグがあります。

    関連して確認したい記事

    エラー文だけで原因を決めず、Shopifyの商品データ・フィード設定・Merchant Center側の表示を分けて整理します。初回相談では機密CSVやスクリーンショットの送付は不要です。

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

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

    無料診断を依頼する