ショッピング広告に古い商品画像が出るとき|商品本体ではなくバリアント側に残る画像の探し方
ショッピング広告に古い商品画像が出るとき|商品本体ではなくバリアント側に残る画像の探し方
Googleショッピング広告に、実物と違う画像が出ている。商品ページを開くと正しい写真が1枚目に表示されているのに、広告のサムネイルだけが古いまま変わらない——このとき、商品の画像を差し替え直す作業は無駄になります。見るべき場所が違うからです。
結論から書きます。商品ページ側が正しいのに広告だけ古いなら、疑うのはバリアント(色違い・サイズ違い)に個別に紐づいた画像です。商品フィードはバリアント画像を優先して送るため、商品の1枚目をいくら入れ替えても、バリアントに古い画像がぶら下がっている限り広告の見え方は変わりません。
この記事では、その画像をどう探すか、カタログ全体からどう洗い出すか、削除の判断基準と反映までの考え方を、実際にECサイト1件を全件走査した記録をもとに整理します。
結論:フィードはバリアント画像を優先する
Shopifyをはじめとするカートでは、商品画像に2つの階層があります。
| 階層 | どこに出るか |
|---|---|
| 商品の画像(ギャラリー) | 商品ページを開いた最初の表示 |
| バリアントに紐づけた画像 | 色・サイズを選んだときの切替表示 |
Google Merchant Centerへ送られる商品フィードは、バリアント単位で1行が作られます。そのバリアントに画像が紐づいていれば、その画像が広告のサムネイルになります。紐づいていないときだけ、商品の1枚目にフォールバックするという順番です。
つまり「商品ページは正しいのに広告だけ古い」という症状は、仕様どおりの動きです。故障ではないので、待っても直りません。
管理画面のギャラリー表示では、その1枚が「バリアントに紐づいている」ことが視覚的に分かりにくく、担当者が入れ替えたつもりで残ることが起こります。ここが差し替え漏れの温床になります。
探し方:1商品ずつ開かない。まず1商品で「型」を取る
商品数が数百を超えると、管理画面を目視で回る方法は現実的ではありません。手順を分けます。
① 広告に出ている商品1点だけ、画像一覧を数値で見る
広告のリンク先から商品を1点特定し、その商品の画像をサイズとファイル名まで含めて一覧化します。ここで狙うのは、他と揃っていない1枚です。
実際に調べたケースでは、その商品の画像は900×900ピクセルのJPGで統一されていたなかに、1枚だけ500×500ピクセルのPNGが混ざっていました。これが広告に出ていた「画像準備中・詳細はお問い合わせください」という代替画像です。
寸法と形式が他と違う画像は、別の経路で・別のタイミングで入ったものです。この「浮いている1枚」が探索の起点になります。
② ファイル名のハッシュで、カタログ全体を走査する
同じ元ファイルを何度アップロードしても、多くのカートではファイル名に共通のハッシュ文字列が付きます。つまり1枚見つかれば、その文字列でカタログ全体を検索できるということです。
APIで全商品を取得し、画像のURLにその文字列が含まれるものを抽出します。取得する項目は商品ID・タイトル・ハンドル・公開状態・画像URLだけで足ります。
このとき注意したいのが、存在しないパラメータを付けても、多くのAPIはエラーを返さず空の結果を返すという挙動です。実際、商品一覧APIに存在しないステータス指定を足すと、エラーにならないまま結果が0件で返ります。「0件だった=該当なし」と読んでしまうと、そこで調査が終わります。
これを防ぐ確認は単純です。条件を外した状態で走査して、総件数が想定どおりか先に確かめる。総件数が合っていなければ、抽出条件ではなく取得条件を疑います。走査系の作業では、この一手間が結論の信頼性を分けます。
③ 寸法とファイル名だけで断定しない
抽出できた候補は、必ず実画像を目で確認します。同じケースで、500×500ピクセルのPNGを全件洗い出したところ、同じ条件に当てはまるのに中身は実際の商品写真というものが混ざっていました。限定モデルの撮影分でした。
条件だけで一括削除していれば、売れ筋の商品画像を消していたことになります。機械で候補を絞り、人が実物を確認して確定する——この分担を崩さないのが安全です。
実例:1,849商品を走査し、48商品から48枚を削除
革製品を扱うECサイト(Shopify・約1,850商品)で、この手順を実行した記録です。
- 全1,849商品を走査 → 48商品が同じ代替画像を保持(公開中43・下書き5)
- 48商品すべてに、別途きちんとした実写が登録済みだった
- うち29商品では、その代替画像がバリアントに紐づいていた——これが広告に出ていた直接の原因
- 48商品から48枚を削除し、失敗0件
- 削除後に再走査し、残存0枚・画像が1枚もなくなった商品0件を機械で確認
注目したいのは、48商品のうちバリアントに紐づいていたのが29商品だった点です。残る19商品は同じ画像を持ってはいるものの、バリアント側の紐付けはなく、商品のギャラリーに残っているだけでした。「持っている」と「フィードに送られている」は別なので、保持件数だけで影響範囲を見積もると実態からずれます。
削除後、バリアントは商品の1枚目(実写)に自動でフォールバックしました。バリアント画像を消すことは、画像を失うことではありません。
バリアント以外に疑う場所(症状が似ているもの)
バリアント画像を確認して該当がなければ、次の3つを順に見ます。どれも「商品ページは正しいのに広告だけ違う」という同じ症状になります。
① 同じファイル名で上書きした
画像URLがファイル名でそのまま決まる構成(自社サーバーやCMSのメディア管理など)では、同じファイル名で上書きしてもURLが変わらないため、外部サービスが持っている実体は古いままになります。管理画面では新しい画像が見えているのに、取得側だけ古いという状態です。差し替えのときはファイル名を変えるのが確実で、URLが変われば取得側は必ず新しい実体を取りに行きます。
② フィードに送られている画像URLを直接見ていない
推測で作業する前に、Merchant Centerの商品単位の詳細で、その商品に対して実際に送られている画像URLを確認します。そのURLをブラウザで開けば、どの画像が広告に使われているかは一目で分かります。ここを見ずに差し替えを繰り返すのが、いちばん時間を失うパターンです。
③ 補足フィードや外部アプリが上書きしている
フィード連携アプリや補足フィードで画像を指定していると、カート側を直しても上書きされ続けます。連携アプリを入れているサイトでは、カートとフィード、どちらが最終的な値を持っているかを先に決めておきます。
削除の前に確認する3点
一括削除は戻せない操作です。実行前に、次の3つを機械で確認します。
- 削除後に画像が0枚になる商品がないか。1枚しか画像がない商品が混ざっていると、その商品はフィードから落ちます
- 削除対象の全件を実物で確認したか(②③のとおり、条件一致だけで確定しない)
- 下書き・非公開の商品も対象に含めたか。今は非公開でも、公開した瞬間に同じ症状が再発します
そのうえで、削除は「実行して終わり」にせず、同じ条件でもう一度走査して0件になることを確認するまで含めて1セットにします。実行結果のログは、削除できたことは示しても、狙った状態になったことは示しません。
反映は即時ではない。確認のタイミングを間違えない
削除しても、広告のサムネイルはすぐには変わりません。Merchant Centerがフィードを取り直すまで、数時間から数日かかります。
ここで「変わっていない=直っていない」と判断して別の作業を始めると、原因が二重になって切り分けができなくなります。作業直後に見るべきなのは広告の見え方ではなく、カートのデータ側が意図した状態になっているかです。広告表示の確認は、フィードの取得日時が更新されてから行います。
予防:バリアント画像は「入れっぱなし」になりやすい
同じサイトで、専門店向け商品539件のバリアント画像の紐付け状況を調べたことがあります。
| 状況 | 件数 |
|---|---|
| 複数バリアントを持つ商品 | 334件 |
| バリアント画像を全て紐付け済み | 34件 |
| 一部だけ紐付け | 18件 |
| 紐付けなし | 282件 |
紐付けを運用していたのは一部のカテゴリだけで、残りは全カラーが同じ画像でした。つまりバリアント画像は、サイト全体で一貫して運用されているとは限らないということです。一部だけ設定されている状態は、担当者の視界から外れやすく、古い画像が1枚だけ残る余地になります。
予防として決めておくとよいのは次の2点です。
- 仮画像には、後から機械で探せる固定のファイル名を使う。「あとで差し替える画像」を一意な名前にしておけば、公開前に全件検索で洗い出せます
- 公開前チェックに「仮画像の全件走査」を入れる。1商品ずつ見る運用は、商品が増えた時点で必ず破綻します
商品数が増えるほど、目視の点検は精度が落ちます。探し方を手順として持っておくことが、そのまま広告品質の維持につながります。
まとめ
- ショッピング広告の画像が変わらないときは、商品の1枚目ではなくバリアントに紐づいた画像を先に疑う
- フィードはバリアント画像を優先し、無いときだけ商品の1枚目にフォールバックする
- 1商品で「浮いている1枚」を特定 → ファイル名のハッシュでカタログ全体を走査する
- 走査系のAPIは存在しない条件を付けても静かに0件を返す。総件数で健全性を先に確認する
- 条件一致だけで一括削除しない。機械で絞り、人が実物で確定する
- 削除後は再走査で0件・画像0枚の商品0件を確認する
- 広告への反映は数時間〜数日。作業直後はカート側のデータで判断する
商品画像の不整合は、見た目の問題ではなく配信の問題です。広告費をかけているカタログほど、探し方を決めておく価値があります。