商品フィードの必須列欠落と列ずれの解説
投入前CSV・TSVファイルで生じる構造エラーの原因と検査基準の技術解説
発生する事象 / Detected Symptoms
Google Merchant Center向けの商品データソースを手動または外部ツールから作成して登録する際、ヘッダー行やデータ行の構造の不整合により処理エラーが報告される事例があります。主な事象としては、必須と定義されているヘッダー列そのものの欠落、選択必須となるヘッダー群の不在、ヘッダーは存在するもののデータ行で必須値が空になっている状態、ヘッダーの列数とデータ行の列数が合致しない列ずれ、行末尾に余分な空列が付加されている状態、ヘッダー名の大文字小文字や前後空白による表記ゆれ、同一ヘッダー名の重複登録などが挙げられます。
原因と発生要因 / Root Causes
これらの事象が生じる主な要因の一つは、商品データ管理の実務において表計算ソフトやECカートのCSVエクスポート機能を経由する点にあります。一般的な表計算ソフトでカンマ区切り(CSV)ファイルを編集・保存すると、引用符の扱いや改行、カンマを含むテキストフィールドの解釈差によって、意図しない列のずれや行の分割が発生することがあります。
Google公式の技術仕様ドキュメントにおいても、カンマは属性内の予約文字として扱われるためCSV形式は推奨されず、区切り文字としてタブを用いたTSV形式の利用が案内されています。しかし、日本語圏のカートシステムや業務フローでは依然としてCSV形式によるデータ編集が広く行われており、この形式差と編集手順のずれが投入前の不整合を生む構造的背景となっています。
確認すべき項目と実装済み検査仕様 / Verification Checklist & Implemented Rules
Merchant Feed Doctorでは、以下の8つの実装済み仕様ルールに基づき、ブラウザ内ローカル処理で決定的な構文検査を実施します。
- MISSING_REQUIRED_HEADER: 必須ヘッダー(id, link, price, availability, image_link)が存在するか検査します。
- MISSING_REQUIRED_HEADER_GROUP: 相互補完関係にある必須グループ(titleまたはstructured_title、descriptionまたはstructured_description)のいずれかが存在するか検査します。
- EMPTY_REQUIRED_VALUE: 必須ヘッダーに対応する各行のデータセルに空値がないかを検査します。
- EMPTY_REQUIRED_VALUE_GROUP: 必須グループ列において有効なデータ値が存在するかを検査します。
- COLUMN_COUNT_MISMATCH: ヘッダー行の項目数とデータ行のセル数が正確に一致しているか(列ずれの有無)を検査します。
- TRAILING_EMPTY_COLUMNS: 行末尾に連続する不要な空セルが付加されていないかを検査し、安全な正規化の判定を行います。
- HEADER_CANONICAL_FORM: ヘッダー名の前後空白や表記の正規形との差分を検査します。
- DUPLICATE_HEADER: 同一名称のヘッダー列が2回以上出現していないかを検査します。
公式一次仕様リンク / Official Google Documentation
データ仕様およびファイル作成の一次仕様については、以下のGoogle公式ヘルプドキュメントをご確認ください。