カテゴリー: EC運用メモ

  • Google & YouTubeアプリのエラーとMerchant Center画面の表示が違うときに見る順番

    Google & YouTubeアプリのエラーとMerchant Center画面の表示が違うときに見る順番

    ShopifyのGoogle & YouTubeアプリで「問題ありません」と表示されているのに、Merchant Centerの診断画面で不承認や警告が出ている――この表示のズレは、多くの場合「確認した時刻が違う」「見ている同期元が違う」ことが原因です。どちらかの画面が間違っているわけではなく、表示の基準時点とデータソースをそろえて比較する必要があります。

    本記事では、Shopifyアプリ画面、Merchant Centerの診断・商品詳細、フィードの更新時刻と最終同期時刻を順に確認する手順を整理します。商品ID、handle、SKU、フィード更新時刻をそろえたうえで、自動で検出できる項目と人間が判断する項目を分けて扱います。


    エラーが違って見える3つの理由

    Google & YouTubeアプリとMerchant Centerで異なる状態が表示される主な理由は、次の3つです。

    1. 同期タイミングの差――アプリ側が前回の同期結果をキャッシュしている間に、Merchant Center側で新しい診断が実行されている
    2. 参照しているデータの違い――アプリはShopifyの商品データを基準にチェックし、Merchant Centerはフィード経由で届いたXML/CSV値を基準に診断する
    3. 診断の粒度の違い――アプリは商品単位で「問題あり/なし」を表示し、Merchant Centerは属性単位で「不承認/警告/審査中」を分けて表示する

    「どちらが正しいか」を問うよりも、「今どの時点の、どのデータソースの結果を見ているか」を確認するのが先です。


    確認の前に:対象商品を1つ決めてIDをそろえる

    複数の商品を同時に確認すると、どの商品のエラーを見ているか分からなくなります。まずはMerchant Centerで不承認や警告が出ている商品を1つ選び、次の3つのIDをそろえてください。

    確認するID Shopifyでの確認場所 Merchant Centerでの確認場所 目的
    商品ID(数値) 管理画面 > 商品 > URLの /products/ 以降、または商品CSVの ID 商品詳細ページ > URL内の id= パラメータ、または[商品]一覧のID列 同じ商品を比較しているか確認
    Handle 商品管理画面のURL末尾、または商品CSVの Handle 商品詳細の link 属性の末尾(/products/handle 別商品の取り違えを防ぐ
    SKU 商品詳細ページの「在庫」セクション、または在庫CSVの SKU 商品詳細の mpn 属性や内部IDとして使われている場合がある variant単位で一致しているか確認

    1商品でIDがそろったことを確認したら、次のステップに進みます。


    ステップ1:Shopifyアプリ画面で確認する

    Google & YouTubeアプリの管理画面を開き、確認する手順です。

    1. Shopify管理画面の左メニューから [設定] > [アプリと販売チャネル] を開き、Google & YouTube を起動する
    2. [商品の状況] または [フィード] セクションを開き、対象商品の状態を確認する
    3. アプリ側で表示されているステータスを記録する(例:「承認済み」「問題なし」「修正が必要」)
    4. 最終同期時刻を確認する。アプリ画面の右上またはフィード設定付近に「最終同期」または「Last sync」の時刻が表示されている場合がある。この時刻をメモしておく

    ここでの確認ポイントは「アプリがShopifyの商品データを基準にチェックした結果」と「その最終同期時刻」の2点です。

    アプリ画面で出やすい表示と読み方

    アプリ側の表示 意味 次に確認すること
    「承認済み」または「問題なし」 アプリが前回同期した時点ではMerchant Center側で問題を検知していなかった Merchant Center側で最新の診断結果を確認する
    「修正が必要」 アプリが検知した問題(GTIN不足や画像の解像度など)がある 該当属性をMerchant Center側でも確認する
    「審査中」または「保留中」 Merchant Center側の審査が完了していない 審査完了後に再度両画面を比較する
    同期エラー ShopifyからMerchant Centerへのデータ送信自体に問題がある アプリ設定と接続状態を確認する

    ステップ2:Merchant Centerの診断画面で確認する

    Merchant Center側で、同じ商品の診断結果を確認します。

    1. Merchant Centerにログインし、[商品][診断] を開く
    2. 診断画面の上部に表示されている「最終更新」時刻を確認する。この時刻が、Shopifyアプリ側の「最終同期」時刻と大きく離れている場合、表示のズレは同期タイミングの差の可能性が高い
    3. 診断画面でフィルタや検索を使い、対象商品に関連するエラー・警告を表示する
    4. 診断の重要度(「エラー」「警告」「提案」)ごとに、該当する項目を記録する

    診断の重要度を混同しない

    診断の表示 影響 確認の優先度
    エラー(赤) 商品が不承認になり、広告に出なくなる可能性がある 最優先で確認
    警告(黄) 商品は承認されるが、パフォーマンスに影響する可能性がある エラー解消後に確認
    提案(青) 改善の提案。承認には直接影響しないことが多い 余裕がある時に確認

    ステップ3:Merchant Centerの商品詳細で属性値を確認する

    診断画面で分かるのは「どの属性に問題があるか」までです。実際の属性値を確認するには、商品詳細画面を開きます。

    1. [商品][商品](または[フィード])一覧から、対象商品をクリックする
    2. 商品詳細ページで、次の属性を確認する
    属性 確認する内容 Shopify側と比較する項目
    id Merchant Center内の商品ID Shopify商品CSVの ID
    title 商品名 Shopify商品CSVの Title
    description 商品説明 Shopify商品CSVの Body (HTML)
    image_link メイン画像のURL Shopify商品CSVの Image Src
    price 価格と通貨 Shopify商品CSVの Variant Price
    availability 在庫状況(in stock / out of stock Shopify商品CSVの Variant Inventory Qty
    gtin 国際商品番号(JANコードなど) Shopify商品CSVの Variant Barcode
    brand ブランド名 Shopify商品CSVの Vendor 列、または商品のベンダー設定
    mpn メーカー型番 Shopify商品CSVの SKU 列(マッピング設定による)

    属性値を確認するときは、Merchant Center側に表示されている値をそのままコピーし、Shopify側のCSV列や管理画面と見比べます。文字の全角半角、余分な空白、HTMLタグの混入に注意してください。


    ステップ4:フィード更新時刻と最終同期時刻を比較する

    最後に、両方の時刻を並べて同期のズレを確認します。

    時刻 確認場所 見方
    Shopify側の最終同期時刻 Google & YouTubeアプリのフィード設定画面 アプリが最後にShopifyデータを送信した時刻
    Merchant Center側のフィード取得時刻 [商品] > [フィード] > 該当フィードのスケジュール設定 Merchant Centerが最後にフィードを受信した時刻
    Merchant Centerの診断更新時刻 [診断]画面の「最終更新」 診断が最後に実行された時刻

    これら3つの時刻が大きく離れている場合、表示のズレは「まだ最新のデータが届いていない」可能性があります。フィードのスケジュール設定(毎日、毎時など)を確認し、次回の更新後に再度両画面を比較してください。

    同期タイムラグの目安

    処理 タイミングの目安 注意点
    Shopify商品保存からフィード送信 即時〜数分(アプリ依存) 手動同期をトリガーできる場合もある
    フィード送信からMerchant Centerフェッチ完了 数十分〜24時間 フィードのフェッチスケジュールに依存
    フェッチ完了から商品詳細反映 数分〜数時間 大量商品の場合はさらに時間がかかる
    商品詳細反映から診断結果更新 数時間〜数日 審査スケジュールに依存

    エラー同期差分を一覧化する

    複数商品で同じようなズレが起きている場合、確認結果を一覧化すると傾向が見えます。次の表は、1商品ごとの確認結果をまとめる例です。

    確認項目 Shopify側の値 Merchant Center側の値 差分の有無 備考
    商品ID / handle 123456789 / sample-product shopify_JP_123456789 ID形式の違いに注意
    商品名(title) サンプル商品A Sample Product A あり 言語設定の違いの可能性
    価格(price) 1980 JPY 1980.00 JPY あり 表示形式の差。実質同じ場合も
    在庫(availability) 在庫あり in stock マッピングされているか確認
    画像URL(image_link) cdn.shopify.com/.../image1.jpg cdn.shopify.com/.../image1.jpg なし
    GTIN(gtin) 4567890123456 (空欄) あり フィードに含まれていない可能性
    最終同期時刻 2025-01-15 10:00 診断更新は 2025-01-15 14:00

    この表を複数商品分作ることで、「GTINが一括で抜けている」「価格の通貨表記がずれている」などの傾向を拾いやすくなります。


    自動で検出できる項目と人間が判断する項目

    エラー確認の作業を進めるにあたり、機械的にチェックできる部分と、人間が判断する部分を分けておくと効率的です。

    自動で検出・一覧化できる項目

    • Shopify商品CSVとMerchant Centerフィード値の空欄検出(GTIN、brand、mpnなど)
    • 商品ID、handle、SKUの突合による取り違えチェック
    • 画像URLの有無と、https:// で始まっているかの形式チェック
    • 価格の数値形式と通貨コードの形式チェック
    • 両画面の最終同期時刻・診断更新時刻の差分抽出
    • 対象商品数と、未確認項目の一覧化

    人間が判断する項目

    • 商品実態と属性値が合っているか(例:商品説明が実際の商品と一致するか)
    • 対象国・言語・通貨の事業判断(例:日本向けに英語の説明文をそのまま使ってよいか)
    • 承認可否やポリシー適合の最終判断(Merchant Centerのポリシー解釈は専門的判断を伴う)
    • どの商品から修正するかの優先順位付け
    • identifier_existsFALSE 設定が適切かどうか(カスタム商品かどうかの事業判断)

    よくある質問

    「アプリ側は問題なしでもMerchant Centerで不承認になるのはなぜですか」

    アプリ側は前回の同期時点の結果を表示しています。その後にMerchant Center側で新しいポリシーチェックが走った場合、アプリ側の表示が更新されるまでズレが生じます。フィードの更新間隔と診断の実行タイミングを確認してください。

    「両方の画面で違うエラーが出ています。どちらを直せばいいですか」

    Merchant Center側の診断結果を基準に修正を進めます。Merchant Centerが実際にフィードを受け取って判定した結果であるため、最終的な承認・不承認はMerchant Center側の判断に依存します。Shopifyアプリ側の表示は、Shopify上で修正すべき項目を知るための補助情報として使います。

    「修正してもエラーが消えません」

    フィードの更新間隔によっては、Shopify側で修正してもMerchant Center側に反映されるまで時間がかかります。手動でフィードを再取得できる場合は試してください。それでも消えない場合は、Merchant Center側のキャッシュや審査待ちの可能性があります。仕様は変わる可能性があるため、最新の公式ヘルプで反映タイミングを確認してください。

    ShopifyのGoogle & YouTubeアプリとMerchant Centerでエラーの表示が異なり、どちらを信じてよいか分からない場合はご相談ください。同期時刻と表示時点を整理した上で、確認すべき画面の順番をご案内します。初回相談では、機密CSVやスクリーンショットの送付は不要です。

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

    • Google & YouTubeアプリに表示されているエラー(種類と対象商品数)
    • Merchant Centerの診断画面に表示されている問題(種類と対象商品数)
    • 最後に行ったフィード同期の実行時刻
    • 対象商品の商品ID・handle・SKU(特定できている場合)

    参考にした公式情報

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

    Merchant Center / 商品フィード まわりの作業整理、小さな自動化、簡易チェックツール化について相談できます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料相談する
  • 商品フィードの基本: Shopifyの商品情報がMerchant Centerに届くまでの流れ

    商品フィードの基本: Shopifyの商品情報がMerchant Centerに届くまでの流れ

    Shopifyで入力した商品情報は、そのままMerchant Centerに届くわけではありません。商品データが「Shopifyの管理画面・CSV」から「フィードアプリ」を経由して「Merchant Centerのフィード受信」に至るまでの経路を理解しておくと、エラーが出たときに「どこを確認すればいいか」が分かるようになります。

    本記事では、商品、variant(バリエーション)、画像、価格、在庫、配送の各データが、どの経路でMerchant Centerに渡るのかを整理します。Shopify管理画面、商品CSV、フィードアプリ、Merchant Centerの関係を、初心者向けでありながら後続記事の基礎になるレベルで解説します。


    商品フィードとは何を指すか

    商品フィードとは、Shopifyの商品データをMerchant Centerが読み取れる形式(XMLまたはCSVなど)に整えたデータのことです。ShopifyとMerchant Centerを連携する場合は、Google & YouTubeアプリなどのフィードアプリが中間で変換と送信を担う構成がよく使われます。実際の連携方式は利用中のアプリや設定によって変わるため、最新の公式ヘルプも確認してください。

    この経路を図式化すると、次のようになります。

    Shopify管理画面(商品入力)
        │
        ├─ 商品CSV(エクスポート/インポート)
        │
        ▼
    フィードアプリ(Google & YouTubeアプリなど)
        │  ├─ Shopifyの商品データを読み取る
        │  ├─ Merchant Centerの属性形式に変換する
        │  └─ Merchant Centerへ送信(APIまたはフィードファイル)
        │
        ▼
    Merchant Center(フィード受信)
        │  ├─ フィードとして登録
        │  ├─ 属性ごとに診断
        │  └─ 商品ステータスを決定(承認/不承認/審査中)
        │
        ▼
    Google広告・無料リスティング・YouTube等に表示
    

    この経路のどこに問題があるかによって、確認する画面が変わります。


    Shopify側の商品データ:何がどこに入っているか

    Shopifyでは、1つの商品に対して「商品情報」と「variant(バリエーション)」が分かれて管理されています。フィード経由でMerchant Centerに渡るデータの元は、この2つの組み合わせです。

    商品(Product)単位で設定する項目

    項目 Shopify管理画面での場所 商品CSVの列名 フィード経由でMerchant Centerに渡る属性の例
    商品名 商品詳細ページ > タイトル Title title
    商品説明 商品詳細ページ > 説明文 Body (HTML) description
    商品ページURL 自動生成(handleベース) Handle link
    メイン画像 商品詳細ページ > メディア Image SrcImage Alt Text image_linkadditional_image_link
    ベンダー(ブランド) 商品詳細ページ > ベンダー Vendor brand
    商品タイプ 商品詳細ページ > 商品タイプ Product CategoryType product_typegoogle_product_category
    タグ 商品詳細ページ > タグ Tags custom_label として使われる場合がある

    variant(バリエーション)単位で設定する項目

    項目 Shopify管理画面での場所 商品CSVの列名 フィード経由でMerchant Centerに渡る属性の例
    価格 variantの価格欄 Variant Price price
    比較価格 variantの「価格設定」セクション Variant Compare At Price sale_price(条件による)
    在庫数 variantの在庫欄 Variant Inventory Qty availabilityin stock / out of stock
    SKU variantのSKU欄 Variant SKU mpn としてマッピングされる場合がある
    バーコード(JAN/GTIN) variantのバーコード欄 Variant Barcode gtin
    variant画像 variantに紐づけた画像 Variant Image(列名は画像のPosition) image_link(variantごとに切り替わる)
    重量 variantの重量欄 Variant GramsVariant Weight Unit shipping_weight

    商品CSVでは、1行が1つのvariantに対応します。1つの商品に3つのvariant(例:S、M、L)がある場合、CSVでは3行になります。Merchant Center側でも、フィードアプリの送信方式によってはvariantごとに1商品として扱われることがあります。そのため、Shopifyで100商品(各3variant)を管理している場合、Merchant Centerでは300アイテムとして表示されるケースがあります。


    フィードアプリがやっていること

    Google & YouTubeアプリ(または他のフィードアプリ)は、Shopifyの商品データを読み取り、Merchant Centerが定める属性形式に変換して送信する役割を持ちます。具体的には次の処理を行っています。

    1. データの読み取り――ShopifyのAPIを使って、商品・variant・画像・価格・在庫のデータを取得する
    2. 属性のマッピング――Shopifyの列名(VendorVariant Barcodeなど)を、Merchant Centerの属性名(brandgtinなど)に対応させる
    3. 形式の変換――Merchant Centerが受け付ける形式(XMLのRSSフィード、またはCSV)に変換する
    4. 送信――Merchant CenterのAPIまたはファイルアップロードでフィードを送信する
    5. スケジュール設定――定期的に自動送信するか、手動で送信するかを管理する

    マッピングの例:Shopifyの列がMerchant Centerの属性になるまで

    Shopifyの項目 フィードアプリでの変換 Merchant Centerの属性 よく注意すべき点
    Vendor そのまま brand にマッピング brand Vendorが空欄だとbrand不在で警告が出る
    Variant Barcode GTIN形式に合致すれば gtin にマッピング gtin 8桁、12桁、13桁、14桁の形式チェックがある
    Variant SKU アプリ設定で mpn にマッピング可能 mpn gtinとbrandの両方があればmpnは必須ではない
    なし(自動設定) gtinもbrandもない場合に identifier_existsFALSE に設定 identifier_exists カスタム商品以外でFALSEにすると不承認になる
    Variant Price 通貨コードを付与して price price 1980 JPY のように通貨コードが必須
    在庫数 > 0 in stock に変換 availability 在庫ポリシー設定の影響を受ける場合がある

    マッピングの詳細は、利用しているフィードアプリの設定画面で確認できます。Google & YouTubeアプリの場合は、アプリ内の「設定」や「高度な設定」で確認できる項目があります。仕様は変わる可能性があるため、アプリの最新ヘルプも併せて確認してください。


    Merchant Center側の受け取りと処理

    Merchant Centerがフィードを受け取った後、次の処理が行われます。

    1. フィードの登録

    フィードアプリから送信されたデータは、Merchant Centerの [商品] > [フィード] に登録されます。フィード名には、アプリ名やShopifyストア名が含まれていることが多いです(例:shopify_JP_12345678)。

    2. 属性の検証

    Merchant Centerは、受け取った属性値を商品データ仕様に照らして検証します。主な検証内容は次の通りです。

    検証対象 検証内容 検証結果の例
    gtin 桁数とチェックデジットが正しいか 「GTINが無効です」
    price 数値と通貨コードが正しい形式か 「価格が無効です」
    image_link URLがアクセス可能で画像が表示されるか 「画像をダウンロードできません」
    availability 許可された値(in stockout of stockなど)か 「在庫状況の値が無効です」
    brand + gtin ブランドとGTINの組み合わせが適切か 「識別子が不足しています」

    3. 診断とステータスの決定

    検証結果は [商品] > [診断] 画面に表示されます。各商品は次のいずれかのステータスになります。

    ステータス 意味 次のアクション
    承認済み 商品データが要件を満たしている 特になし。定期的な診断で継続確認
    不承認 重大な問題があり、広告に表示されない エラー内容を確認して修正
    審査中 Merchant Centerの審査を待っている状態 審査完了まで待つ(数日かかる場合がある)
    警告あり 表示はされるが、パフォーマンスに影響する可能性 余裕がある時に対応

    データの種類別:ShopifyからMerchant Centerまでの流れ

    ここまでの経路を、データの種類別に整理します。

    商品名・商品説明

    Shopify管理画面(Title、Body HTML)
      → 商品CSV(Title列、Body (HTML)列)
        → フィードアプリが title、description に変換
          → Merchant Centerの title、description 属性として登録
    

    日本語で登録した商品名がそのまま渡ります。複数言語に対応する場合は、Shopify Marketsまたは翻訳アプリでの対応が必要です。Merchant Center側では、対象国の言語と一致しているかがチェックされます。

    画像

    Shopify管理画面(メディアセクション)
      → 商品CSV(Image Src列、Image Position列)
        → フィードアプリが image_link、additional_image_link に変換
          → Merchant Centerの画像属性として登録
    

    画像は、ShopifyのCDN(cdn.shopify.com)のURLがそのまま渡ります。Merchant Center側で画像をダウンロードして検証するため、画像URLがアクセス可能であることが前提です。variantごとに異なる画像を設定している場合、image_link がvariantごとに切り替わります。商品画像が未登録だったり、ストアがパスワード保護されていたりすると、画像URLにアクセスできずエラーになります。

    価格

    Shopify管理画面(variantの価格欄)
      → 商品CSV(Variant Price列、Variant Compare At Price列)
        → フィードアプリが price(、sale_price)に変換
          → Merchant Centerの price 属性として登録
    

    価格には通貨コード(JPYUSDなど)が付与されます。この通貨コードは、Shopifyのストア設定またはMarkets設定に基づきます。セール価格(Variant Compare At Price)が設定されている場合、フィードアプリの設定によっては sale_price として別途送信されることがあります。

    税込み・税抜きの設定は、フィードに渡る価格に影響する可能性があります。また、Shopify Marketsで別通貨表示にしていても、フィードではストアの基本通貨のままで送られることがあります。このあたりの挙動はフィードアプリとMarkets設定の組み合わせに依存するため、実際にMerchant Center側で表示されている通貨と金額を確認してください。

    在庫

    Shopify管理画面(variantの在庫欄)
      → 商品CSV(Variant Inventory Qty列)
        → フィードアプリが availability に変換
          → Merchant Centerの availability 属性として登録
    

    在庫数が1以上であれば in stock、0であれば out of stock に変換されるのが一般的です。ただし、Shopifyの在庫ポリシー(「在庫切れでも購入を許可する」など)の設定によっては、変換結果が変わる場合があります。フィードアプリの設定で在庫のマッピング方法を確認してください。

    Shopifyの在庫CSVには「All states」と「Available」の数量がありますが、フィードアプリがどちらを参照しているかはアプリ依存です。All statesには着荷予定や予約分が含まれることがあるため、Merchant Center側で「在庫ありになっているが実際は売り切れ」というズレが起きることがあります。最新の公式ヘルプで、お使いのフィードアプリがどの在庫数値を参照しているか確認してください。

    配送

    Shopify管理画面(設定 > 配送と配達)
      → フィードアプリが shipping(shipping_weight、shipping_label)に変換
          → Merchant Centerの配送属性として登録
    

    配送情報は、Shopifyの配送設定に基づいてフィードアプリが生成します。重量(Variant Grams)から shipping_weight を計算する場合と、固定値を設定する場合があります。Merchant Center側では、配送先国と送料の組み合わせが「配送」サービスとして表示されます。

    配送情報の送信方法はフィードアプリによって異なります。Google & YouTubeアプリの場合は、Shopifyの配送設定から自動的にshipping属性を生成する場合があります。ただし、すべての配送設定が正確に反映されるかは最新の公式ヘルプで確認してください。サードパーティフィードアプリの場合は、配送情報をフィードに含めるかどうかはアプリの設定によるため、含めない場合はMerchant Center側の配送設定画面で手動設定する必要があります。


    経路上のどこで止まっているか:トラブル時の確認順

    エラーが出た場合、データの経路を逆順にたどると原因箇所が特定しやすくなります。

    チェックリスト:経路を逆順に確認する

    • [ ] Merchant Centerの診断で、どの属性にエラー・警告が出ているかを確認する
    • [ ] Merchant Centerの商品詳細で、実際の属性値を確認し、期待する値と比較する
    • [ ] フィードアプリの設定で、該当項目のマッピングが正しいかを確認する
    • [ ] Shopify商品CSVで、元データが正しく入力されているかを確認する
    • [ ] Shopify管理画面で、商品詳細ページの入力内容を確認する
    • [ ] フィード更新時刻診断更新時刻を比較し、最新データが反映されているかを確認する

    この順番で確認すると、Merchant Center側の問題なのか、フィードアプリの変換の問題なのか、Shopify側の入力の問題なのかを切り分けやすくなります。


    自動化できる部分と人間が判断する部分

    商品フィードの確認作業を進めるにあたり、機械的に処理できる部分と事業判断が必要な部分を分けておきます。

    自動化・一覧化できる部分

    • Shopify商品CSVの空欄検出(GTIN、brand、画像URL、価格など)
    • CSV列とMerchant Center属性のマッピング確認
    • 価格の数値形式・通貨コードの形式チェック
    • 画像URLのアクセス可能性の検証
    • フィード更新時刻と診断更新時刻の差分抽出
    • 対象商品数と未入力項目の一覧化

    人間が判断する部分

    • 商品説明文が実際の商品と合っているか
    • 対象国・言語・通貨をどう設定するかの事業判断
    • identifier_existsFALSE にするかどうか(カスタム商品の定義)
    • google_product_category(Google商品カテゴリ)の選択
    • variantの分け方(色違い、サイズ違いを別商品にするか同じ商品にするか)
    • どの商品から優先的に修正するか

    初心者がつまずきやすいポイント

    「Shopifyで入力したのにMerchant Centerに反映されていない」

    フィードアプリの送信スケジュールによっては、Shopifyで修正してもMerchant Centerに反映されるまで数時間かかることがあります。即座に反映したい場合は、フィードアプリの手動同期を試してください。

    「CSVとMerchant Centerで値が違う」

    フィードアプリがマッピング時に変換を行っているため、CSVの値がそのままMerchant Centerに表示されるとは限りません。例えば、在庫数の「15」は in stock に変換されますし、Vendor列の「株式会社〇〇」はそのまま brand に渡りますが、brand属性にMerchant Centerが求める形式がある場合は注意が必要です。

    「画像がMerchant Centerで表示されない」

    ShopifyのCDN URLが正しく渡っていても、Merchant Center側でダウンロードできない場合があります。画像ファイルのサイズが大きすぎる、形式が対応していない、URLにアクセス制限がある、などの原因が考えられます。Merchant Center側の画像要件(ファイルサイズ上限や対応形式など)は、最新の公式ヘルプで確認してください。

    「バリエーションがMerchant Centerで別商品として表示されている」

    フィードアプリが各バリエーションを1アイテムずつMerchant Centerに送っている場合、色違い・サイズ違いなどが別アイテムとして表示されることがあります。Shopifyで100商品(各3variant)を管理している場合、Merchant Centerでは300アイテムとして見えるケースがあります。バリエーションの扱いはフィード設定や商品データ仕様に関わるため、最新の公式ヘルプで確認してください。


    まとめ:経路を理解すれば確認箇所が絞れる

    Shopifyの商品情報がMerchant Centerに届くまでの経路は、次の4段階に整理できます。

    1. Shopify管理画面・CSVでのデータ入力
    2. フィードアプリでの読み取り・変換・送信
    3. Merchant Centerでのフィード受信・検証・診断
    4. Google広告・無料リスティング等への表示

    エラーが出たときは、この4段階のどこに問題があるかを逆順に確認することで、修正箇所を効率的に特定できます。

    本記事は商品フィードの基礎を整理する柱記事として位置づけています。個別のエラー対応や属性の詳細な確認手順については、後続記事で深く扱います。

    ShopifyからMerchant Centerへの商品データの流れが把握しきれず、どこでエラーが起きているか分からない場合はご相談ください。使用しているフィードアプリと同期経路を整理した上で、確認すべきポイントをご案内します。初回相談では、機密CSVやスクリーンショットの送付は不要です。

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

    • 使用しているフィードアプリ(Google & YouTubeアプリ / 外部フィードアプリ)
    • Merchant Centerに登録されているフィード名とフィード形式
    • フィードの同期スケジュール(手動 / 自動 / 日次など)
    • Merchant Centerで出ているエラーの有無

    参考にした公式情報

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

    Merchant Center / 商品フィード まわりの作業整理、小さな自動化、簡易チェックツール化について相談できます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料相談する
  • 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 / 商品フィード まわりの作業整理、小さな自動化、簡易チェックツール化について相談できます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料相談する
  • ShopifyとGoogle Merchant Centerで配送・返品エラーが出るときに見る設定

    ShopifyとGoogle Merchant Centerで配送・返品エラーが出るときに見る設定

    配送・返品エラーは、商品CSVの1列だけを直せば解決するとは限りません。対象国、配送エリア、送料、配送日数、返品ポリシー、Shopify Marketsの設定、Merchant Center側の配送/返品設定を分けて確認する必要があります。まず「商品データに起因する問題」と「アカウント設定・ポリシー設定に起因する問題」を切り分けます。この切り分けをしないで商品CSVだけを何度も修正しても、エラーは消えません。

    配送・返品エラーは商品データと設定を分ける

    Merchant Centerで shipping error や returns policy error が出たとき、最初に確認するのは「エラーが商品単位で出ているのか、アカウント全体の設定に関するものなのか」です。

    商品単位のエラーかアカウント設定のエラーか

    Merchant Centerの [品質] > [商品データに関する問題] を開き、エラーの詳細を確認します。特定のSKUやhandleに絞られたエラーなのか、全商品に出ているエラーなのかで、見るべき場所が変わります。

    • 特定商品だけに出ている場合:その商品の重量、販売チャネル設定、在庫ステータス、配送除外設定を確認
    • 全商品に出ている場合:Merchant Centerの配送設定、返品設定、Shopify Marketsの対象国設定を確認
    • 特定の国だけに出ている場合:その国の配送プロファイルとMerchant Centerの配送先国設定を確認

    切り分けのチェックリスト

    • ☐ Merchant Centerのエラー詳細画面で「影響を受ける商品」の数を確認
    • ☐ エラーが全商品か特定商品かを判別
    • ☐ 特定商品の場合、その商品のSKU・handleを控える
    • ☐ エラーが特定国向けか国内向けかを確認

    shipping error で見る項目

    shipping error は複数の原因で出ます。「送料が設定されていない」「配送先国が一致しない」「配送日数が不明」「商品重量が不足している」など、エラーのサブタイプを確認する必要があります。

    配送国と対象国のズレ

    Merchant Centerでは、商品が配送可能な国と送料を設定する必要があります。Shopify側の Markets で有効にしている国と、Merchant Centerの Shipping settings で設定している配送先国が一致しているかを確認します。

    確認手順:

    1. Shopify管理画面の [設定] > [Markets] を開き、有効な市場(国)を確認
    2. Merchant Centerの [歯車アイコン] > [配送と返品] を開き、配送先国を確認
    3. 両方に共通する国が設定されているかを確認
    4. Shopify側で有効な国がMerchant Center側にない場合、Merchant Centerに追加するか、Shopify側で無効にするかを判断

    送料の設定ズレ

    送料は、Shopifyの 配送プロファイル と Merchant Centerの Shipping rates の両方で設定します。これらが大きく矛盾しているとエラーになります。

    確認ポイント:

    • Shopify管理画面の [設定] > [配送と配達] で配送プロファイルを確認
    • 「一般料金」だけでなく「カスタム配送プロファイル」に属する商品がないか
    • Merchant Center側の送料設定(最小注文金額・最大注文金額・送料無料条件)
    • Shopify側の送料無料条件とMerchant側の送料無料条件のズレ

    配送日数の不一致

    Merchant Centerの Delivery time には、配送にかかる日数を設定します。Shopify側では 処理時間(発送までの日数)と配送業者の配送日数で管理されます。

    確認ポイント:

    • Shopify管理画面の [設定] > [配送と配達] > 処理時間
    • 各配送サービスの配送日数表示
    • Merchant Centerの Delivery time 設定が、実際の配送日数の範囲をカバーしているか

    商品重量の未設定

    一部の商品で重量が未設定の場合、配送料の計算ができず shipping error になることがあります。これは商品単位のエラーです。

    確認手順:

    1. Shopify管理画面で対象商品を開き、variantの「重量」フィールドを確認
    2. 重量が0または空欄の場合は適切な重量を入力
    3. 商品CSVの Variant Grams 列でも一括確認可能

    returns policy error で見る項目

    returns policy error は「返品ポリシーが設定されていない」「返品ポリシーがランディングページに表示されていない」「返品条件が不十分」といった理由で出ます。

    返品ポリシーの有無と表示

    Merchant Centerでは、返品ポリシーをアカウントレベルまたは商品レベルで設定します。また、商品ページ(ランディングページ)に返品条件が明記されている必要があります。

    確認手順:

    1. Shopify管理画面の [設定] > [ポリシー] を開き、「返金ポリシー」が入力されているか確認
    2. 商品ページのフッターやポリシーページに返品条件が表示されているかブラウザで確認
    3. Merchant Centerの [歯車アイコン] > [配送と返品] > [返品ポリシー] を開き、返品条件が設定されているか確認

    返品期間と返品方法

    返品期間は国によって法的要件が異なります。日本国内向けであれば、返品可能期間と返品方法(着払い/元払い、送料負担)を明記します。海外向けの場合は、その国の法的要件に適合しているかを確認する必要があります。

    確認ポイント:

    • 返品可能期間(到着後何日以内か)
    • 返品送料の負担(店舗負担か顧客負担か)
    • 返品先住所の記載
    • 返品不可商品の条件(セール品、食品など)

    対象国ごとの返品条件

    複数の国に向けて販売している場合、国ごとに返品条件が異なることがあります。Merchant Centerでは、対象国ごとに返品ポリシーを設定できます。

    確認ポイント:

    • 各対象国の返品ポリシーがMerchant Centerに設定されているか
    • Shopify Marketsで有効な国すべてに返品条件がカバーされているか
    • 配送先国に対する返品送料の取り扱い

    Shopify Markets と対象国を確認する

    配送・返品エラーの原因として、Shopify Markets の設定とMerchant Centerの対象国設定のズレが意外と多いです。

    Markets設定の確認手順

    1. Shopify管理画面の [設定] > [Markets] を開く
    2. 「対応国・地域」のタブで、有効になっている国を確認
    3. 各市場の通貨設定、配送設定、税設定を確認
    4. 商品ごとの販売チャネル設定で、該当市場が有効かを確認

    Markets と Merchant Center の対象国を合わせる

    Shopify Marketsで「アメリカ」を有効にしていても、Merchant Centerの配送設定でアメリカ向けの送料が設定されていなければ、shipping error が出ます。逆に、Merchant Center側だけに国を追加していて、Shopify側でその国への販売が有効でない場合も問題になります。

    確認項目 Shopify側 Merchant Center側 ズレの例
    対象国 Markets有効国 Shipping settings配送先国 Marketsに追加したがMC側が未設定
    送料 配送プロファイル Shipping rates 片方だけ送料無料条件あり
    通貨 Markets通貨設定 フィードの通貨コード JPY設定のままUSD圏へ配送
    配送日数 処理時間+配送日数 Delivery time 片方だけ短い日数を表示
    返品 ポリシーページ Returns policy ポリシーはあるがMC未設定

    修正タスクを商品・設定・文章に分ける

    配送・返品エラーの修正は、「商品データの修正」「アカウント設定の修正」「ポリシー文章の修正」の3つに分けて進めると、作業が整理しやすくなります。

    商品データの修正

    • 重量未設定商品の修正:商品CSVの Variant Grams 列に適切な重量を入力
    • 配送除外商品の確認:特定商品が配送プロファイルから除外されていないか確認
    • 販売チャネル設定の確認:Google & YouTubeチャネルが該当variantで有効か確認
    • 在庫ステータスの確認:在庫切れ商品が配送対象に含まれていないか確認

    アカウント設定の修正

    • Merchant Centerの配送設定:配送先国、送料、配送日数を追加・修正
    • Merchant Centerの返品設定:返品ポリシーを対象国ごとに追加
    • Shopifyの配送プロファイル:新しい配送エリアや送料条件を追加
    • Marketsの設定:対象国の追加・削除、通貨設定の見直し

    ポリシー文章の修正

    • 返金ポリシーページの更新:返品期間、返品方法、送料負担を明記
    • 配送ポリシーページの更新:配送エリア、配送日数、送料条件を明記
    • 特定商取引法に基づく表記:返品特約に関する記載を追加
    • ポリシーページのURL確認:Merchant Centerが参照するページに正しく表示されているか

    修正タスク一覧

    タスク 作業種別 担当目安 自動化可否
    商品重量の一括入力 商品データ 商品担当 CSV一括更新で対応可
    配送除外商品の確認 商品データ 商品担当 商品一覧から抽出可
    Merchant Center配送設定 アカウント設定 EC運営 手動設定
    Merchant Center返品設定 アカウント設定 EC運営 手動設定
    Shopify配送プロファイル調整 アカウント設定 EC運営 手動設定
    返金ポリシーの文章作成 文章 経営/EC運営 自動化不可
    配送ポリシーの文章作成 文章 経営/EC運営 自動化不可
    特定商取引法表記の更新 文章 経営/法務確認 自動化不可

    自動化できる確認作業

    • 商品重量の一覧化:商品CSVの Variant Grams 列を確認し、空欄または0の商品を抽出
    • 配送対象外商品の確認:販売チャネル設定や在庫ステータスから、配送対象外になっている商品を一覧化
    • 対象国別の配送可否チェック表の作成:Shopify Markets有効国とMerchant Center配送先国を突き合わせ、未設定の国を抽出
    • ポリシーページURLの空欄・到達確認:Merchant Centerに登録されているポリシーURLにアクセスできるか、内容が空でないかを確認
    • 商品CSVと配送プロファイルの紐付け確認:カスタム配送プロファイルに属する商品と、一般送料プロファイルの商品を分けて一覧化

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

    • 配送条件の事業判断:送料無料の閾値、配送エリアの限定、離島の扱いなどは事業判断です。
    • 返品条件の事業判断:返品可否、返品期間、送料負担は店舗の方針に関わります。自動で決められるものではありません。
    • 対象国で販売するかどうか:新しい国への販売を始めるかどうかは、言語対応、配送コスト、法規制を総合的に判断する必要があります。
    • 送料を商品価格に含めるか別建てにするか:価格戦略に関わるため、EC運営者の判断が必要です。
    • ポリシー文章の内容:返品ポリシーや配送ポリシーの文章は、事業方針と法的要件を反映する必要があります。
    • 特定商取引法や海外の消費者保護法への適合:法務の専門家に確認が必要な場合があります。

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

    • Google Merchant Center の配送・返品設定の要件は変更される可能性があります。最新の公式ヘルプで shipping 属性と returns 属性の仕様を確認してください。
    • Shopify の配送設定と Markets 機能はアップデートされることがあります。設定画面の項目名や配置が変わる可能性があります。
    • 返品ポリシーの内容が特定商取引法や各国の消費者保護法に適合しているかは、法務の専門家にご確認ください。
    • 配送日数は配送業者の実際の配送状況により変動するため、Merchant Centerの設定値と実際の配送日数が常に一致するとは限りません。

    shipping error や returns policy error が出て、商品データを見るべきか設定画面を見るべきか分からない場合はご相談ください。対象国、配送方法、返品ポリシーの有無をお伺いすれば、どの設定画面から確認すべきかご案内します。初回相談では、管理画面のスクリーンショットの送付は不要です。

    参考にした公式情報

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

    Merchant Center / 商品フィード まわりの作業整理、小さな自動化、簡易チェックツール化について相談できます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料相談する
  • Shopify Marketsを使う前に、商品フィードで確認したい言語・通貨・対象国

    Shopify Marketsを使う前に、商品フィードで確認したい言語・通貨・対象国

    Shopify Marketsで海外向けの表示を作っても、そのままGoogle向け商品フィードが整うとは限りません。商品名の言語、価格の通貨、配送できる国、リンク先ページの表示がずれていると、Merchant Center側で警告や成果の低下につながることがあります。

    まず何が起きているか

    Marketsは、国や地域ごとに価格、通貨、ドメイン、言語を分けるための仕組みです。一方でMerchant Centerは、商品データとリンク先ページが対象国に対して筋の通った内容になっているかを見ます。日本語フィードなのに英語ページへ飛ぶ、JPYのフィードなのにページではUSDだけ表示される、といったずれは見落としやすいです。

    よくある原因

    • Marketsの表示通貨と、Googleに送るpriceの通貨が違う
    • 商品名や説明文を翻訳したが、フィードは日本語のまま
    • 対象国を増やしたが、その国への配送設定がない
    • 国別URLやサブフォルダの設計が決まる前にフィードを出している
    • 商品によって海外販売できるものとできないものが混在している

    確認するデータ

    最初に、対象国、表示言語、決済通貨、配送可否を表にします。次に商品フィードのtitledescriptionlinkpriceavailabilityを確認します。Shopify側ではMarketsの国設定、言語設定、ローカル通貨、国別ドメインやサブフォルダを見ます。

    手作業で直す場合

    まず一国だけを選び、言語、通貨、配送、返品、商品範囲を揃えます。商品ページを対象国の表示で開き、価格、通貨、商品名、カート投入、配送先選択まで確認します。そのうえで、Google向けにどのフィードを出すのかを決めます。複数国を一度に広げると、原因の切り分けが難しくなります。

    小さく自動化できる部分

    商品ごとに、販売対象国、翻訳有無、価格設定有無、配送対象外タグ、Googleに送るURLを一覧化するチェックは自動化できます。翻訳品質、国ごとの販売可否、価格戦略は自動判定だけで決めず、店舗側の判断を残した方が安全です。

    注意点

    通貨換算、関税、税、配送リードタイムは国ごとに前提が変わります。この記事はフィード準備の観点を整理するもので、越境販売、広告掲載、売上、通関や税務上の結果を保証するものではありません。

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

    • 最初に売りたい国や地域
    • 使う言語と通貨
    • 翻訳済みの商品情報の範囲
    • 配送できない商品や例外条件
    • Google & YouTubeチャネルの利用有無

    同じような準備で困っている場合は、無料相談できます。初回相談では機密CSVや管理画面のスクリーンショットを送る必要はありません。国、通貨、翻訳、配送設定が分かる範囲で整理できれば十分です。

    参考にした公式情報

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

    Merchant Center / 商品フィード まわりの作業整理、小さな自動化、簡易チェックツール化について相談できます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料相談する
  • identifier_existsをnoにしてよい商品と、してはいけない商品の分け方

    identifier_existsをnoにしてよい商品と、してはいけない商品の分け方

    identifier_exists を no にするかどうかは、GTIN が空欄だからという理由で機械的に決めるものではありません。メーカー品・仕入れ品のように識別子が存在する可能性が高い商品で identifier_exists を no にすると、Google の商品データポリシーに抵触する恐れがあります。逆に、ハンドメイドや独自制作の商品で identifier_exists を TRUE のままにしておくと、GTIN 空欄のエラーが解消しません。まず brand、MPN、GTIN のどれがその商品に本当に存在するかを確認し、商品ごとに分類を決めることが大切です。

    identifier_exists はGTIN空欄の逃げ道として扱わない

    identifier_exists は、Google Merchant Center に対して「この商品には GTIN も brand も MPN も存在しない」と申告するための属性です。これを no に設定すると、Google 側はその商品について GTIN や brand の提供を求めなくなります。

    しかし、この属性を「GTIN が空欄だからとりあえず no にしておく」という目的で使うのは危険です。なぜなら、実際には GTIN が存在する商品(メーカー品や仕入れ品)で no に設定した場合、Google のポリシー上「不十分な識別子」として扱われ、商品が承認されない、または不承認になる可能性があるからです。

    identifier_exists の基本

    identifier_exists の値 意味 Google側の期待
    TRUE(または省略) GTIN、brand、MPN のいずれかが存在する これらの識別子が商品データに含まれることを期待
    FALSE(no) GTIN、brand、MPN のいずれも存在しない 識別子の提供を求めない

    つまり、identifier_exists を正しく設定するには、まず「その商品に GTIN、brand、MPN が存在するか」を判断しなければなりません。

    メーカー品・仕入れ品・独自商品の分類を作る

    商品を大まかに分類し、それぞれで identifier_exists の扱いを考えます。Vendor(販売元)や商品タイプだけで判断せず、実際に識別子が存在するかを確認します。

    商品分類とidentifier_existsの判断

    商品タイプ GTINの有無 brand の有無 MPN の有無 identifier_exists 判断のポイント
    メーカー品(既製品) ある(JANコードが存在) ある(メーカー名) ある(型番) TRUE GTIN を Barcode 欄に入力する
    仕入れ品(卸・問屋) あることが多い あることが多い 商品による TRUE が基本 仕入先データで GTIN を確認
    オリジナル商品(自社生産) ないことが多い 自社ブランド名 ないことが多い FALSE の可能性 自社ブランドが brand として扱えるかで変わる
    ハンドメイド・一点物 ない ないことが多い ない FALSE 識別子が存在しないことが明確
    中古品 元商品の GTIN がある場合が多い 元商品の brand 元商品の MPN TRUE の可能性 元商品の識別子を確認
    セット商品(複数を組み合わせ) セット全体の GTIN はない場合が多い 販売元ブランド セット品番 ケースによる 構成品とセット全体を分けて考える

    分類を間違えやすいケース

    • OEM商品(他社製造・自社ブランド):製造元の JAN コードが存在する場合、identifier_exists は TRUE になります。自社ブランド名を付けていても、GTIN が存在すれば TRUE です
    • プライベートブランド:自社で JAN コードを取得している場合は GTIN が存在するため、TRUE です
    • 輸入品:海外メーカーの商品は UPC や EAN が存在することが多く、identifier_exists は TRUE です
    • デジタル商品・サービス:物理商品ではないため、GTIN の扱いが異なります。最新の公式ヘルプで確認してください

    brand / MPN / GTIN のどれを持っているか見る

    identifier_exists の判断材料になる3つの識別子を、それぞれの商品で確認します。

    各識別子の確認方法

    識別子 Shopifyでの確認箇所 確認すべきこと
    GTIN(JAN/EAN/UPC) 商品詳細画面の Barcode 欄、CSVの Variant Barcode 列 商品パッケージや仕入先データにJANコードが記載されているか
    brand 商品の Vendor 欄、またはフィードアプリの brand 設定 製造元・ブランド名が明確に存在するか。販売店名とブランド名を混同しない
    MPN フィードアプリの MPN 設定、または Shopify の Metafield メーカーが付与した型番が存在するか。SKU と MPN は別物

    brand が存在するが GTIN がないケース

    一部の商品では、brand と MPN はあるが GTIN はない、という状況があります。この場合、identifier_exists は TRUE(省略)にし、brand と MPN を商品データに含めます。GTIN が空欄でも、brand と MPN の組み合わせで商品を識別できると Google が判断すれば、エラーが出ないことがあります。

    注意: 自社の販売店名を brand として設定してよいかは、実際にブランドとして成立しているかによります。店舗名とブランド名を分けて考える必要があります。

    GTIN がないが MPN もないケース

    GTIN も MPN も存在せず、brand として設定できる名前もない商品(完全なハンドメイド品や一点物など)は、identifier_exists を FALSE(no)にする候補になります。ただし、「設定できる brand がないか」は慎重に確認してください。

    Shopify側で識別子をどこに持たせているか

    Shopify 自体には identifier_exists を直接入力する列はありません。identifier_exists は、フィードアプリ側の設定で制御します。どの識別子をどこに保存しているかを把握しておく必要があります。

    識別子の保存場所

    識別子 Shopifyでの保存場所 フィードアプリ側の設定
    GTIN 商品詳細画面の Barcode 欄 / CSVの Variant Barcode 自動で gtin 属性にマッピングされることが多い
    brand 商品の Vendor 欄 / CSVの Vendor 列 brand 属性にマッピング。設定が必要なアプリもある
    MPN Metafield / フィードアプリ直接設定 MPN 属性にマッピング。設定場所はアプリによる
    identifier_exists Shopify には直接入力不可 フィードアプリの設定画面で TRUE/FALSE を指定

    フィードアプリでの設定例

    代表的なフィードアプリでの identifier_exists の設定箇所(一般的な設定内容です。アプリのバージョンにより異なる可能性があります):

    • Google & YouTube アプリ(Shopify公式):商品データのマッピング設定内に identifier_exists の項目がある場合がある
    • Simprosys:フィード設定の属性マッピングで identifier_exists を設定
    • Multipixels:商品属性のマッピング画面で設定

    実際の設定箇所は、お使いのアプリのヘルプまたは設定画面で確認してください。

    一括変更する前に対象商品を絞る

    identifier_exists を一括で no に変更する前に、商品を3つのグループに分けます。

    3分類で商品を整理する

    分類 条件 identifier_exists 対応
    no 候補 GTIN なし、brand なし、MPN なし(ハンドメイド・完全オリジナル) FALSE(no) フィードアプリで一括設定を検討
    要確認 GTIN なし、brand または MPN あり(独自ブランド品・OEM品) TRUE の可能性 brand/MPN を正しく設定してから判断
    識別子あり GTIN あり(メーカー品・仕入れ品) TRUE(省略) Barcode 欄に正しい GTIN を入力

    やってはいけないこと:

    • GTIN が空欄の商品を全件 identifier_exists = no にする
    • 「GTIN がないから」という理由だけで、メーカー品を no にする
    • 分類せずにフィードアプリの設定で全商品を一括 no にする

    分類の手順

    1. 商品CSVをダウンロードする
    2. Variant Barcode 列が空欄の行を抽出する
    3. 空欄の行について、Vendor 列と商品名から「メーカー品か独自商品か」を判断する
    4. メーカー品・仕入れ品と思われる商品は仕入先データで GTIN を確認する
    5. GTIN が本当に存在しない商品だけを no 候補としてリスト化する
    6. no 候補の商品について、brand と MPN も存在しないことを確認する

    自動化できる部分

    • Variant Barcode 空欄一覧の作成:商品CSVから Variant Barcode 列が空欄の行を抽出
    • Vendor / brand / MPN 候補の抽出:Vendor 列の値を一覧化し、brand として使えそうな値をリスト化
    • 商品タイプ別の identifier_exists 候補分類:Barcode の有無、Vendor の有無を組み合わせて、no 候補・要確認・識別子ありの3分類を自動生成
    • GTIN 空欄かつ Vendor ありの商品の警告:メーカー品の可能性が高い商品を抽出し、安易な no 設定に警告を出す

    人間判断が必要な部分

    • その商品が識別子を持つ商品かどうか:データだけでは判断できず、商品の実態(メーカー品か、自社制作か)を知る必要がある
    • 独自商品として identifier_exists = no にしてよいか:将来的に JAN コードを取得する予定がないかなど、事業方針に関わる判断
    • brand として自社名を使えるか:ブランドとして成立している名前か、単なる店舗名かの区別
    • MPN で補えるかどうか:GTIN がないが MPN が存在する場合、brand と MPN の組み合わせで対応できるか

    注意点

    • Google Merchant Center の identifier_exists、gtin、brand、mpn の扱いは更新される可能性があるため、最新の公式ヘルプで確認してください
    • Shopify の商品Barcode、Vendor、Metafield の仕様も変更される場合があります
    • identifier_exists の設定を誤ると、商品が不承認になることがあります。一括変更前に一部商品でテストすることをお勧めします

    identifier_exists を no にしてよいか迷う商品が多い場合はご相談ください。商品カテゴリと対象件数をお伺いすれば、分類の方向性をご案内します。初回相談では、機密CSVやスクリーンショットの送付は不要です。

    参考にした公式情報

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

    Merchant Center / 商品フィード まわりの作業整理、小さな自動化、簡易チェックツール化について相談できます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料相談する
  • Merchant Centerのinvalid_gtinでSKUとJANコードを混同していないか確認する

    Merchant Centerのinvalid_gtinでSKUとJANコードを混同していないか確認する

    invalid_gtin は、GTIN(JAN/EAN/UPC)の欄に値は入っているものの、その値が正しくないと Google Merchant Center が判断したときに出るエラーです。まず疑うべきは、SKU や社内管理番号を GTIN として送っていないか、JAN/EAN/UPC の桁数や先頭0が崩れていないかです。Shopify の商品 CSV では Variant SKU 列と Variant Barcode 列を並べて比較し、値の正しさを確認します。

    invalid_gtin は「入っているが正しくない」状態として見る

    missing_gtin は「GTINが空欄である」エラーですが、invalid_gtin は「GTINの欄に何か入っているが、正しくない」エラーです。つまり、値の中身を疑う必要があります。

    invalid_gtin が出る主なパターンは次の3つです。

    1. SKUや社内管理番号をGTINとして送っている(Variant SKU の値がそのまま Variant Barcode に入っている)
    2. JAN/EAN/UPCの桁数が崩れている(Excelで開いたCSVの先頭0が消えている、または余分な文字が混じっている)
    3. 仕入先コードなど、GTINではない番号を入れている(仕入先の独自商品コードを JAN と混同している)

    missing_gtin とは異なり、値が入っている分だけ原因の切り分けが複雑になります。以下の手順で順番に確認していきます。

    Variant SKU と Variant Barcode を並べて確認する

    最初にやるべき確認は、商品CSVをダウンロードして Variant SKU 列と Variant Barcode 列を横に並べることです。

    確認手順

    1. Shopify 管理画面から「商品」>「エクスポート」で商品CSVをダウンロードする
    2. テキストエディタまたはスプレッドシートでCSVを開く(Excel で開く場合は Variant Barcode 列を「文字列」書式にする)
    3. Variant SKU 列と Variant Barcode 列を並べて表示する
    4. 両方の列の値が完全に一致している行を探す

    SKUがBarcodeに入っているパターン

    状態 Variant SKU Variant Barcode 問題
    SKUをBarcodeにコピー SHIRT-BLK-M SHIRT-BLK-M 英数字のSKUがGTINとして送られている
    仕入先コード混ざり SUP-12345 SUP-12345 仕入先の独自コードをJANと誤認
    正常な状態 SHIRT-BLK-M 4901234567890 SKUは管理番号、BarcodeはJAN

    値が完全に一致している行があれば、その商品では SKU を Barcode にコピーしている可能性が高いです。SKU は店舗ごとの管理番号であり、Google はこれを GTIN として受け付けません。

    すぐできる確認: Google スプレッドシートで =EXACT(B2,C2) のように関数を入れ、SKU と Barcode が同じ値の行を抽出します。TRUE が返った行は、SKU と Barcode が同一の可能性があります。

    JAN/EAN/UPCの桁数と先頭0を見る

    SKU の混同がなければ、次は桁数と先頭0の崩れを確認します。

    桁数チェック

    Variant Barcode 列の値について、文字数が GTIN として正しい桁数かを確認します。

    コード種 正しい桁数 確認方法
    JAN(13桁) 13桁 LEN関数で13であることを確認
    JAN(8桁) 8桁 LEN関数で8であることを確認
    UPC 12桁 LEN関数で12であることを確認
    GTIN-14 14桁 LEN関数で14であることを確認

    8・12・13・14 のいずれでもない桁数の値があれば、invalid_gtin の原因になっている可能性があります。

    先頭0消失の確認

    JAN コードの先頭が0の場合、CSV を Excel で開いて保存した時点で0が消えることがあります。

    • 本来 0901234567890(13桁)→ 901234567890(12桁)になっている
    • 本来 09012345(8桁)→ 9012345(7桁)になっている

    この場合、CSVをテキストエディタで開いて元の値が残っているかを確認します。テキストエディタでも先頭0が消えている場合は、すでに Shopify 側に0なしで登録されているため、正しい値を入れ直す必要があります。

    Excelで安全にCSVを開く手順:

    1. Excel の「データ」タブから「テキストまたはCSVから」を選択
    2. ファイルを選択し、Variant Barcode 列のデータ型を「文字列」に指定
    3. 読み込み後に値を確認

    親商品とvariantでBarcodeの持ち方を分ける

    色違いやサイズ違いの variant がある商品では、各 variant に異なる JAN コードが割り当てられていることがあります。ここで次のようなミスが起きやすくなります。

    よくあるvariant単位のミス

    • すべてのvariantに同じBarcodeを入れている:色違い商品で、黒も白も同じ JAN コードになっている
    • 親商品だけにBarcodeを入れ、variant側を空欄にしている:Google は variant 単位で GTIN を確認するため、variant 側が空欄だと missing_gtin や invalid_gtin になる
    • 片方のvariantだけBarcodeが古い:商品改訂で JAN が変わった際、一部の variant だけ更新漏れ

    商品CSVでは、Handle が同じ行は同じ商品の variant として扱われます。同一 Handle 内で Variant Barcode の値を確認し、色・サイズごとに正しい JAN コードが入っているかを見ます。

    確認方法:
    CSV を Handle でソートし、同じ Handle(同じ商品)の variant 行を並べて、Variant Barcode の値を比較します。すべて同じ値になっている場合、variant ごとに個別の JAN が存在する商品かどうかを確認します。

    直す前に仕入先データと照合する

    invalid_gtin を修正する前に、必ず仕入先データと照合します。推測で番号を作って入力しないでください。

    照合すべき情報源

    情報源 確認できること 注意点
    仕入先CSV JAN/EAN/UPCの正式な値 列名が「商品コード」「JAN」「EAN」など様々
    商品台帳(自社) 過去の正しい値 古い台帳は改訂前の値の可能性
    商品パッケージ 印字されているバーコード 目視で確認できる最も確実な方法
    仕入先のWeb商品ページ JAN コードの記載 ない場合もある

    仕入先CSVの列名の見分け方:

    • 「JAN」「JANコード」「EAN」「UPC」→ そのまま GTIN として扱える可能性が高い
    • 「商品コード」「品番」「Item code」→ 仕入先独自の管理番号の可能性がある。JAN とは限らない
    • 「ASIN」→ Amazon の商品識別子。GTIN として送ることはできない

    仕入先データの番号種別が不明な場合は、仕入先に確認することをお勧めします。種別が不明なまま Barcode 欄に入れると、invalid_gtin が繰り返されます。

    自動化できる部分

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

    • SKU / Barcode 同一値検出=EXACT(B2,C2) などで完全一致行を抽出
    • Barcode 桁数分布の確認:LEN 関数で各 Barcode の文字数を計算し、8・12・13・14 以外の行をリスト化
    • 先頭0消失疑いの抽出:12桁の値がある場合、本来13桁だった可能性を警告
    • 同一 Barcode 複数 variant の一覧化:Variant Barcode 列で重複値を探し、同一 Handle 内かどうかを確認

    人間判断が必要な部分

    次の判断は、商品の実態を知る担当者が行う必要があります。

    • SKU と GTIN のどちらが正しい商品識別子か:SKU は社内管理番号であり、GTIN として使えるわけではない
    • 仕入先データの番号の種別:その番号が JAN/EAN/UPC なのか、仕入先独自コードなのかを見極める
    • 同じ Barcode を複数 variant に使ってよいか:色・サイズ違いに同じ JAN を入れてよいかは商品次第
    • 推測で番号を作っていないか:正しい JAN コードが不明な場合は、無理に値を入れず identifier_exists の扱いを検討する

    注意点

    • Google Merchant Center の商品データ仕様の gtin 属性は更新される可能性があるため、最新の公式ヘルプで確認してください
    • Shopify の商品CSV仕様(Variant SKU、Variant Barcode の列定義)も変更される場合があります
    • JAN コードが正しくても、商品とコードの対応が間違っている場合(別商品の JAN を入力している場合)は、Google 側での品質評価に影響する可能性があります

    invalid_gtin が出ていて原因を切り分けたい場合はご相談ください。SKUとBarcodeの管理状況、エラー対象件数をお伺いすれば、確認の方向性をご案内します。初回相談では、機密CSVやスクリーンショットの送付は不要です。

    参考にした公式情報

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

    Merchant Center / 商品フィード まわりの作業整理、小さな自動化、簡易チェックツール化について相談できます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料相談する
  • Merchant Centerのmissing image / image_linkエラーで最初に見ること

    Merchant Centerのmissing image / image_linkエラーで最初に見ること

    missing image や image_link のエラーは、画像の品質や販促文字の問題ではなく、まず Google 側から画像 URL にアクセスできていない状態として切り分けます。Shopify の商品画像が登録されているか、CSV の Image Src や Variant Image が空欄ではないか、画像 URL がブラウザのシークレットウィンドウで開けるかを順番に確認します。画像が存在しないのか、URL が届いていないのか、フィードアプリの同期遅れなのかを分けて見ることで、修正の方向性が絞れます。

    missing image / image_link は画像が見えていない状態から疑う

    Google Merchant Center では、商品データの image_link 属性に指定された画像 URL にアクセスできない場合、missing image や image_link 関連のエラーを通知します。

    このエラーが出ているとき、まず確認すべきは「画像の品質」ではありません。品質問題(解像度不足や販促文字の含まれなど)は別の警告として通知されることが多く、missing image はもっと前段階の「画像が見えていない」問題です。

    missing image と品質エラーの違い

    エラーの種類 意味 確認すべきこと
    missing image / image_link 画像 URL が空欄、または URL にアクセスできない 画像の存在とURLの到達性
    image quality 関連の警告 画像は見えているが品質要件を満たしていない 解像度、サイズ、販促文字の有無

    まずは image_link が空欄でないこと、URL がアクセス可能であることを確認します。

    Shopifyの商品画像が登録されているか

    最初に確認するのは、Shopify 側で商品画像が正しく登録されているかです。

    管理画面での確認手順

    1. Shopify 管理画面の「商品」を開く
    2. エラー対象の商品をクリックする
    3. 商品詳細画面の「メディア」セクションを確認する
    4. 画像が登録されているか、削除されていないかを見る
    5. variant がある場合は、各 variant に画像が紐づいているかを確認する

    よくある商品画像の登録漏れ

    • 商品を新規登録したが、画像をアップロードしていない
    • 画像を一度登録したが、編集中に削除した
    • variant(色違い・サイズ違い)を作ったが、variant に画像を紐づけていない
    • 商品を非公開にした際に画像も削除された(通常、非公開にしても画像は残りますが、手動で削除している場合がある)

    variant 画像の確認方法

    variant がある商品では、色やサイズに合わせて画像を紐づけることができます。この紐づけがされていないと、Google 側で variant ごとの画像が表示されないことがあります。

    1. 商品詳細画面の variant セクションを開く
    2. 各 variant の「画像」欄を確認する
    3. 画像が紐づいていない variant があれば、該当する画像を選択して紐づける

    CSVでは Image Src / Variant Image を確認する

    商品CSVをダウンロードして、画像関連の列を確認します。画像URLの空欄や古いURLがエラーの原因になることがあります。

    確認するCSV列

    CSV列 役割 よくある問題
    Image Src 商品メイン画像のURL 空欄、古いドメインのURL、誤ったURL
    Image Alt Text 画像の代替テキスト アクセシビリティに関わるが、missing image の直接の原因ではない
    Variant Image variant に紐づく画像のURL variant だけ画像が空欄になっている
    Image Position 画像の表示順 複数画像の順序が入れ替わっている場合がある

    Image Src が空欄の場合

    Image Src 列が空欄の商品は、商品画像が登録されていないため、Google Merchant Center に image_link が送られません。該当商品について管理画面から画像を登録し、CSVを再エクスポートして Image Src に値が入ったことを確認します。

    Image Src に古いURLが入っている場合

    商品を別ストアから移行した場合や、ドメインを変更した場合、Image Src に古いURLが残っていることがあります。古いURLはアクセスできず、missing image の原因になります。

    • ストア移行後のURLhttps://old-store.myshopify.com/... のように古いストアURLのままになっている
    • CDN URLの変更:Shopify の画像CDN URLが変更されることは稀ですが、移行時に古いURLが残る場合がある

    この場合、一度商品画像を削除して再アップロードするか、新しいストアで画像を登録し直すことで正しい URL が設定されます。

    画像URLが外部からアクセスできるか

    Image Src に URL が入っていても、その URL に外部からアクセスできなければ Google は画像を取得できません。

    アクセス確認の手順

    1. Image Src の URL をコピーする
    2. ブラウザのシークレットウィンドウ(プライベートウィンドウ)を開く
    3. URL をアドレスバーに貼り付けてアクセスする
    4. 画像が表示されるか、エラーが出るかを確認する

    アクセスできない場合のHTTPステータス

    ステータス 意味 対応
    200 OK 正常にアクセス可能 URLに問題なし。フィード同期や別の原因を疑う
    403 Forbidden アクセスが拒否されている 画像の公開設定やホットリンク制限を確認
    404 Not Found 画像が存在しない 画像が削除されている。再登録が必要
    リダイレクト(301/302) 別のURLに転送されている リダイレクト先が正しく画像を返すか確認
    タイムアウト サーバーが応答しない CDNやホスティングの状況を確認

    403 Forbidden のよくある原因

    • Shopify ストアがパスワード保護されている:開発ストアや非公開ストアでは、画像URLに外部からアクセスできないことがあります
    • ホットリンク保護が有効:画像への直リンクを制限する設定がある場合(Shopify の標準設定では通常発生しません)
    • 画像のURLがログイン済みセッションに依存している:シークレットウィンドウでアクセスできない場合、この可能性が高い

    フィードアプリの同期遅れを分けて見る

    Shopify 側に画像が登録されていて、URLも正しくアクセスできるのに、Google Merchant Center に image_link が届いていない場合、フィードアプリの同期に原因があることがあります。

    同期遅れが疑われるケース

    • 商品画像を更新したばかり:フィードアプリが Shopify の変更を取得するまで時間がかかる場合がある
    • 新しい商品を追加した直後:フィードへの反映が間に合っていない
    • フィードアプリの同期間隔が長い:アプリの設定で同期頻度を確認する

    確認手順

    1. Shopify 側で商品画像が正しく登録されていることを確認する
    2. フィードアプリ(Google & YouTube アプリ / Simprosys / Multipixels など)のダッシュボードを開く
    3. 対象商品の image_link 値を確認する(Shopify 側の URL と同じかどうか)
    4. 同期ログまたは最終同期日時を確認する
    5. 必要に応じて手動同期を実行する

    フィードアプリ側で image_link が空欄の場合

    フィードアプリが Shopify から商品データを取得する際、画像URLを正しくマッピングできていない可能性があります。アプリのマッピング設定で image_link 属性に商品画像が正しく紐づいているかを確認してください。アプリによっては、画像属性のマッピングを手動で設定する必要があります。

    画像確認のチェックリスト

    確認箇所 見る場所 よくある原因 次の作業
    商品メイン画像 Shopify 管理画面 > 商品 > メディア 画像未登録、削除済み 画像をアップロード
    Variant 画像 variant 設定 > 画像 色違いだけ画像がない variant に画像を紐づけ
    Image Src 商品CSVの Image Src 列 空欄、古いURL、誤ったURL CSVで値を確認、必要なら再登録
    image_link Merchant Center > 商品詳細 フィードにURLが届いていない 同期元とフィード値を比較
    URL アクセス ブラウザのシークレットウィンドウ 403、404、リダイレクト ステータスごとに対応
    同期状態 フィードアプリのダッシュボード 同期遅れ、マッピング不備 手動同期または設定変更

    自動化できる部分

    • Image Src 空欄検出:商品CSVから Image Src 列が空欄の行を抽出
    • URL 到達確認:画像URLに HTTP リクエストを送り、ステータスコード(200/403/404/タイムアウト)を一覧化
    • リダイレクト確認:画像URLがリダイレクトしている場合、最終的な到達先URLとステータスを確認
    • 拡張子 / Content-Type 確認:画像URLの拡張子や Content-Type ヘッダーが画像として妥当かを確認
    • Variant Image 空欄検出:variant 行で Variant Image が空欄のものを抽出

    人間判断が必要な部分

    • 画像が商品本体を適切に表しているか:商品画像として正しい内容かは、実物を知る担当者が判断する
    • 代替画像を作るべきか:画像が未登録の場合、どのような画像を用意するか
    • ロゴ・透かし・販促文字の判断:これらが含まれていても missing image の直接の原因ではありませんが、品質要件として別途確認が必要
    • 複数画像のうちどれをメインにするか:image_link に指定する画像の選択は、商品の見え方に関わる判断

    注意点

    • Google Merchant Center の image_link 属性の要件や画像のクロール要件は更新される可能性があるため、最新の公式ヘルプで確認してください
    • Shopify の商品画像URL仕様や、商品CSVの Image Src / Variant Image の仕様も変更される場合があります
    • 画像の品質要件(解像度、サイズ、背景色など)は missing image とは別の問題です。画像が見えている状態で品質警告が出た場合は、品質要件を確認してください

    image_link や missing image の原因が分からない場合はご相談ください。エラー名、対象件数、お使いのEC基盤をお聞かせいただければ、確認すべきポイントをご案内します。初回相談では、機密CSVやスクリーンショットの送付は不要です。

    参考にした公式情報

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

    Merchant Center / 商品フィード まわりの作業整理、小さな自動化、簡易チェックツール化について相談できます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料相談する
  • 商品画像のURLが切れていないか、CSVからまとめて確認する考え方

    商品画像のURLが切れていないか、CSVからまとめて確認する考え方

    商品画像URLの確認は、画像を1枚ずつブラウザで開いて確認する前に、まずURLとして外部からアクセスできるかをまとめてチェックします。商品CSVの Image Src、Variant Image、フィード側の image_link を一覧化し、空欄、404、403、リダイレクト、重複を分けると、手作業で1件ずつ開くより原因を絞りやすくなります。画像移行や一括登録をしたあとは、特に旧ドメインのURLや仮アップロード時のURLが残っていることが多いため、CSVを使った一括確認が効率的です。

    画像URL確認は見た目ではなく到達確認から始める

    「画像が表示されているか」を確認したいとき、多くの人は商品ページをブラウザで開いて目視確認します。しかし、商品ページで画像が見えていても、Googleのクローラーが別のURLを取得しようとしてエラーになることがあります。

    ブラウザで開けることとGoogleが取得できることは別

    • ブラウザで開ける:あなたのログインセッションやCookieが有効な状態でアクセスできている
    • Googleが取得できる:ログインなしの匿名アクセスで、HTTPステータス200で画像データが返ってくる

    つまり、Shopify管理画面にログインしている状態では見えても、ログアウト状態やシークレットモードでは見えない画像URLがある可能性があります。画像URLの確認は、必ずログアウト状態またはシークレットモードで行います。

    画像URL確認の基本手順

    1. 商品CSVの Image Src 列を確認し、画像URLが入っているかを確認
    2. 各URLをシークレットモードのブラウザで開き、画像が表示されるか確認
    3. HTTPステータスコードを確認(200、403、404、301/302など)
    4. フィードCSVの image_link 列と照合し、同じURLが使われているか確認

    CSVから確認する画像URL列を決める

    Shopifyの商品CSVと、Merchant Center向けのフィードCSVでは、画像に関連する列が異なります。どの列を見るべきかを整理します。

    Shopify商品CSVの画像関連列

    CSV列名 内容 確認すべきこと
    Image Src 商品のメイン画像URL URLが空でないか、アクセス可能か
    Image Alt Text 画像の代替テキスト 空欄の場合はSEO・アクセシビリティ上の課題
    Variant Image バリエーション別画像URL 特定バリエーションだけ画像がないか
    Variant Image Src バリエーションの画像ソース Image Srcと同じURLか、別URLか
    Image Position 画像の表示順 1番目の画像が商品の代表画像として適切か

    フィードCSVの画像関連列

    フィード列名 対応するMerchant Center属性 確認すべきこと
    image_link image_link(必須) メイン画像URLが空でないか、アクセス可能か
    additional_image_link additional_image_link 追加画像URLがすべて有効か
    image_name 画像の表示名 空欄でもエラーにはならないが管理上の確認

    まず確認する列の優先順位

    1. image_link(フィード側のメイン画像URL)→ ここが空欄または404だと掲載上の問題につながる可能性があります
    2. Image Src(Shopify側のメイン画像URL)→ フィードに送られる元のURL
    3. additional_image_link(フィード側の追加画像URL)→ 複数ある場合はカンマ区切り
    4. Variant Image(Shopify側のバリエーション画像URL)→ バリエーションごとに画像を変えている場合

    ステータスコードで原因を分類する

    画像URLにアクセスしたときのHTTPステータスコードで、原因を分類できます。すべて手作業で確認するのは大変なので、CSVからURL一覧を抜き出して一括確認する方法をとります。

    ステータスコードと原因の分類

    ステータスコード 意味 画像URLでの原因例 対応の方向性
    200 OK 正常に取得できた 画像が正しく公開されている 画像内容を確認
    301 Moved Permanently 恒久的なリダイレクト 旧ドメインから新ドメインへ転送 最終URLに更新
    302 Found 一時的なリダイレクト メンテナンス中の転送など 元URLが復旧するか確認
    403 Forbidden アクセス拒否 非公開設定、パスワード保護 公開設定に変更
    404 Not Found ページが存在しない 画像が削除済み、URL変更 画像を再アップロード
    Timeout タイムアウト サーバー応答なし、大きな画像 画像サイズ・ホスティング確認

    ステータスコードの確認方法

    URLのステータスコードは、以下の方法で確認できます。

    • ブラウザの開発者ツール:Network タブで画像URLへのリクエストを確認
    • curlコマンドcurl -I "画像URL" でヘッダーだけ取得
    • スプレッドシート関数:Googleスプレッドシートで IMPORTDATA やカスタム関数を使う
    • 専用ツール・スクリプト:URL一覧を読み込んでステータスコードを一括取得するスクリプト

    CSVに数百〜数千の画像URLがある場合は、スクリプトやツールでの一括確認が現実的です。

    同じ画像URLの重複や古いURLを探す

    画像URLの問題は、アクセスできないことだけではありません。同じURLが大量の商品に使われていたり、移行前の古いURLが残っていたりする場合もあります。

    重複画像URLの確認

    すべての商品に同じ画像URL(例:プレースホルダー画像や「画像準備中」の画像)が設定されている場合、フィード審査で問題になることがあります。商品を代表する固有の画像が必要です。

    確認方法:

    1. CSVの Image Src 列で、同じURLが何回出現するかをカウント
    2. 出現回数が極端に多いURL(例:全商品の50%以上で使われている)をリストアップ
    3. その画像がプレースホルダーや仮画像でないかを確認

    移行前ドメインのURL

    別のプラットフォームからShopifyに移行した場合、商品CSVに旧プラットフォームの画像URLが残っていることがあります。例えば以下のようなURLです。

    • https://old-store.example.com/images/product1.jpg(旧ドメイン)
    • https://cdn.shopify.com/s/files/1/xxxx/xxxx/products/old-name.jpg(古いShopifyパス)
    • https://tmp-upload.example.com/img/temp123.jpg(仮アップロード先)

    これらのURLは、旧サーバーの契約終了や一時ディレクトリの消去で404になることがあります。

    重複・古いURLのチェックリスト

    • ☐ Image Src 列で同一URLの出現回数をカウント
    • ☐ 出現回数が多いURLの画像内容を確認(プレースホルダーでないか)
    • ☐ URLのドメイン部分が現在のストアドメインと一致するか確認
    • ☐ 旧ドメインのURLが含まれていないか確認
    • ☐ 仮アップロード先のURLが含まれていないか確認
    • ☐ URLに日本語やスペースがエンコードされずに含まれていないか確認

    到達しても画像として適切かは別で見る

    URLが200 OKでアクセスできても、それが商品画像として適切かは別の確認が必要です。Merchant Centerには画像の内容に関するポリシーもあります。

    Content-Typeの確認

    HTTPレスポンスの Content-Type ヘッダーが image/ で始まっているかを確認します。商品画像のURLを指定しているつもりが、HTMLページを指していることがあります。

    • image/jpeg image/png image/webp image/gif → 画像ファイルとして正常
    • text/html → HTMLページを指している(URLの指定ミスの可能性)
    • application/json → APIレスポンスを指している(URLの指定ミス)

    拡張子とファイル形式

    URLの拡張子が画像形式として一般的なものかを確認します。

    • .jpg .jpeg .png .webp .gif → 一般的な画像形式
    • .svg → Merchant Centerでは対応していない場合があります
    • .pdf .html → 画像ファイルではない
    • 拡張子なし → CDNのURLでは一般的だが、Content-Typeで確認が必要

    サムネイルとフルサイズ画像

    Shopifyの画像URLでは、URLのパラメータで画像サイズを指定できます。

    • https://cdn.shopify.com/s/files/.../product.jpg?width=100 → サムネイルサイズ
    • https://cdn.shopify.com/s/files/.../product.jpg?width=2048 → フルサイズ

    フィードにはMerchant Centerの要件を満たすサイズの画像を送る必要があります。サムネイルサイズのURLをそのままフィードに送ると、画像サイズ不足で警告が出ることがあります。最新の公式ヘルプで画像サイズ要件を確認してください。

    プレースホルダー画像の確認

    「NO IMAGE」「画像準備中」といったプレースホルダー画像は、URLとしては有効でも、商品を表す画像としては不適切です。プレースホルダー画像の判定には人間の目視確認が必要です。

    確認結果のまとめ方

    画像URLの一括確認が終わったら、結果を分類して対応優先順位を付けます。

    分類 条件 件数目安 対応優先度 対応方法
    正常 200 OK、画像ファイル、固有URL (確認結果を記入) そのまま
    空欄 Image Src が空 (確認結果を記入) 画像をアップロード
    404エラー ページが存在しない (確認結果を記入) 画像を再アップロード
    403エラー アクセス拒否 (確認結果を記入) 公開設定に変更
    リダイレクト 301/302 (確認結果を記入) 最終URLに更新
    HTMLページ Content-Type が text/html (確認結果を記入) 正しい画像URLに修正
    プレースホルダー 同一画像が大量商品に使われている (確認結果を記入) 商品固有の画像を用意
    サムネイル 画像サイズが小さい (確認結果を記入) フルサイズURLに更新

    自動化できる確認作業

    以下の確認は、スクリプトやツールで一括処理できます。

    • 画像URL空欄検出:CSVの Image Src 列と image_link 列が空欄の商品を抽出
    • HTTPステータス取得:URL一覧に対してHEADリクエストを送り、ステータスコードを記録
    • リダイレクト先URLの記録:301/302のレスポンスが返ってきた場合、最終到達URLを記録
    • Content-Type確認:レスポンスヘッダーの Content-Type が image/* かどうかを判定
    • 同一画像URLの重複確認:URLごとの出現回数をカウントし、閾値以上のURLをリストアップ
    • ドメインチェック:URLのドメイン部分が現在のストアドメインと一致するかを判定
    • 拡張子チェック:URL末尾の拡張子が画像形式として一般的なものかを判定

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

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

    • 画像が商品本体を表しているか:自動検出では「画像が存在するか」までしか確認できません。その画像が商品を正しく表しているかは目視判断が必要です。
    • 代替画像を作る優先順位:画像が欠落している商品が多数ある場合、どの商品から画像を用意するかは販売優先度によります。
    • 商品ページ用画像とフィード用画像を分けるか:ポリシー上の問題(ロゴ、透かし、SALE文字など)がある場合、フィード専用の画像を用意するかどうかは運用判断です。
    • プレースホルダー画像の判定:「NO IMAGE」画像も自動的にはプレースホルダーと判定できないため、目視確認が必要です。
    • 画像品質の判定:ぼやけている、背景と同化している、複数商品が写っているなど、画像品質の評価は人間の判断によります。

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

    • Google Merchant Center の image_link 属性の要件は変更される可能性があります。最新の公式ヘルプで画像要件を確認してください。
    • Shopify の画像URLの形式やCDNの仕様は変更されることがあります。画像URLの構造は最新の状態を確認してください。
    • 画像のサイズ要件や対応フォーマットは、Merchant Centerの仕様に依存します。仕様は変わる可能性があります。
    • 大量のURLを一括確認する際は、サーバーに負荷をかけないよう、適切な間隔でリクエストを送ってください。

    商品CSVの画像URLが多数あり、どれが切れているのか手作業では見切れない場合はご相談ください。Image Src列の状況と対象商品数をお伺いすれば、確認の方向性をご案内します。初回相談では、機密CSVやスクリーンショットの送付は不要です。

    参考にした公式情報

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

    Merchant Center / 商品フィード まわりの作業整理、小さな自動化、簡易チェックツール化について相談できます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料相談する
  • Google Shopping向け商品画像で、ロゴ・透かし・枠線をどう判断するか

    Google Shopping向け商品画像で、ロゴ・透かし・枠線をどう判断するか

    Google Shopping向けの商品画像では、URLが開けることと、画像として使ってよいことを分けて確認します。ロゴ、透かし、枠線、SALE文字、送料無料などの販促要素は、商品ページでは使えてもフィード画像では問題になる可能性があります。まずフィード用のメイン画像と、商品ページ用の販促画像を分けて管理できているかを見ます。分けられていなければ、どの画像をフィードに送るべきかを整理する必要があります。

    画像URLエラーと画像ポリシー問題を分ける

    Merchant Centerで画像に関する問題が起きたとき、「URLがアクセスできない」という技術的な問題と「画像の内容がポリシーに合わない」という運用上の問題があります。この2つは別の原因であり、別の対応が必要です。

    画像URLエラー(技術的な問題)

    • image link missing:画像URLが空欄
    • image cannot be crawled:URLにアクセスしても画像が取得できない(404、403、タイムアウト)
    • image format unsupported:対応していない画像形式(SVGなど)

    これらはURLやファイル形式の問題で、画像そのものを差し替えるかURLを修正することで解決します。画像URLの確認方法については、別記事「商品画像のURLが切れていないか、CSVからまとめて確認する考え方」を参照してください。

    画像ポリシー問題(内容の問題)

    • 画像に販促テキストが含まれている:SALE、OFF、送料無料などの文字が画像内にある
    • 画像に透かしが入っている:店舗名、コピーライト、コピー防止の透かし
    • 画像に枠線や装飾がある:白背景に強い色の枠、バナー的な装飾
    • 画像が商品を表していない:プレースホルダー、カテゴリアイコン、ロゴだけの画像

    これらはURLは正常でも、Merchant Centerの審査で不承認になる可能性があります。画像の内容を確認し、フィード用に適切な画像を選ぶ必要があります。

    ロゴ・透かし・枠線・SALE文字を分類する

    画像に含まれる要素を種類ごとに分類し、それぞれ問題になりやすいかどうかを整理します。

    販促テキスト(SALE文字、割引率、送料無料)

    画像上に「SALE」「50%OFF」「送料無料」「期間限定」といったテキストを重ねているケースです。商品ページでは目を引くために有効ですが、フィード画像としては不承認の要因になりえます。

    • 割合や価格の訴求:「半額」「30%OFF」など → フィード画像では問題になりやすい
    • 送料の訴求:「送料無料」「送料無料キャンペーン」 → フィード画像では問題になりやすい
    • 期間の訴求:「本日限定」「あと3日」 → フィード画像では問題になりやすい
    • 商品名の表示:画像内に商品名をテキストで入れている場合 → 商品名はOKでも、装飾的な配置は要注意

    ブランドロゴ・店舗ロゴ

    画像の隅にブランドロゴや店舗ロゴを配置しているケースです。商品そのものにブランドロゴが印字されている場合は別ですが、画像に後からロゴを合成している場合は注意が必要です。

    • 商品本体のロゴ:Tシャツにプリントされたブランドロゴ、パッケージのロゴ → 商品の一部なので問題になりにくい
    • 画像に合成したロゴ:商品写真の隅に店舗ロゴやブランドロゴを配置 → フィード画像では問題になりやすい
    • ロゴだけの画像:商品写真がなくブランドロゴだけ → 商品を表す画像として不適切

    透かし(ウォーターマーク)

    画像に店舗名やコピーライトを透かしで入れているケースです。他サイトでの無断使用を防ぐ目的で入れることがありますが、フィード画像では問題になる可能性があります。

    • 店舗名の透かし:画像中央や隅に「○○ストア」と入れている
    • コピーライト表記:「(C) 2024 ○○」と入れている
    • コピー防止マーク:「SAMPLE」と入れている

    枠線・装飾

    商品画像の周囲に枠線や装飾を入れているケースです。商品ページのデザイン上の理由で入れることがありますが、フィード画像では問題になる可能性があります。

    • 白背景に強い色の枠線:商品の境界を強調するための枠
    • バナー的な装飾:商品画像の一部にバナー風のデザインを合成
    • 角丸・影:CSSではなく画像自体に加工している場合

    画像上の要素の分類表

    画像上の要素 具体例 商品ページでは フィード画像では 判断のポイント
    割引テキスト 「SALE」「30%OFF」 販促として有効 問題になりやすい 価格情報は属性で送るべき
    送料テキスト 「送料無料」 販促として有効 問題になりやすい 配送情報は属性で送るべき
    期間テキスト 「期間限定」 販促として有効 問題になりやすい キャンペーン情報は別で管理
    商品本体のロゴ パッケージのロゴ 商品表示の一部 問題になりにくい 商品に印字されているものか
    合成ロゴ 画像の隅にロゴ ブランド表記として可 問題になりやすい 後付けの装飾か商品の一部か
    店名の透かし 「○○ストア」 コピー防止として可 問題になりやすい フィード用には別画像を用意
    コピーライト 「(C) 2024 ○○」 権利表示として可 問題になりやすい 権利表示は別の方法で
    枠線 白背景の青い枠 デザイン要素 問題になりやすい 商品のみの画像が望ましい
    バナー合成 送料無料+背景色 キャンペーン表示 問題になりやすい 商品ページ用と分ける

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

    画像ポリシー問題を根本的に解決するには、商品ページ用の画像とフィード用の画像を分けて管理することが重要です。

    メイン画像と追加画像の役割

    • メイン画像(image_link):Merchant Centerで商品を代表する画像。商品単体が背景なしで明確に見える画像が望ましい
    • 追加画像(additional_image_link):商品の使用場面、複数角度、パッケージなど。メイン画像ほど厳しくない場合があります

    メイン画像には、販促要素のないクリーンな商品写真を使い、販促バナー入りの画像は商品ページでのみ使用する、という分け方が基本です。

    Shopifyでの画像の分け方

    Shopifyでは商品に複数の画像を登録できますが、「どの画像をフィードに送るか」はフィードアプリの設定に依存します。

    • Google & YouTubeアプリの場合:商品の1枚目の画像が image_link として送られ、以降の画像が additional_image_link として送られます。画像の並び順が重要です。
    • サードパーティフィードアプリの場合:アプリごとに画像の選択設定があります。メイン画像として特定の画像を指定できる場合があります。

    確認手順:

    1. Shopify管理画面で対象商品を開き、画像の並び順を確認
    2. 1枚目の画像に販促要素(SALE文字、ロゴ、透かし)が含まれていないか確認
    3. フィードアプリの設定で、どの画像が image_link として送られているか確認
    4. 販促画像が必要な場合は、2枚目以降に配置するか商品ページでのみ表示する

    キャンペーンバナーをフィードに送らない

    セールやキャンペーンのために、商品画像にバナーを合成している場合は注意が必要です。バナー合成画像をそのままフィードに送ると、ポリシー違反の対象になる可能性があります。

    対策の方向性:

    • 商品写真をそのままフィードに送る:販促テキストなしのクリーンな商品写真をメイン画像にする
    • バナー画像は追加画像や商品ページのみ:バナー合成画像は2枚目以降、または商品ページのテーマ側でのみ表示
    • キャンペーン情報はテキストで送る:セール価格やキャンペーン情報は画像ではなく、フィードの sale_price や promotion_id 属性で送る

    画像を一括確認するときの見方

    商品数が多い場合、全画像を目視確認するのは現実的ではありません。効率的に確認するためのアプローチを紹介します。

    サムネイル一覧での確認

    商品CSVの Image Src 列からURL一覧を作り、サムネイルとして一覧表示します。一覧表示することで、以下の問題が一目でわかります。

    • 全商品に同じ仮画像が使われている
    • 一部の商品だけバナー合成画像がメインになっている
    • ロゴや透かしがパターン化されている(特定テンプレートの画像)

    問題種別ごとのフィルタリング

    サムネイル一覧を作ったら、問題の種類ごとにフィルタリングします。

    確認段階 確認方法 見つかる問題 自動化可否
    サムネイル一覧表示 URLから画像を並べる 同一画像の大量使用、明らかなバナー 半自動
    OCRテキスト検出 画像内の文字を抽出 SALE、OFF、送料無料などのテキスト 自動化可能
    画像分類 画像の特徴を分析 ロゴ、透かし、枠線の候補抽出 半自動
    テンプレート検出 同一レイアウト画像のグルーピング 共通テンプレートの画像 自動化可能
    目視確認 抽出結果を人間が確認 最終的な適否判断 自動化不可

    修正優先度の付け方

    問題が見つかった画像の修正優先度は以下の基準で考えます。

    1. メイン画像(image_link)に販促テキストがある商品 → 最優先で対応
    2. メイン画像にロゴ・透かしがある商品 → 高優先度で対応
    3. メイン画像がプレースホルダーの商品 → 高優先度で対応
    4. 追加画像に販促テキストがある商品 → 中優先度
    5. 追加画像にロゴ・透かしがある商品 → 低優先度

    修正時にやってはいけないこと

    画像ポリシーに対応する際、以下の点に注意してください。

    商品実態と違う画像に差し替えない

    審査を通すために、商品と全く関係ない画像に差し替えることは避けてください。商品ページに表示されている画像とフィードに送る画像が一致していることも、Merchant Centerの要件の一つです。

    • 商品が赤なのに青い画像を送る → 不一致でエラーになる可能性
    • 完成品の画像を送っているのに、商品ページではパーツだけ → 不一致
    • 別商品の画像を再利用 → 商品識別の問題

    画像を削除したままにしない

    問題のある画像を外すだけでは、image link missing エラーに変わるだけです。代替となる適切な画像を用意してから差し替えます。

    商品ページの画像とフィード画像を全く別にしない

    Merchant Centerでは、フィードの画像とランディングページ(商品ページ)の画像が「対応している」ことが求められます。まったく違う画像を送ると、不一致として指摘される可能性があります。商品は同じでも、角度や背景が異なる程度であれば問題になる可能性は比較的低いですが、最終的には公式要件と実際の表示で確認してください。

    自動化できる確認作業

    • 画像URL一覧からサムネイル確認表の作成:CSVの Image Src 列のURLから画像を読み込み、一覧表示
    • OCRでテキスト候補の検出:画像内のテキストを抽出し、「SALE」「OFF」「送料無料」「限定」などのキーワードが含まれる画像をリストアップ
    • 同一テンプレート画像のグルーピング:画像のピクセルパターンを比較し、同じテンプレートから作成された画像をグループ化
    • 画像サイズ・アスペクト比の確認:Merchant Centerの要件に対して、画像の解像度やアスペクト比が適切かを一括確認
    • メイン画像と追加画像の枚数確認:商品ごとの画像枚数をカウントし、メイン画像がない商品を抽出

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

    • 画像上のテキストが販促要素に当たるかどうか:OCRで「SALE」が検出されても、商品そのものに印字されたテキストか、後から合成した販促テキストかは人間の判断が必要です。
    • 商品本体に印字されたロゴか後付けの装飾か:パッケージのロゴは商品の一部ですが、画像の隅に後から配置したロゴは装飾です。この区別は目視でしかできません。
    • 代替画像を作るべきかどうか:問題のある画像を直すか、新しい画像を撮影するか、別の画像に差し替えるかは運用判断です。
    • フィード用画像を別途用意するか:商品ページ用の画像をそのまま使うか、フィード専用の画像を用意するかは、リソースと運用方針によります。
    • 画像の品質が商品を適切に表しているか:ぼやけている、色が違う、商品の主要部分が見えないなどの品質評価は人間の判断によります。

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

    • Google Merchant Center の画像ポリシーや image_link 属性の要件は変更される可能性があります。最新の公式ヘルプで商品画像の要件を確認してください。
    • 販促テキスト、透かし、枠線がどの程度まで許容されるかは、審査の運用によって変わる可能性があります。断定ではなく「問題になりやすい」として対応を検討してください。
    • 画像の審査結果はケースバイケースであり、同じ画像でも時期によって判定が変わることがあります。
    • Shopifyの画像管理機能やフィードアプリの設定はアップデートされることがあります。アプリの最新ヘルプも参照してください。

    商品画像にSALE文字、ロゴ、透かし、枠線があり、フィード用画像として問題ないか不安な場合はご相談ください。画像の装飾の種類と対象商品数をお聞かせいただければ、確認すべきポイントをご案内します。初回相談では、機密CSVや画像ファイルの送付は不要です。

    参考にした公式情報

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

    Merchant Center / 商品フィード まわりの作業整理、小さな自動化、簡易チェックツール化について相談できます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

    無料相談する