ほとんどのフィードの問題は、フィードの問題には見えません。説明のつかないGoogle Merchant Centerの不承認、予算をたった1枚の黒いTシャツに費やしてしまうAdvantage+キャンペーン、あるいはサイズ42の靴を探している顧客をサイズ38しか残っていないページに誘導してしまうショッピング広告など、様々な形で現れます。
これらのほとんどすべての根底には、同じものが存在する。それは、バリエーションである。
バリエーションとは、サイズ、色、素材、容量、仕上げなど、目に見える形で購入可能な違いが一つだけある製品のあらゆるバージョンを指します。小売業界ではごく一般的なものですが、フィードでは非常に扱いが難しいものです。なぜなら、各チャネルによってモデル化の仕方が異なり、また、誤った設定をすると、目に見えない形で問題が発生するからです。何も壊れることはありません。広告のパフォーマンスが静かに低下するだけで、その原因は誰も開かないデータファイルの4階層下に存在することになります。
このガイドでは、バリアントの定義、item_group_id の仕組みと誤用例、バリアントを定義するすべての属性とその実際の制限、XML、CSV、JSON 形式のフィード例、Google、Meta、TikTok、Pinterest、Amazon、および各地域のマーケットプレイスがバリアントに期待する構造、そして最も頻繁に発生するエラーの診断表など、バリアントに関するあらゆる情報を網羅しています。
内容が長いため、記事も長くなっています。目次を使って目的の箇所へジャンプしてください。
1. バリアントとは実際には何なのか
バリエーションとは、同一製品でありながら、顧客が選択できる属性のうち少なくとも1つにおいて他の製品と異なる、購入可能なバージョンの製品のことである。
最後の条項が非常に重要な役割を果たしています。青色のMサイズのTシャツと黒色のLサイズのTシャツは同じ商品です。しかし、青色のTシャツと青色のパーカーは、同じブランドで同じ生地で作られていても、同じ商品ではありません。
ほとんどのチャネルにおける標準モデルは親/子です。
- その 親 これはコンセプト商品、つまり「メリノクルーネックセーター」です。通常は単体で購入することはできません。
- その 子供 バリエーションとは、それぞれ独自のSKU、独自の在庫レベル、場合によっては独自の価格と画像を持つものです。
商品フィードでは、これはほぼ常にフラットな形式で表現されます。つまり、各バリエーションがそれぞれ独立した行または<アイテム>となり、共通のグループ化キーによってそれらが結び付けられます。ネスト構造はありません。例えば、4色5サイズ展開のセーターは20行となり、すべて同じグループIDを持ちます。
何ですか 変種
これは、XMLが1行も書き込まれる前にフィードに問題が発生する箇所です。
| バリエーションではない | Why | 代わりに何を使うべきか |
|---|---|---|
| マルチパック — 6本パック vs. 1本 | 同一単位の異なる数量であり、選択された属性ではない。 | マルチパック属性(Google) |
| バンドル — カメラ+レンズ+バッグ | 明確な販売可能な複合材料 | is_bundle属性; 別製品 |
| 関連製品 トップスとスカートがセットになっています | 相性の良い様々な製品 | アイテムを分けて、推奨事項に従ってください。 |
| 再生品 vs. 新品 | 状態であって、変動ではない | 条件属性 |
| さまざまな小売業者の出品情報 | 同じ商品ですが、販売者が異なるだけです。 | 別々のアカウント/フィード |
| パーソナライゼーション — 刻印された名前 | 受注生産品のため、在庫品ではありません。 | 通常は1点。詳細は説明欄をご覧ください。 |
これらのアイテムを共通の item_group_id の下にグループ化すると、メンバーが互換性のないグループが生成され、宛先ページのバリアントセレクターが混乱し、一部のチャネルでは不一致による承認拒否が発生します。
2. 全てを決定づける決断
フィードロジックを作成する前に、販売する製品タイプごとに次の質問に答えてください。
顧客が別のオプションを選択した場合、別のページに移動するのか、それとも同じページの別のページに移動するのか?
これは実践的なテストであり、フィードの構成方法に直接的に結びつくものです。
ケースA:バリエーションごとにURLを分けます。各色ごとに専用の商品ページ(/merino-sweater-navy、/merino-sweater-charcoal)を用意します。各バリエーションをそれぞれ別の行として、独自のリンクとともに送信します。これが最も分かりやすい設定で、広告の関連性が最も高まり、各チャネルが推奨する方法です。
ケースB — 1つのURLで、ページ上でバリエーションを選択。すべての商品は/merino-sweaterにあり、顧客はセレクターで色とサイズを選択します。すべてのバリエーションを送信できますが、広告が適切な事前選択済みの状態に表示されるように、ディープリンクパラメータを追加する必要があります。
https://example.com/merino-sweater?colour=navy&size=mそのパラメータがないと、ネイビーのMサイズの広告をクリックした買い物客は、デフォルトでチャコールグレーのSサイズが表示される状態になります。この不一致は、バリエーション広告における最大の隠れたコンバージョン阻害要因の1つであり、Googleでは、クローラーがページ上の表示色が送信された色と一致しないページを認識するため、「値の不一致(ページクロール)」という不承認につながる可能性もあります。
ケースC ― 分割する価値のないバリエーション。充電器のケーブルの長さなど、一部のバリエーションは購入決定にそれほど大きな影響を与えないため、個別の広告を出す必要はありません。このような場合は、代表的なバリエーションを1つだけ意図的に送付しても構いません。第7項では、これが適切な判断となる場合について説明しています。
変異を定義する属性と記述的な属性
フィード内のすべての属性は、2つのカテゴリのいずれかに分類され、それらを混同すると、不適切なグループが頻繁に発生します。
バリエーションを定義する属性は、グループ内のメンバー間で異なっている必要があります。これらは、顧客が選択する要素、つまり色、サイズ、素材、柄、さらに容量や仕上げといった製品固有の寸法などです。
グループ定数属性(ブランド、性別、年齢層、アイテムグループタイトル、Google製品カテゴリ)は、すべてのメンバーで同一である必要があります。2つの行がアイテムグループIDを共有していても性別の値が異なる場合は、製品のグループ分けが間違っているか、タグ付けが間違っています。
行固有の属性のうち、バリエーションを定義する属性ではないものは、バリエーションを定義することなく行ごとに異なります。例えば、id、price、availability、gtin、image_link、linkなどです。2つのバリエーションは、価格が違いを決定づける要素でなくても、異なる価格を持つことができます(例えば、3XLサイズは価格が高くなることが多い)。
3. item_group_id: 基盤
item_group_idは、チャネルに対して「これらの行は同じ製品である」ことを示す共有キーです。バリアント処理に関するその他のすべての事項は、このキーが正しいことを前提としています。
仕様
| プロパティ | グーグル | Meta | TikTok |
|---|---|---|---|
| フィールド名 | アイテムグループID | アイテムグループID | アイテムグループID |
| 最大の長さ | 50文字 | 100文字 | 150文字 |
| 許可されている文字 | Unicode対応。ASCII推奨(英数字、アンダースコア、ハイフン) | String | String |
| 大文字と小文字の区別 | 大文字小文字を区別しません(ABC123 = abc123) | 大文字と小文字を区別 | 大文字と小文字を区別 |
| 必須? | 無料掲載、およびブラジル、フランス、ドイツ、日本、英国、米国でのショッピング広告(バリエーションを送信する場合)に必要です。 | バリアントのグループ化に必要 | バリアントのグループ化に必要 |
| 繰り返しフィールド | いいえ、アイテムごとに1つの値です。 | いいえ | いいえ |
Googleは値を大文字小文字を区別せずに扱いますが、MetaとTikTokは区別するため、すべての場所で小文字(または大文字)に統一してください。SWTR -001とswtr-001の両方が表示されるカタログは、Googleでは正しくグループ化されますが、Metaでは2つの製品に分割されます。
値の選択
最適なitem_group_idは、ERPまたはPIMに既に登録されている親SKUです。これは既に存在し、安定しており、一意です。
こだわり:
SWTR-MERINO-CREW
12345
parent-8891悪い点、そしてその理由:
| 値 | 問題 |
|---|---|
| メリノクルーネックセーター | スペースや大文字小文字の混在、タイトルが長い場合の制限超過、マーケティング部門が製品名を変更すると変更される |
| セーター | 独自性はない ― セーターの全ラインナップを1つのグループにまとめてしまう |
| SWTR-MERINO-CREW-NAVY-M | バリアントディメンションが含まれるため、各行に一意の値が割り当てられ、グループ化は行われません。 |
| 各エクスポートで再生成された行番号またはハッシュ | エクスポート間の変更。チャネルはグループの継続性を失い、ゼロから再学習する。 |
最後の点は特に重要です。item_group_idは長期的に安定している必要があります。チャネルはグループに対するパフォーマンス履歴を蓄積します。エクスポート時にIDが再生成されると、同期のたびに履歴がリセットされ、入札最適化をどれだけ行ってもその影響は軽減されません。
3つのルール
- グループのすべてのメンバーは、同じ item_group_id を共有します。
- すべてのメンバーは固有のIDを持っています。 フィード内のどこかに重複するIDが存在すると、後続の行は警告なしに削除されます。
- 各個体は、少なくとも1つの変異体定義属性において異なっている。 同じグループIDを持つ2つの行 (NAIST) と 同じ色とサイズのものは、バリエーションではなく、重複品です。
上記3つの条件すべてを満たす規約:
item_group_id: SWTR-MERINO-CREW
id: SWTR-MERINO-CREW-NAV-M
id: SWTR-MERINO-CREW-NAV-L
id: SWTR-MERINO-CREW-CHR-M読みやすく、デバッグしやすく、既に保有しているデータから派生する。
アイテムグループタイトル
比較的新しいGoogle属性で、オプションですがitem_group_idを送信する際には推奨されます。親製品の名前(最大150文字)が格納され、グループ内のすべてのバリエーションで同一である必要があります。
XML
<g:item_group_id>SWTR-MERINO-CREW</g:item_group_id>
<g:item_group_title>Merino Crew Neck Sweater</g:item_group_title>
<title>Merino Crew Neck Sweater — Navy, Medium</title>パターンに注意してください。titleはバリアント固有ですが、item_group_titleはそうではありません。両方に同じ文字列を送信すると、シグナルが無駄になります。
バリアントオプション
Google側の新しい機能として、チャネルに推測させるのではなく、どのプロパティがバリエーションを定義するかを構造的に宣言する方法が加わりました。これは最大30個の名前/値のペア(各サブ属性は最大250文字、合計5,000文字)を受け付けます。
XML
<g:variant_option>
<g:name>Colour</g:name>
<g:value>Navy</g:value>
</g:variant_option>
<g:variant_option>
<g:name>Size</g:name>
<g:value>M</g:value>
</g:variant_option>これは、ストレージ容量、プロセッサの種類、消費電力、座席数など、標準的なアパレル属性では対応できないバリエーション軸を持つ製品に特に役立ちます。「256GB」という値を無理やりサイズとして指定するのではなく、適切な値を指定できます。
4. 変異を定義する属性の詳細
カラー
仕様の中で最も規則に厳密に縛られる属性であり、同時に最も頻繁に却下される属性でもある。
| プロパティ | 値 |
|---|---|
| 最大文字数(Google) | 合計100文字、各色40文字ずつ |
| 最大文字数(メタ/TikTok) | 200文字 |
| 複数の色 | スラッシュで区切り、メインカラーを最初に指定 |
| 必須 | 上記諸国の衣料品について。すべての衣料品およびアクセサリーの無料掲載について |
受け入れられません:
- 番号 — カラー42、RAL 5013
- 16進数コード — #001F5B
- 一文字 — Nは海軍を表す
- 画像への参照 — 写真を参照
- 英数字または連結した単語 — Navy1、NavyBlue(Navy Blue と入力)
マーケティングにおける色の命名の扱い方。ファッションブランドは色名を「ネイビー」と名付けることはほとんどありません。「ミッドナイトレガッタ」といった名前が付けられます。販売チャネルには、消費者が検索するような色名が必要です。そして、あなたのブランドには、ページ上に独自の名前が必要です。
現実的な妥協案:
color: Navy
description: ...available in Midnight Regatta (navy)...フィード内のマーケティング名を標準名にマッピングし、ランディングページと説明文にはブランド名を表示したままにしてください。マーケティング名を色付きにして期待するのは避けてください。色付き検索クエリのマッチング精度が低下し、アパレル分野で最も購入意欲の高い検索の一つである色付き検索クエリのマッチング精度が低下します。
マルチカラー製品:
color: Navy/White/Greyプライマリーカラーが先です。Googleは最初の値をメインカラーとして認識します。
サイズ
| プロパティ | 値 |
|---|---|
| 最大文字数(Google) | 100文字 |
| 最大文字数(メタ/TikTok) | 200文字 |
| 必須 | 記載されている国々の衣料品と靴について。無料掲載についてはこちらをご覧ください。 |
| ワンサイズ商品 | ワンサイズ、OS、またはOSFA |
重要なルールは、曖昧さがないように十分に具体的で、カタログ全体で一貫性があることです。すべての製品がMサイズを使用している場合は、Mサイズで問題ありません。同じコンセプトに対してM、Medium、med、M/Lを混在させたフィードは、バリエーショングループを細分化し、サイズに基づくセグメンテーションを不可能にします。
単一の寸法では不十分な製品については、識別可能な寸法を値に含めてください。
size: 32/34 (waist/inseam)
size: 15.5/34 (neck/sleeve)
size: 9.5 Wide (shoe width)
size: 200x140cm (rugs, bedding)size_type と size_system
オプション、アパレル限定、そしてあまり利用されていない――これらの条件で検索する買い物客にとって、マッチング精度はいずれも大幅に向上する。
size_type — regular、petite、maternity、big、tall、plusの中から最大2つの値を指定できます。
size_system — US、UK、EU、DE、FR、JP、CN、IT、BR、MEX、AUのいずれか。省略した場合、チャネルは対象国のシステムを想定しますが、これは特定の高額な障害の原因となります。例えば、EUサイズ表記でドイツに商品を販売するトルコの小売業者がsize_systemを指定しない場合、サイズが誤ったスケールで解釈される可能性があります。
XML
<g:size>10</g:size>
<g:size_system>UK</g:size_system>
<g:size_type>regular</g:size_type>材料
Googleでは最大200文字までです。まず主要資料を記載し、その後、スラッシュ(/)で区切って最大2つの補助資料を記載してください。
material: Cotton
material: Leather/Suede
material: Merino Wool/Nylon/Elastane革製とキャンバス製のバッグなど、バリエーションを区別する情報として必要な場合のみ記載してください。それ以外の場合は任意ですが、記載する価値はあります。素材は一般的な検索条件です。
パターン
最大100文字。プリントやグラフィックを説明する自由記述テキスト:ストライプ、水玉模様、ペイズリー柄、花柄、ヘリンボーン柄。同じルールが適用されます。変化する要素の場合は必須です。
年齢層と性別
どちらもグループ定数です。グループ内のすべてのバリアントは同じ値を持つ必要があります。
年齢層:新生児、乳児、幼児、子供、大人 — 製品ごとに1つの値。
性別:男性、女性、ユニセックス。
衣料品が男性用と女性用で別々に販売されている場合、それらは男女混合の1つのグループではなく、 2つの別々の商品グループです。カットもサイズも異なり、消費者は選択肢ではなく、商品の中から選ぶことになります。
参照表
| 属性 | Googleの制限 | 異なる必要があります | グループ全体で一致する必要があります |
|---|---|---|---|
| アイテムグループID | 50文字 | - | ✅ |
| アイテムグループタイトル | 150文字 | - | ✅ |
| id | 50文字 | ✅(常にユニーク) | - |
| タイトル | 150文字 | おすすめ | - |
| カラー | 100文字(1色あたり40文字) | 変動軸 | - |
| サイズ | 100文字 | 変動軸 | - |
| サイズタイプ | 2年の価値 | オプション | - |
| サイズシステム | 列挙型 | - | 通常✅ |
| 材料 | 200文字 | 変動軸 | - |
| パターン | 100文字 | 変動軸 | - |
| 性別 | 列挙型 | - | ✅ |
| 年齢層 | 列挙型 | - | ✅ |
| ブランド力 | 70文字 | - | ✅ |
| google_product_category | - | - | ✅ |
| ブランド | - | 異なる場合があります | - |
| 賃貸条件の詳細・契約費用のお見積り等について | 列挙型 | 異なる場合があります | - |
5. 実際のフィード例
XML(Google RSS 2.0)
6つの変異体グループのうち、2つの変異体を示します。何が変化し、何が変化しないかに注目してください。
XML
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
<title>Example Store — Product Feed</title>
<link>https://example.com</link>
<item>
<g:id>SWTR-MERINO-CREW-NAV-M</g:id>
<g:item_group_id>SWTR-MERINO-CREW</g:item_group_id>
<g:item_group_title>Merino Crew Neck Sweater</g:item_group_title>
<title>Merino Crew Neck Sweater — Navy, Medium</title>
<description>Fine-gauge 100% merino wool crew neck. Ribbed cuffs and hem, regular fit. Machine washable on wool cycle.</description>
<link>https://example.com/merino-crew-sweater?colour=navy&size=m</link>
<g:image_link>https://cdn.example.com/swtr-merino-navy-1.jpg</g:image_link>
<g:additional_image_link>https://cdn.example.com/swtr-merino-navy-2.jpg</g:additional_image_link>
<g:availability>in_stock</g:availability>
<g:price>89.00 EUR</g:price>
<g:brand>Example</g:brand>
<g:gtin>5012345678900</g:gtin>
<g:mpn>SW-MC-NAV-M</g:mpn>
<g:condition>new</g:condition>
<g:google_product_category>1604</g:google_product_category>
<g:color>Navy</g:color>
<g:size>M</g:size>
<g:size_system>EU</g:size_system>
<g:size_type>regular</g:size_type>
<g:material>Merino Wool</g:material>
<g:gender>male</g:gender>
<g:age_group>adult</g:age_group>
<g:custom_label_0>core</g:custom_label_0>
<g:custom_label_1>full-size-run</g:custom_label_1>
</item>
<item>
<g:id>SWTR-MERINO-CREW-CHR-L</g:id>
<g:item_group_id>SWTR-MERINO-CREW</g:item_group_id>
<g:item_group_title>Merino Crew Neck Sweater</g:item_group_title>
<title>Merino Crew Neck Sweater — Charcoal, Large</title>
<description>Fine-gauge 100% merino wool crew neck. Ribbed cuffs and hem, regular fit. Machine washable on wool cycle.</description>
<link>https://example.com/merino-crew-sweater?colour=charcoal&size=l</link>
<g:image_link>https://cdn.example.com/swtr-merino-charcoal-1.jpg</g:image_link>
<g:availability>out_of_stock</g:availability>
<g:price>89.00 EUR</g:price>
<g:brand>Example</g:brand>
<g:gtin>5012345678931</g:gtin>
<g:mpn>SW-MC-CHR-L</g:mpn>
<g:condition>new</g:condition>
<g:google_product_category>1604</g:google_product_category>
<g:color>Charcoal</g:color>
<g:size>L</g:size>
<g:size_system>EU</g:size_system>
<g:size_type>regular</g:size_type>
<g:material>Merino Wool</g:material>
<g:gender>male</g:gender>
<g:age_group>adult</g:age_group>
<g:custom_label_0>core</g:custom_label_0>
<g:custom_label_1>broken-size</g:custom_label_1>
</item>
</channel>
</rss>指摘しておくべき4つの点:
- item_group_idとitem_group_titleは同じです; id と title は含まれません。
- リンクはディープリンクパラメータを伝達します そのため、広告は事前に選択された正しい州に表示されます。& は & としてエスケープされます。これは XML で必須であり、解析エラーの頻繁な原因となります。
- image_linkはバリアント固有です。 海軍の2つの行はどちらも海軍の写真を指しています。すべての色に対して1枚のヒーロー画像を送信することは、グループIDの欠落に次いで2番目に多い間違いです。
- 在庫切れの行にはタグが付いています custom_label_1 を介して、フィードから削除することなく除外したり、入札額を下げたりすることができます。
CSV / TSV
同じデータをフラット化したもの。ヘッダー行と2つのバリエーション:
csvファイル
id,item_group_id,item_group_title,title,description,link,image_link,availability,price,brand,gtin,condition,google_product_category,color,size,size_system,material,gender,age_group,custom_label_0
SWTR-MERINO-CREW-NAV-M,SWTR-MERINO-CREW,Merino Crew Neck Sweater,"Merino Crew Neck Sweater — Navy, Medium","Fine-gauge 100% merino wool crew neck.",https://example.com/merino-crew-sweater?colour=navy&size=m,https://cdn.example.com/swtr-merino-navy-1.jpg,in_stock,89.00 EUR,Example,5012345678900,new,1604,Navy,M,EU,Merino Wool,male,adult,core
SWTR-MERINO-CREW-CHR-L,SWTR-MERINO-CREW,Merino Crew Neck Sweater,"Merino Crew Neck Sweater — Charcoal, Large","Fine-gauge 100% merino wool crew neck.",https://example.com/merino-crew-sweater?colour=charcoal&size=l,https://cdn.example.com/swtr-merino-charcoal-1.jpg,out_of_stock,89.00 EUR,Example,5012345678931,new,1604,Charcoal,L,EU,Merino Wool,male,adult,coreCSV形式では、タイトルや説明文内のカンマを引用符で囲む必要があり、引用符で囲まれたフィールド内の引用符をエスケープする必要があるため、実際のデータ処理で多くの問題が発生します。タイトルにカンマが含まれている場合(色やサイズを含む商品タイトルにはほぼ必ずカンマが含まれています) 、代わりにTSV形式を使用してください。商品データにタブが含まれることはほとんどなく、多くの解析エラーが解消されます。
JSONの
APIベースのデータ取り込みの場合:
JSON
{
"products": [
{
"id": "SWTR-MERINO-CREW-NAV-M",
"item_group_id": "SWTR-MERINO-CREW",
"item_group_title": "Merino Crew Neck Sweater",
"title": "Merino Crew Neck Sweater — Navy, Medium",
"link": "https://example.com/merino-crew-sweater?colour=navy&size=m",
"image_link": "https://cdn.example.com/swtr-merino-navy-1.jpg",
"availability": "in_stock",
"price": { "value": "89.00", "currency": "EUR" },
"brand": "Example",
"gtin": "5012345678900",
"condition": "new",
"google_product_category": "1604",
"variant_attributes": {
"color": "Navy",
"size": "M",
"size_system": "EU",
"material": "Merino Wool"
},
"gender": "male",
"age_group": "adult"
}
]
}全サイズ展開
IDパターンが見える6種類のバリエーション(2色×3サイズ):
| id | アイテムグループID | カラー | サイズ | 賃貸条件の詳細・契約費用のお見積り等について |
|---|---|---|---|---|
| SWTR-MC-NAV-S | SWTR-メリノ-クルー | ネイビー | S | 在庫あり |
| SWTR-MC-NAV-M | SWTR-メリノ-クルー | ネイビー | M | 在庫あり |
| SWTR-MC-NAV-L | SWTR-メリノ-クルー | ネイビー | L | 在庫あり |
| SWTR-MC-CHR-S | SWTR-メリノ-クルー | チャコール | S | 在庫切れ |
| SWTR-MC-CHR-M | SWTR-メリノ-クルー | チャコール | M | 在庫あり |
| SWTR-MC-CHR-L | SWTR-メリノ-クルー | チャコール | L | 在庫切れ |
チャコールは3サイズ中1サイズのみ在庫が残っています。その対処法については第9項で説明します。
6. チャンネルごと
コンセプトは普遍的ですが、実装方法は異なります。ここでは、主要な目的地ごとにどのようなバリエーションが想定されているか、そしてそれぞれの違いについて説明します。
Google ショッピング / マーチャント センター
最も規範的で、他のほとんどのチャネルが参考にしているリファレンス実装。
- item_group_id は 無料掲載、およびブラジル、フランス、ドイツ、日本、イギリス、アメリカのショッピング広告については、バリエーションが提出された場合に限ります。
- バリエーションを定義する属性を入力する必要があります。これらの市場向けのアパレル製品には、色とサイズが必須です。
- 性別と年齢層はアパレル商品に必須であり、グループ全体で一貫している必要があります。
- ランディングページは、送信されたバリアント値と視覚的に一致している必要があります。そうでない場合、 値の不一致(ページクロール) 不承認。
- 各バリアントはオークションで独立して競合します。Googleは、特定のクエリに対してグループ内のどのメンバーを表示するかを選択するため、グループが不完全な場合は、候補プールが弱くなります。
- アパレルの場合、image_link は少なくとも 500×500 ピクセルである必要があります。これは、 31 年 1 月 2027 日急いで監査するよりも、今すぐ監査する価値がある。
実務上の注意: Merchant Centerは、グループレベルではなく、バリアント(ID)レベルでレポートを作成します。商品を適切に評価するには、item_group_idごとに集計する必要があります。グループIDが明確で安定している場合は、集計がはるかに簡単になります。
メタ(FacebookとInstagram)
Metaでは、同じフィールド名を使用しながらも、制約条件が異なり、表示モデルも大きく異なります。
- item_group_id は最大で 100文字 とです。 大文字と小文字を区別.
- 色とサイズにより最大 200文字.
- 可用性値は、 スペース、アンダースコアは使用しないでください: in stock ではなく in_stock です。このたった一つの違いが、他のどの違いよりも多くのメタフィードを壊してしまいます。特に、Googleフィードを直接再利用する場合に顕著です。
- ショップや商品詳細画面では、正しくグループ化されたセットは次のように表示されます。 バリエーションセレクターを備えた製品が1つ複数のほぼ同じリストではなく。
- Advantage+のカタログ広告は、グループ化機能を利用することで、同じセーターの6つのバージョンが1つのカルーセルに表示されることを回避します。グループ化されていないカタログでは、広告が重複して表示され、インプレッションが無駄になります。
- Commerce Managerにおけるバリアントレベルのレポート機能は、正しいグループ化に依存します。
実用的な注意点: MetaにGoogleフィードをそのまま指定しないでください。少なくとも、データの利用可能性を変換し、文字数制限を確認してください。Feedanceを含むほとんどのフィードプラットフォームは、これをチャネルレベルの変換として処理するため、ソースデータは変更されません。
TikTok
- item_group_id は最大で 150文字.
- sku_idはバリアントごとの一意の識別子です。各バリアント行には固有の値が必要です。
- 色とサイズは最大200文字まで対応しています。
- タイトルは最大255文字、説明文は最大10,000文字まで入力可能です。google_product_categoryは必須です。
- TikTokは最も厳格なチャンネルです 変異型特異的な画像商品カードにはバリエーションセレクターが表示されますが、単一の汎用画像を共有するバリエーションは、明らかにパフォーマンスが低下します。画像生成パイプラインでコストを削減するのであれば、この部分だけは絶対に削減しないでください。
- Googleのモデルに非常に近いもので、item_group_idはバリエーションをグループ化します。
- Pinterestは、単一の商品ピンの中に、選択可能なオプションを備えたバリエーションを表示します。
- 画像品質と縦横比は特に重要だ。Pinterestは視覚的な発見の場であり、違いのない画像は保存されないからだ。
Amazon
Amazonはitem_group_idを使用していないため、そうであると仮定すると、多くの無駄な作業が発生します。
Amazonは明確な親子関係モデルを採用しています。
- A 親ASIN 購入不可の出品として作成されます。
- 各 子ASIN parent_sku / parent_child フィールドを通じて親を参照します。
- A バリエーションテーマ カテゴリによって異なるものの、SizeColor、Size、Color、SizeName-ColorNameなど、宣言する必要があるもの。
- テーマはその特定のカテゴリに有効なものでなければなりません。同じテーマ名はすべてのカテゴリで使用できるわけではありません。
1つのソースからGoogleとAmazonの両方にエクスポートする場合は、フィールド名の変更ではなく、本格的なデータ変換として扱ってください。フィードレイヤーは、親リストを作成し、テーマを割り当て、子リストを親リストにマッピングする必要があります。
地域別マーケットプレイスと比較エンジン
トルコおよび中東・北アフリカ地域全体のチャンネルにはそれぞれ独自の慣習があり、これらの市場においては、それがカタログが正常に機能するか、機能しないかの分かれ目となることが多い。
- トレンディオール 独自の親子モデルを使用し、カテゴリ固有の必須属性セットを備えています。色とサイズは別々の構造化フィールドであり、必須属性リストはカテゴリごとに異なります。
- アカクチェ (NAIST) と 守銭奴 これらは価格比較エンジンです。通常、購入可能なSKUごとに1行のデータが必要で、ほぼ同じ内容の重複した行はフィルタリングされる傾向があります。そのため、差別化されたデータなしでフルサイズのデータを送信すると、可視性が向上するどころか低下する可能性があります。
- Hepsiburada (NAIST) と N11 それぞれが独自のバリアントグループ化キーと必須属性を定義します。
これは、汎用的なグローバルフィードツールが最も不十分な領域であり、属性のマッピングミスによってマーケットプレイスからカテゴリ全体がひっそりと削除されてしまうケースです。
比較
| グーグル | Meta | TikTok | Amazon | ||
|---|---|---|---|---|---|
| グループ化キー | アイテムグループID | アイテムグループID | アイテムグループID | アイテムグループID | 親ASIN |
| 最大の長さ | 50 | 100 | 150 | 50 | N / A |
| 大文字と小文字を区別 | いいえ | はい | はい | いいえ | N / A |
| 可用性構文 | 在庫あり | 在庫の | 在庫あり | 在庫の | 数量 |
| バリエーション画像 | おすすめ | おすすめ | クリティカル | クリティカル | 必須 |
| 明確なテーマが必要 | いいえ | いいえ | いいえ | いいえ | はい |
| 変異レベルの報告 | はい | はい | はい | 限定的 | はい |
7.分裂か崩壊か?
すべてのバリエーションを送信するのがデフォルトの推奨事項ですが、必ずしも正しいとは限りません。本当に重要なのは、バリエーションによって顧客のニーズが変わるかどうかです。
すべてのバリエーションを送信する場合…
- その違いは、購入決定にある。 衣料品、靴など、サイズ違いがセールにならないものすべて。
- 品種によって在庫状況は大きく異なります。 唯一残されたサイズが3XLしかない商品を宣伝するのは、無駄な出費だ。
- 価格はバリエーションによって異なります。 選択したオプションの価格が119ユーロなのに、89ユーロと表示されると、価格の不一致が生じ、顧客を怒らせることになる。
- 検索需要はバリアントによって修飾されます。 人々は「ネイビーのメリノウールセーター、Mサイズ」と検索します。登録しなければ、その検索で上位表示されることはありません。
1つの代表的なバリアントに集約する場合…
- カタログは非常に大規模で、ほとんどが均質である。 200,000万ものSKUを取り扱うハードウェア小売業者で、そのうち60%がわずかな長さの違いしかない場合、全面的な拡張によるメリットはほとんどなく、フィード処理やキャンペーンの複雑さといったコストがかかる。
- このチャンネルは、ほぼ重複したコンテンツにペナルティを課します。 いくつかの比較エンジンは重複する行をフィルタリングしますが、フルサイズで実行すると視認性が低下する可能性があります。
- バリエーションによって価格、画像、在庫状況は変わりません。 12種類のバリエーションすべてが商業的に重要なあらゆる点で同一である場合、12行はシグナルではなくノイズを生み出すことになる。
商品を折りたたむ際は、代表商品を意図的に選択してください。アルファベット順の最初の行ではなく、在庫のある商品の中で最も売れている商品を選びましょう。まさにここで、パフォーマンスデータがフィードの中でその真価を発揮します。GA4やプラットフォームデータを使えば、並べ替え順序に任せるのではなく、代表商品を自動的に選択できるのです。
中庸の道
意思決定の原動力となる軸で分割し、そうでない軸で統合する。
靴の場合、通常は色ごとに1行ずつ表示し、サイズは折りたたむ形になります。色は商品発見の軸であり、サイズはページ上でフィット感を確認するためのものです。容量が価格を左右する商品の場合、容量で分割し、色で折りたたむようにします。
8. 最も一般的な12の変異エラー
| # | 症状 | 原因となる | 修正する |
|---|---|---|---|
| 1 | バリエーションは、それぞれ独立した製品として表示されます。 | item_group_id が欠落しているか、行ごとに一意です | 親SKUを入力し、グループ全体で繰り返されていることを確認します。 |
| 2 | チャンネルに全く存在しないバリアントもある | 重複するID値 - 後続の行は自動的に削除されます | エクスポート時に一意性を強制し、重複チェックを追加する |
| 3 | 「値の不一致(ページクロール)」不承認 | ランディングページには、送信した色/サイズ/価格と異なる色/サイズ/価格が表示されます。 | ディープリンクパラメータを追加し、選択された状態がサーバー側でページに表示されるようにします。 |
| 4 | すべてのバリエーションで同じ写真が表示されます | 単一のヒーロー画像リンクが再利用されています | バリアント固有の画像をマッピングし、バリアント画像が存在しない場合にのみヒーロー画像にフォールバックする。 |
| 5 | 広告クリックは在庫切れの商品ページに誘導される | バリアントごとに在庫状況が同期されていません | 更新頻度を上げる。在庫切れの商品をアクティブなキャンペーンから除外する。 |
| 6 | 色不良 | 16進数コード、数字、1文字、または連結された単語 | 単色名にマッピングします。複数指定する場合はスラッシュで区切ります。 |
| 7 | サイズフィルターが機能しません。サイズクエリが一致しません。 | カタログ全体でサイズ表記が統一されていない(M / Medium / med) | フィードレベルでマッピングテーブルを適用して正規化する |
| 8 | Metaではグループが分裂したが、Googleでは分裂しなかった | item_group_id の大文字小文字の不一致 | 分野全体に単一のケースを強制する |
| 9 | Metaはフィード全体を拒否します | Metaが在庫ありを期待する場面でin_stockが使用されます。 | チャネルごとの変換可用性 |
| 10 | 属性の不一致のため、グループは却下されました | 性別または年齢層がグループ内で異なる | これらはグループごとに一定です。男性用と女性用のカットを別々のグループに分けてください。 |
| 11 | パフォーマンス履歴は同期ごとにリセットされます | item_group_id はエクスポートごとに再生成されます | 安定したソースフィールドから導出する。行順序やハッシュからは決して導出しない。 |
| 12 | XMLフィードの解析に失敗しました | エスケープされていない、およびディープリンクURL内 | エスケープ文字は&です。公開前にXMLを検証してください。 |
エラー1、2、4、11は、実際の監査で見られる問題の大部分を占めています。どれも難しいものではなく、誰かが注意深く調べない限り、すべて見過ごされてしまうものです。
9. サイズ不良と在庫状況
サイズ展開が不完全な商品とは、技術的には販売可能だが、実際には販売できない商品のことである。例えば、XSと3XLしか在庫がないセーターや、9サイズ展開のうち2サイズしか残っていない靴などが挙げられる。
これは見た目以上に重要な問題です。買い物客が商品の広告をクリックしたものの、自分のサイズが在庫切れだった場合、コンバージョンにつながらなかったクリックに費用を支払ったことになり、ブランドイメージも損なわれてしまいます。規模が大きくなると、サイズが合わない商品は予算のかなりの部分を占める一方で、収益にはほとんど貢献しない可能性があります。
それを検出する
item_group_id ごとに計算します。
size_availability_ratio = in_stock_variants / total_variants次に、閾値に基づいて行動する。実行可能な出発点は以下のとおりである。
| 比 | 解釈 | 行動 |
|---|---|---|
| > 0.7 | 体にいいものを | 通常通り広告を掲載する |
| 0.4 – 0.7 | 間伐 | 入札額を減らす。 |
| 0.2 – 0.4 | 壊れた | 見込み客の発掘対象から除外。リターゲティングのみ。 |
| <0.2 | 事実上完売 | 完全に除外する |
数量だけでなく、需要に基づいて重み付けをしてください。XXSとXXLの減少は、通常ボリュームの大半を占めるMとLの減少に比べればはるかに影響が少ないです。すべてのサイズを均等に扱う比率では、コアサイズの減少に対する反応が過小評価されてしまいます。
それに基づいて行動する
最もクリーンな実装方法は、商品を削除するのではなく、フィード内の条件にタグを付けることです。
XML
<g:custom_label_1>broken-size</g:custom_label_1>削除するのではなくタグ付けすることで、チャネル内での商品の履歴が保持され、在庫が戻った際にすぐに再有効化できます。削除して再度追加すると、学習データがリセットされます。
さらに、以下の2つの改良点を盛り込む価値がある。
- 商品企画にフィードバックする。 繰り返し表示されるリストのサイズ不足は、単なる広告上の問題ではなく、購入意欲の兆候である。
- 同期のたびに再確認してください。 在庫状況は変動するため、値札もそれに合わせて変更する必要があります。固定されたサイズ別商品リストは、リストがないよりも悪いと言えます。なぜなら、補充された商品が表示されなくなるからです。
10. キャンペーンセグメンテーションにバリアントを使用する
バリアントが正しく構造化されると、データはセグメンテーションレイヤーとなり、クリーンなバリアントフィードの最も効果的な活用方法と言えるでしょう。
Googleは、custom_labelフィールドを5つ(0~4)提供しています。これらのフィールドは任意の値を受け付け、キャンペーンロジックのためだけに存在します。バリアントデータは理想的な入力例です。
実行可能な計画
| ラベル | 次元 | 値の例 |
|---|---|---|
| カスタムラベル0 | マージン階層 | 高利益率、標準、クリアランス |
| カスタムラベル1 | 株式健全性 | フルサイズ、薄め、サイズ違い |
| カスタムラベル2 | パフォーマンス層 | ベストセラー、安定、ロングテール |
| カスタムラベル3 | 季節性 | ss26、aw25、コア、キャリーオーバー |
| カスタムラベル4 | 価格帯 | 50歳未満、50~100歳、100~200歳、200歳以上 |
これらが整えば、キャンペーンのロジックは単純明快になる。
- ベストセラー商品+フルサイズ展開+高利益率商品に入札
- 見込み客から破損サイズを除外する
- 積極的なtROASでクリアランス独自のキャンペーンを実施
- シーズン開始時にss26を隔離する
パフォーマンスマックスとアドバンテージ+
どちらも大部分が自動化されているため、フィードレベルでのセグメンテーションの重要性は以前よりも高まります。キーワードレベルの入札は制御できなくなるため、フィードが支出をコントロールする主要な手段となります。
Performance Maxでは、カスタムラベルによって資産グループと上場グループの構造が決まります。包括的な単一の資産グループを、マージンベースまたは株価健全性ベースのグループに分割することは、残された数少ない構造的な操作手段の1つであり、ラベルが実際のデータに基づいて作成されることが前提となります。
Advantage+のカタログ広告では、適切なグループ化により、カルーセルに同じセーターの6色が表示されるのを防ぎます。また、バリエーション属性に基づいて構築された商品セット定義により、見込み客の獲得とリターゲティングのための在庫を分離できます。
パフォーマンスデータでラベルを充実させる
静的なラベルは劣化する。昨シーズンにベストセラーとされたラベルは、今シーズンは誤った情報である。
より高度な実装では、フィード同期のたびに、ライブパフォーマンスデータ(GA4の収益、コンバージョン率、閲覧数など)に基づいてラベルを再計算します。売れなくなった商品は自動的にベストセラーリストから外れ、売れ始めた商品はリストに追加されます。これは、フィードエンリッチメントの実践における中核的な要素であり、予算配分を左右するラベルと、単に前四半期の状況を説明するだけのラベルとの違いを生み出します。
11. バリアントのパフォーマンス測定
変異体レベルのデータこそ、ほとんどの報告がひっそりと破綻する部分である。
集計の問題。マーチャントセンターと広告はIDレベルでレポートを作成します。20種類のバリエーションがあるセーターは20行として表示され、それぞれの行には全体のボリュームの一部しか含まれておらず、個別に重要なデータはありません。単一のバリエーション行から導き出される結論は、おそらくノイズです。
常に2つのレベルで分析する:
- グループレベル (item_group_id) — これを実行する BOX 成果は?全メンバーの支出、コンバージョン、収益の合計です。
- バリアントレベル (id)—どれ オプション 売れる商品とは?どの色が売れるのか、どのサイズが最初に売り切れるのか、どの組み合わせが売れないのか。
2つ目のポイントには、興味深い発見が詰まっています。マーチャンダイジング担当者が関心を持つ疑問に答えてくれます。例えば、ネイビーはチャコールグレーの3倍売れているのか?Lサイズは常に在庫があるため、コンバージョン率が高いのか?特定の色がグループ全体の平均売上を押し下げているのか?といった疑問です。
グループごとに追跡すべき指標:
| メトリック | Why |
|---|---|
| サイズ利用可能比率 | 無駄遣いの先行指標 |
| チャネルにおけるバリアントカバレッジ | 提出済みと実際に承認済み――そのギャップに問題が潜んでいる |
| バリアント別のインプレッションシェア | チャンネルが実際にどのオプションを優先しているかを明らかにする |
| 色別の変換率 | 商品化と購買シグナル |
| グループ別の不承認率 | システム属性エラーを早期に検出します |
アトリビューションに関する注意点。買い物客は、あるバリエーションの広告を見て、別のバリエーションを購入することがよくあります。例えば、ネイビーをクリックして、チャコールを購入するといった具合です。そのため、バリエーションレベルのROASを文字通りに解釈すると、アトリビューションが誤ってしまう可能性があります。製品はグループレベルで評価し、バリエーションデータは行動を理解するために使用し、サンプル数の少ないデータに基づいて入札決定を行うために使用しないでください。
12. 発売前チェックリスト
バリアントフィードを公開する前、および構造変更を行った後に、これを実行してください。
Structure
- 各バリアントには固有のIDがあります
- グループのすべてのメンバーは、同一の item_group_id を共有します。
- item_group_idは安定したソースフィールドから派生しており、エクスポート間で変更されません。
- item_group_id はフィード全体で一貫した大文字小文字を使用しています
- 各メンバーは、少なくとも1つの変異を定義する属性において異なっている。
- item_group_title はグループ全体で存在し、同一です。
Attributes
- 色は、単純な色名を使用します。16進数、数字、または1文字のアルファベットは使用しません。
- 複数の色はスラッシュ(/)で区切られ、プライマリーカラーが最初に表示されます。
- サイズ値はカタログ全体で正規化されています
- size_systemは、サイズ展開地域をまたいで販売する場合に宣言されます。
- 各グループ内では性別と年齢層は同一である。
- 素材とパターンは、バリエーションを定義する場所に配置されます。
リンクと画像
- 各バリアントのリンクは、事前に選択された正しい状態に解決されます。
- XMLでは&は&としてエスケープされます
- image_linkはバリアント固有のものであり、共有されるヒーロー画像ではありません。
- 画像は各チャンネルの最小寸法を満たしています
チャネル変換
- 在庫状況の表記はチャネルごとに調整されています(in_stock と in stock など)。
- チャンネルごとに文字数制限が適用されます
- Amazonは親リストを作成し、有効なバリエーションテーマを宣言します。
- 地域別マーケットプレイスの属性セットをカテゴリ別にマッピング
業務執行統括
- 更新頻度は、実際の株価変動の速度に合わせる
- サイズ破損の検出は、同期のたびに実行されます。
- 重複IDチェックはエクスポート前に実行されます
- フィードは公開前に、整形式のXML/CSVとして検証されます。
- アラートは、製品数の急激な減少に対応するように設定されています。
13。 よくある質問
すべてのバリエーションを提出する必要がありますか?必ずしもそうではありませんが、サイズと色が購入の決め手となるアパレルやフットウェアの場合は、通常は提出が必要です。非常に大規模で均質なカタログ、または類似商品をフィルタリングするチャネルの場合は、グループごとに厳選した代表的なバリエーションを1つ提出する方が効果的です。代表商品は、アルファベット順ではなく、販売実績と在庫状況に基づいて選択してください。
item_group_id を省略するとどうなりますか?各バリエーションは、関連性のない商品として扱われます。結果として、掲載先の画面でバリエーションセレクターが機能しなくなり、広告が重複表示され、バリエーションレベルのレポート機能が動作しなくなります。また、Google では、バリエーションを送信する場合、無料掲載や主要市場のショッピング広告に item_group_id が必須となるため、要件を満たせない可能性があります。
バリエーションごとに価格を異ならせることは可能ですか?はい。価格はバリエーションを定義する属性ではありませんが、バリエーションごとに価格が異なることは正当です。通常、サイズが大きいほど価格が高くなります。提出する価格は、ランディングページに表示されている該当バリエーションの価格と一致している必要があります。
在庫切れのバリエーションはフィードに残しておくべきでしょうか?一般的には残しておくべきです。削除するのではなく、在庫状況を示す「在庫切れ」タグを付けて残しておきましょう。削除して再度追加すると、チャネル内のアイテム履歴がリセットされてしまいます。代わりに、ルールまたはカスタムラベルを使用して、アクティブなキャンペーンから除外してください。
1つの製品が2つのグループに属することは可能ですか?いいえ。item_group_idは、アイテムごとに1つの値のみを受け入れます。製品が実際に2つの概念グループに属する場合は、上流で解決すべきマーチャンダイジング分類上の問題があります。
チャネルごとに個別の item_group_id 値が必要ですか?いいえ、必要ありません。どこでも同じ論理的なグループ化を使用してください。チャネルごとに異なるのは、文字数制限、大文字小文字の区別、構文など、適用される変換です。信頼できる唯一の情報源を維持し、エクスポート時に調整してください。
ワンサイズのみの商品はどのように扱えばよいですか?サイズはone_size、OS、またはOSFAとして入力してください。サイズ指定が必須の市場向けアパレル商品の場合、サイズ欄を空欄にしないでください。
同じデザインのメンズ版とレディース版は、1つのグループにまとめるべきか、それとも2つのグループに分けるべきか?答えは2つ。グループ内では性別は同一でなければならない。カットやサイズが異なると、消費者の視点からは別の商品とみなされる。
実際に最も頻繁に問題が発生するのは何か?当社の監査では、カラーバリエーション間で共有されるヒーロー画像、エクスポートごとに再生成されるitem_group_id値、そしてGoogleフィードからMetaにそのまま引き継がれる可用性構文が挙げられます。これら3つはインターフェース上では見えず、原因不明のパフォーマンス低下として初めて顕在化します。
そうなるとあなたはどうなるか
バリアントは、ほとんどのデジタルマーケティングとは異なり、報酬の精度を高めます。item_group_idにはクリエイティブな判断の余地はなく、安定して共有されるか、そうでないかのどちらかです。色の値は仕様に準拠するか、拒否されます。画像はバリアントに一致するか、クリックが無駄になるかのどちらかです。
朗報は、これは解決可能な問題であり、明確な答えがあるということです。問題は、それを維持管理することです。なぜなら、カタログは毎日変わり、在庫は毎時間変動し、各販売チャネルは独自のスケジュールで仕様を調整するからです。
この点を正しく理解している企業は、バリアントフィードを単なるファイルではなく、インフラストラクチャとして扱います。安定したソースデータからグループIDを生成し、ソースで属性を一度正規化し、エクスポート時にチャネルごとに変換を行い、同期のたびに在庫状況を再計算し、予期せぬ変動があった場合にはアラートを発します。
Feedanceはまさにそのようなレイヤーのために構築されています。ソースで属性を正規化するフィードルール、同期ごとに再計算される破損サイズ検出、パフォーマンスラベルを最新の状態に保つためのGA4エンリッチメント、そしてソースデータに手を加えることなく200以上の宛先それぞれに適切な変換を適用するチャネルエクスポートなどが含まれます。
変更を加える前に、自社のバリアント構造がどのような状態にあるかを把握したい場合は、弊社の無料フィード監査ツールをご利用ください。このツールは、既存のフィードの完全性、データ品質、技術的な健全性(バリアントのグループ化を含む)を無料で評価します。