在庫ビュー

概要

アクション センターの在庫ビューアを使用すると、スポット(POI)のローカル在庫の取り込み状況、場所の一致ステータス、配信資格を確認できます。

このビューアには、個々の取り込みとは無関係の問題が表示されます。ステートフルな問題は、発生する可能性のある障害モード(ポリシー、警告、エラーなど)を組み込んだ、各サービス提供者のアクティブなサービス提供ステータスを表します。

このツールを使用すると、次のことができます。

  • 取り込まれたすべてのサービス提供者とそのライブ配信状態を検索して検査します。
  • データ検証エラーとコンテンツ ポリシー違反を診断する。
  • ポリシー違反に対する再審査請求を送信して追跡する。
  • サービス提供者の一致診断を検査し、手動一致の提案を送信します。
  • 最新のフィード取り込みの未加工の JSON ペイロードを確認します。

インベントリ テーブルの列

リスト表示には、ポイント オブ インタレスト(POI)フィードからアップロードされたすべてのサービス提供者が、エンティティ別に階層的に表示されます。ローカル POI ID、一致ステータス、統合、サーフェスでフィルタできます。

サマリー テーブルの列 説明
ローカル POI ID フィード(poi_id)で指定されたローカル宿泊施設の一意の識別子。
ローカル POI 名 フィードから抽出されたローカル プロパティのローカライズされた名前。
一致ステータス POI が Google マップのリスティングと一致しているかどうかを示します。
• はい(緑色のバッジ): Google マップの場所と正常に一致しています。
• いいえ(赤色のバッジ): 一致していません。確認または一致の提案が必要です。
インテグレーション これは、ローカル アグリゲータ ユニットの統合です。
Surface ターゲットのサービング サーフェス(例: 検索)。
配信ステータス リアルタイムの配信資格の状態:
• 有効(緑色のインジケーター): 資格があり、Google サーフェスでアクティブに配信可能です。
• 無効(赤色のインジケーター): 検証エラー、ポリシー違反、またはステータスの不一致により、配信がブロックされています。
エラー 重大度が「エラー」のアクティブな問題の数。プロパティにエラーが存在する場合、そのプロパティはどのサーフェスにも表示されません。
警告 重大度が「警告」のアクティブな問題の数。警告が表示されているプロパティは、引き続き配信可能です。
試合情報 [一致を編集] ボタンが含まれています。このボタンをクリックすると、インタラクティブな一致修正パネルが開きます。

スポットの詳細ビュー

リスト表示で POI ID をクリックすると、エンティティ専用の詳細ページに移動します。

詳細ビューは、次の 4 つの展開可能なセクションで構成されています。

1. 基本情報

エンティティのメタデータの概要をまとめます。

  • POI 名: data[].name.localizations から解析された施設の名前。
  • POI ID: パートナー エンティティの一意の識別子(poi_id)。
  • データソース: このエンティティが取り込まれたフィードの正確なファイル名。

2. 検索結果の配信状況

統合とターゲット サーフェスごとに配信資格を分類します。

  • 統合とサーフェス: 業種とターゲット サーフェス(例: Search の Local Aggregator Unit)。
  • 配信ステータス: 現在の Enabled または Disabled のステータス。
  • 問題: アクティブなすべてのエラーまたは警告の問題バッジ(Unmatched entity、Policy Violation など)が表示されます。問題バッジをクリックすると、[Issue Details Panel] が開きます。
  • 再審査請求: オーバーライドまたは再審査請求の状態(Under review、Approved、Rejected)が表示されます。

3. 一致する情報

場所の一致に関する診断情報を表示します。

  • 一致入力: フィードから解析された、フォーマット済みの住所(street_address、locality、region、postal_code、country)。
  • マッチタイプ: 一致解決メカニズム(例: Location)。
  • 一致の名前空間: 一致の変更が適用される業種(Local Aggregator Unit など)。
  • 一致ステータス: Yes(緑)または No(赤)。
  • 一致出力: 解決された Google マップの場所の名前、住所、場所 ID。
  • 一致を編集: 一致の提案ダイアログを開くボタン。

4. 未加工の JSON

行番号と構文ハイライト表示を備えたインタラクティブなコードビューアを提供し、解析された JSON ペイロード(item_proto)全体を表示して、スキーマの迅速なデバッグと検証を可能にします。ここに表示されるデータ値には、POI フィードから受信した値が反映されます。

問題とトリアージのワークフロー

問題のフラグが付けられたエンティティは、無効(ERROR のフラグが付けられた場合)またはデグレード(WARNING のフラグが付けられた場合)になります。警告のあるエンティティの問題は再審査請求できません。警告は、根本的な問題を修正することで解決できます。

問題の種類: 再審査請求可能と再審査請求不可

  1. 再審査請求できない問題(技術、データ品質、警告の検証):
    • スキーマエラー、必須フィールドの欠落、無効な座標、壊れた URL、重複する ID、またはブロックされないコンテンツの警告(デフォルト以外のロケールのビジネス名、説明、表示住所、施設カテゴリのロケールなど)が原因です。
    • 解決策: パートナーは、ソースフィードの基盤となるデータを修正し、更新されたフィード ファイルをアップロードする必要があります。
  2. 再審査請求可能な問題(コンテンツのブロックとポリシー違反):
    • 必須のプロパティ テキストまたは画像アセットが、ERROR の重大度で自動コンテンツ安全性フィルタに失敗した場合にトリガーされます。
    • 解決策: コンテンツがプラットフォーム ポリシーに準拠している場合、パートナーはアクション センターで問題の横にある [再審査請求] ボタンをクリックして再審査請求を送信できます。パートナーは理由と正当性を提供する必要があります。Google の再審査請求チームがリクエストを審査し、承認または拒否します。審査結果は、ツールとメールでお知らせします。

ローカル アグリゲータ ユニットの問題カタログ

次の表に、ローカル アグリゲータ ユニットの統合に関する検証エラーとポリシーの問題コードの一覧を示します。

問題の説明 重大度 問題コード 影響を受けるフィールド / 引数 再審査請求は可能か 対応 / 関連ポリシー
POI ID がない ERROR MISSING_REQUIRED_FIELD poi_id × 一意の poi_id を指定します。POI フィードの仕様をご覧ください。
「name」フィールドのデフォルトの言語 / 地域がありません ERROR MISSING_REQUIRED_FIELD name.default_locale いいえ デフォルトの言語 / 地域に有効な BCP 47 言語コードを指定してください。多言語サポートをご覧ください。
「name」フィールドのデフォルトのローカライズが見つかりません ERROR MISSING_REQUIRED_FIELD name.localizations いいえ 宣言された default_locale 言語に一致する POI のローカライズされた名前の値を指定します。
「description」フィールドのデフォルトの言語 / 地域がありません ERROR MISSING_REQUIRED_FIELD description.default_locale いいえ 宿泊施設の詳細に有効な BCP 47 デフォルト言語 / 地域を指定してください。
「description」フィールドのデフォルトのローカライズが見つかりません ERROR MISSING_REQUIRED_FIELD description.localizations いいえ 宣言された default_locale 言語に一致する説明テキストを指定してください。
「display_address」フィールドのデフォルトの言語 / 地域がありません ERROR MISSING_REQUIRED_FIELD display_address.default_locale いいえ 表示住所に有効な BCP 47 デフォルト言語 / 地域を指定してください。
「display_address」フィールドのデフォルトのローカライズが見つかりません ERROR MISSING_REQUIRED_FIELD display_address.localizations いいえ 宣言された default_locale 言語に一致する、書式設定された住所テキストを指定します。
画像数の上限を超過 警告 EXCEEDED_MAX_COUNT images いいえ 画像エントリは、1 つの POI につき最大 5 枚に制限してください。超過した画像はドロップされます。
緯度座標が無効です ERROR INVALID_LATLNG location.latitude いいえ -90.0~+90.0 の有効な緯度を入力してください。地理座標の定義をご覧ください。
経度座標が無効です ERROR INVALID_LATLNG location.longitude いいえ -180.0~+180.0 の有効な経度を入力してください。地理座標の定義をご覧ください。
緯度座標がありません ERROR MISSING_REQUIRED_FIELD location.latitude いいえ 緯度の値を指定して、座標ペアを完成させてください。地理座標の定義をご覧ください。
経度座標がありません ERROR MISSING_REQUIRED_FIELD location.longitude いいえ 経度の値を指定して、座標ペアを完成させてください。地理座標の定義をご覧ください。
住所がない、または構造化されていない ERROR MISSING_REQUIRED_FIELD location.address いいえ 番地、地域、郵便番号、国を含む、構造化された住所を指定します。
URL の形式が正しくないか、無効です ERROR INVALID_ATTRIBUTE_VALUE url × ランディング ページ URL で、サポートされている HTTP/HTTPS プロトコルと有効な構文が使用されていることを確認します。
無効なイメージまたはアクセスできないイメージ 警告 INVALID_IMAGE image.url いいえ 画像 URL が一般公開されており、認証が不要で、4xx/5xx エラーが返されないことを確認します。
重複する POI ID ERROR DUPLICATE_ENTITY poi_id × 各 poi_id がフィード ペイロード全体で一意であることを確認します。重複するエントリを削除します。
一致したエンティティの重複 ERROR DUPLICATE_MATCHED_ENTITY POI いいえ フィードから重複するエントリを削除するか、POI エンティティ マッチング ツールを使用して、個別のビジネスを独立した Google マップのリスティングに一致させます。
一致しないエンティティ ERROR UNMATCHED_ENTITY POI × POI エンティティ マッチング ツールを使用して、POI を Google マップの場所のリスティングと照合します。
画像ポリシー違反 ERROR SAFE_SEARCH_POLICY_VIOLATION_IMAGE image はい 報告された画像を削除または差し替えるか、[再審査を請求] をクリックして正当な理由を送信します。Google 検索のコンテンツ画像ポリシーをご覧ください。
テキスト ポリシー違反 - デフォルト名 ERROR SAFE_SEARCH_POLICY_VIOLATION_TEXT name.localizations.*.text はい 報告された名前のテキストを削除または置換するか、[再審査を請求] をクリックします。Google 検索のコンテンツ テキスト ポリシーをご覧ください。
テキスト ポリシー違反 - デフォルト以外の名前 警告 SAFE_SEARCH_POLICY_VIOLATION_TEXT name.localizations.*.text いいえ 報告された名前のテキストを削除するか、別のテキストに置き換えます。Google 検索のコンテンツ テキスト ポリシーをご覧ください。
テキスト ポリシー違反 - 説明 警告 SAFE_SEARCH_POLICY_VIOLATION_TEXT description.localizations.*.text いいえ 報告された説明テキストを削除するか、別のテキストに置き換えます。Google 検索のコンテンツ テキスト ポリシーをご覧ください。
テキスト ポリシー違反 - 表示アドレス 警告 SAFE_SEARCH_POLICY_VIOLATION_TEXT display_address.localizations.*.text いいえ 報告された表示住所のテキストを削除するか、別のテキストに差し替えてください。Google 検索のコンテンツ テキスト ポリシーをご覧ください。
施設カテゴリのデフォルトの言語 / 地域がありません ERROR MISSING_REQUIRED_FIELD local_data.establishment_category.default_locale いいえ 宣言された default_locale 言語に一致する、ローカライズされた POI の施設カテゴリの値を指定します。
営業時間が設定されていない営業日 ERROR MISSING_REQUIRED_FIELD local_data.business_hours.time_ranges.open_day いいえ 営業時間の有効な営業日を指定してください。
営業時間の開始時間がありません ERROR MISSING_REQUIRED_FIELD local_data.business_hours.time_ranges.open_time いいえ 有効な営業時間を入力してください。
営業時間の終了日が指定されていません ERROR MISSING_REQUIRED_FIELD local_data.business_hours.time_ranges.close_day いいえ 営業時間の終了日を正しく入力してください。
営業時間の終了時間がありません ERROR MISSING_REQUIRED_FIELD local_data.business_hours.time_ranges.close_time いいえ 有効な営業時間の終了時間を指定してください。
営業時間の開始時刻が終了時刻より遅い ERROR NOT_LESS_THAN_FIELD local_data.business_hours.time_ranges.open_time、local_data.business_hours.time_ranges.close_time いいえ 有効な開店時間と閉店時間の組み合わせを指定してください。開店時間は閉店時間より前にする必要があります。
価格帯の最小値が最大値を超えています ERROR INVALID_PRICE_RANGE local_data.price_range.min_price、local_data.price_range.max_price いいえ 有効な価格帯を指定してください。最低価格は最高価格より低くする必要があります。
ブランド ID がありません ERROR MISSING_REQUIRED_FIELD local_data.brand_landing_pages.brand_id × 有効なブランド ID を入力してください。
POI 内でブランド ID が重複している ERROR DUPLICATE_UNIQUE_PROPERTY local_data.brand_landing_pages.brand_id いいえ 各 brand_id が POI ペイロード全体で一意であることを確認します。重複するエントリを削除します。
ブランドのデフォルト URL がありません ERROR MISSING_REQUIRED_FIELD local_data.brand_landing_pages.default_url × 有効なブランドのデフォルト URL を指定してください。
ブランド URL の形式が正しくないか、無効です ERROR INVALID_ATTRIBUTE_VALUE local_data.brand_landing_pages.default_url いいえ ブランドのデフォルト URL で、サポートされている HTTP/HTTPS プロトコルと有効な構文が使用されていることを確認してください。
ブランドのローカライズ版ランディング ページ URL がありません ERROR MISSING_REQUIRED_FIELD local_data.brand_landing_pages.localized_landing_pages.url いいえ ローカライズされたランディング ページに有効な URL を指定します。
ブランドのローカライズされたランディング ページ URL の形式が正しくないか、無効です ERROR INVALID_ATTRIBUTE_VALUE local_data.brand_landing_pages.localized_landing_pages.url いいえ ローカライズされたランディング ページ URL で、サポートされている HTTP/HTTPS プロトコルと有効な構文が使用されていることを確認します。
ブランドのローカライズされたランディング ページ URL が重複しています ERROR DUPLICATE_UNIQUE_PROPERTY local_data.brand_landing_pages.localized_landing_pages.url いいえ 各 url が、POI のローカライズされたランディング ページ全体で一意であることを確認します。重複するエントリを削除します。
ブランドのローカライズされたランディング ページの言語 / 地域がありません ERROR MISSING_REQUIRED_FIELD local_data.brand_landing_pages.localized_landing_pages.locales いいえ ローカライズされたランディング ページに有効な言語 / 地域のセットを指定してください。
ブランドのローカライズされたランディング ページのロケールが重複しています ERROR DUPLICATE_UNIQUE_PROPERTY local_data.brand_landing_pages.localized_landing_pages.locales いいえ 各 locale が、POI のローカライズされたランディング ページ全体で一意であることを確認します。重複するエントリを削除します。
テキスト ポリシー違反 - 施設カテゴリ 警告 SAFE_SEARCH_POLICY_VIOLATION_TEXT local_data.establishment_category.localizations.*.text いいえ 報告された施設カテゴリのテキストを削除するか、置き換えてください。Google 検索のコンテンツ テキスト ポリシーをご覧ください。

問題コード

以降のセクションでは、各問題コードの詳細な原因と修正手順について説明します。

必須フィールドが指定されていません

問題コード: MISSING_REQUIRED_FIELD
重大度: エラー(配信をブロック)
再審査請求の可否: 不可(POI フィードを更新して解決してください)

このエラーは、取り込まれたエンティティに、Point of Interest フィード仕様で必要な 1 つ以上の必須属性がない場合に発生します。

[問題の詳細パネル] で、どのプロパティが欠落しているかを確認し、対応する修正を適用します。

1. POI ID(poi_id)がありません

  • 原因: poi_id フィールドが空、null、またはルート エンティティ オブジェクトに存在しません。
  • 修復: プロパティに永続的な一意の文字列識別子を指定します。
{
  "poi_id": "test_restaurant_1"
}

2. デフォルトの言語 / 地域またはローカライズされた名前がありません(name)

  • 原因: name オブジェクトに、一致する言語 / 地域の default_locale 文字列または localizations 配列がありません。
  • 修正方法: default_locale と、その言語 / 地域に一致するローカライズ エントリを少なくとも 1 つ指定します。
{
  "name": {
    "localizations": [
      {
        "locale": "en",
        "text": "Tasty Bites Test Restaurant"
      }
    ],
    "default_locale": "en"
  }
}

3. デフォルトの言語 / 地域またはローカライズされた住所がありません(display_address)

  • 原因: display_address オブジェクトに default_locale 文字列または localizations 配列がありません。
  • 修正方法: default_locale と、その言語 / 地域に一致するローカライズ エントリを少なくとも 1 つ、フォーマットされた番地として指定します。
{
  "display_address": {
    "localizations": [
      {
        "locale": "en",
        "text": "1600 Amphitheatre Pkwy, Mountain View, CA 94043"
      }
    ],
    "default_locale": "en"
  }
}

4. デフォルトの言語 / 地域またはローカライズされた説明がありません(description)

  • 原因: description オブジェクトが含まれている場合、default_locale または一致するローカライズがありません。
  • 修正: default_locale と、その言語 / 地域に一致するローカライズ エントリを少なくとも 1 つ、説明に指定します。
{
  "description": {
    "localizations": [
      {
        "locale": "en",
        "text": "A mock restaurant for testing the POI feed ingestion."
      }
    ],
    "default_locale": "en"
  }
}

5. 地理座標がありません(location.latitude / location.longitude)

  • 原因: location オブジェクトに latitude または longitude の数値がありません。
  • 修正: latitude と longitude の両方を、標準の WGS84 10 進数で浮動小数点数として指定します。
{
  "location": {
    "latitude": 37.422,
    "longitude": -122.084
  }
}

6. 構造化された住所がありません(location.address)

  • 原因: location.address オブジェクトに必須の住所コンポーネント(country、locality、postal_code)がありません。
  • 改善策: ISO 規格に沿って、構造化された住所オブジェクトを入力します。
{
  "location": {
    "address": {
      "country": "US",
      "locality": "Mountain View",
      "postal_code": "94043",
      "street_address": "1600 Amphitheatre Pkwy"
    }
  }
}

7. 施設カテゴリ(local_data.establishment_category.default_locale)のデフォルトの言語 / 地域がありません

  • 原因: local_data.establishment_category オブジェクトは存在しますが、default_locale が存在しないか、空であるか、localizations 配列のエントリと一致しません。
  • 修正: default_locale に有効な BCP 47 言語タグを指定し、その言語 / 地域に一致するローカライズされた文字列を 1 つ以上指定します。
{
  "local_data": {
    "establishment_category": {
      "default_locale": "en",
      "localizations": [
        {
          "locale": "en",
          "text": "Restaurant"
        }
      ]
    }
  }
}

8. 営業時間の営業日が指定されていません(local_data.business_hours.time_ranges.open_day)

  • 原因: local_data.business_hours.time_ranges のエントリに open_day がないか、DAY_OF_WEEK_UNSPECIFIED に設定されています。
  • 修正方法: 有効な曜日文字列("MONDAY"、"TUESDAY" など)を指定します。
{
  "local_data": {
    "business_hours": {
      "time_ranges": [
        {
          "open_day": "MONDAY",
          "open_time": { "hours": 11, "minutes": 0 },
          "close_day": "MONDAY",
          "close_time": { "hours": 21, "minutes": 0 }
        }
      ]
    }
  }
}

9. 営業時間の開始時間が指定されていません(local_data.business_hours.time_ranges.open_time)

  • 原因: local_data.business_hours.time_ranges のエントリに open_time オブジェクトがありません。
  • 修復: open_time を hours(0 ~ 23)と minutes(0 ~ 59)で指定します。
{
  "local_data": {
    "business_hours": {
      "time_ranges": [
        {
          "open_day": "MONDAY",
          "open_time": { "hours": 11, "minutes": 0 },
          "close_day": "MONDAY",
          "close_time": { "hours": 21, "minutes": 0 }
        }
      ]
    }
  }
}

10. 営業時間の終了日(local_data.business_hours.time_ranges.close_day)がありません

  • 原因: local_data.business_hours.time_ranges のエントリに close_day がないか、DAY_OF_WEEK_UNSPECIFIED に設定されています。
  • 修正方法: 有効な曜日文字列("MONDAY"、"TUESDAY" など)を指定します。
{
  "local_data": {
    "business_hours": {
      "time_ranges": [
        {
          "open_day": "MONDAY",
          "open_time": { "hours": 11, "minutes": 0 },
          "close_day": "MONDAY",
          "close_time": { "hours": 21, "minutes": 0 }
        }
      ]
    }
  }
}

11. 営業時間の終了時刻(local_data.business_hours.time_ranges.close_time)が指定されていません

  • 原因: local_data.business_hours.time_ranges のエントリに close_time オブジェクトがありません。
  • 修復: close_time を hours(0 ~ 23)と minutes(0 ~ 59)で指定します。
{
  "local_data": {
    "business_hours": {
      "time_ranges": [
        {
          "open_day": "MONDAY",
          "open_time": { "hours": 11, "minutes": 0 },
          "close_day": "MONDAY",
          "close_time": { "hours": 21, "minutes": 0 }
        }
      ]
    }
  }
}

12. ブランド ID(local_data.brand_landing_pages.brand_id)がありません

  • 原因: local_data.brand_landing_pages のエントリに、空、null、または欠落している brand_id があります。
  • 修復: 登録済みのパートナー ブランド構成に一致する空でない文字列識別子を指定します。
{
  "local_data": {
    "brand_landing_pages": [
      {
        "brand_id": "tasty_bites_brand",
        "default_url": "https://www.tastybitestest.com"
      }
    ]
  }
}

13. ブランドのデフォルト URL(local_data.brand_landing_pages.default_url)がありません

  • 原因: local_data.brand_landing_pages のエントリに default_url がないか、空の文字列です。
  • 修正方法: ローカライズされた URL と一致しない言語 / 地域を使用しているユーザー向けに、有効な代替 HTTP / HTTPS ランディング ページ URL を指定します。
{
  "local_data": {
    "brand_landing_pages": [
      {
        "brand_id": "tasty_bites_brand",
        "default_url": "https://www.tastybitestest.com"
      }
    ]
  }
}

14. ブランドのローカライズされたランディング ページ URL(local_data.brand_landing_pages.localized_landing_pages.url)がありません

  • 原因: localized_landing_pages 内のアイテムに url フィールドがないか、空になっています。
  • 改善策: ローカライズされたランディング ページに、有効な完全修飾 HTTP/HTTPS URL を指定します。
{
  "local_data": {
    "brand_landing_pages": [
      {
        "brand_id": "tasty_bites_brand",
        "default_url": "https://www.tastybitestest.com",
        "localized_landing_pages": [
          {
            "url": "https://www.tastybitestest.com/en",
            "locales": ["en-US", "en-GB"]
          }
        ]
      }
    ]
  }
}

15. ブランドのローカライズされたランディング ページの言語 / 地域(local_data.brand_landing_pages.localized_landing_pages.locales)がありません

  • 原因: localized_landing_pages 内のアイテムに locales 配列がないか、空になっています。
  • 修正: locales 配列に、有効な BCP 47 言語コードまたはロケールコード(["en-US"] など)を 1 つ以上指定します。
{
  "local_data": {
    "brand_landing_pages": [
      {
        "brand_id": "tasty_bites_brand",
        "default_url": "https://www.tastybitestest.com",
        "localized_landing_pages": [
          {
            "url": "https://www.tastybitestest.com/en",
            "locales": ["en-US", "en-GB"]
          }
        ]
      }
    ]
  }
}

画像の最大数を超えています

問題コード: EXCEEDED_MAX_COUNT
重大度: 警告
再審査請求の可否: 不可(フィード ペイロードを更新して解決してください)

このエラーは、POI エンティティ ペイロードの images 配列に 5 個を超える画像オブジェクトが含まれている場合に発生します。

修復:

  • images 配列をトリミングして、ローカル宿泊施設の高品質な代表的な写真を最大 5 枚含めます。
  • 上限の 5 枚を超える画像は破棄されます。

地理座標が無効です

問題コード: INVALID_LATLNG
重大度: エラー(配信をブロック)
再審査請求の可否: 不可(フィード ペイロードを更新して解決)

このエラーは、location.latitude または location.longitude で指定された地理座標が有効な球体境界の外にあるか、値のない null 座標を表している場合に発生します。

一般的な原因と解決策:

  • 範囲外の緯度: 緯度は、-90.0~90.0 の浮動小数点数にする必要があります。
  • 経度が範囲外: 経度は -180.0~180.0 の浮動小数点数で指定する必要があります。
  • Null Island(0,0): 0.0, 0.0 またはプレースホルダ整数(999, 999 など)を送信すると、座標が拒否されます。
  • 座標の入れ替え: シリアル化パイプラインで緯度と経度が入れ替わっていないことを確認します。

有効なペイロードの例:

{
  "location": {
    "latitude": 37.422,
    "longitude": -122.084
  }
}

URL の形式が正しくないか、無効である

問題コード: INVALID_ATTRIBUTE_VALUE
重大度: エラー(配信をブロック)
再審査請求の可否: 不可(フィード ペイロードを更新して解決)

このエラーは、属性値がスキーマ検証に失敗した場合に発生します。最も一般的なのは、パートナーのランディング ページ URL または画像 URL の構文が無効な場合です。

要件:

  • プロトコル: URL には http:// または https:// を明示的に指定する必要があります(HTTPS を強くおすすめします)。
  • エンコード: 特殊文字、スペース、非 ASCII 文字を含む URL は、適切にパーセント エンコードする必要があります(RFC 3986)。
  • 正規ドメイン: ドメインが完全修飾されていることを確認します(例: https://example.com/local/123。example.com/local/123 や www.example ではありません)。

有効なペイロードの例:

{
  "url": "https://www.tastybitestest.com/en"
}

無効な画像またはアクセスできない画像

問題コード: INVALID_IMAGE
重大度: 警告
再審査請求の可否: 不可(フィード ペイロードを更新して解決してください)

この警告は、Google のクローラーが image.url からメディア アセットをダウンロード、デコード、検証できない場合に、非同期画像取得ステージで発生します。無効な画像は除外されますが、宿泊施設は引き続き配信対象となります。

一般的な原因と解決策:

  • HTTP エラー(404 / 403 / 500): 画像 URL が 200 以外の HTTP ステータス コードを返します。認証、Cookie ウォール、IP 許可リストの制限なしで、画像に一般公開でアクセスできるようにします。
  • Robots.txt によるブロック: コンテンツ配信ネットワーク(CDN)で Googlebot ユーザー エージェントと Googlebot-Image ユーザー エージェントが許可されていることを確認します。
  • サポートされていないファイル形式: 画像は標準のラスター形式(JPEG、PNG、WebP)にする必要があります。アニメーション GIF、SVG、RAW カメラ形式はサポートされていません。詳しくは、画像に関するガイドラインをご覧ください。
  • SSL 証明書エラー: 画像ホストサーバーに有効な SSL 証明書チェーンがあることを確認します。

POI ID が重複しています

問題コード: DUPLICATE_ENTITY
重大度: エラー(配信をブロック)
再審査請求の可否: 不可(フィード ペイロードを更新して解決)

このエラーは、同じ poi_id 文字列が 1 つのフィード ファイルセット内に複数回出現する場合に発生します。

修復:

  • フィード内のすべてのローカル リスティングに、一意で決定的な poi_id が設定されていることを確認します。
  • ローカル プロパティに複数の客室タイプまたは料金がある場合は、同じ ID の重複するエンティティ レコードを出力するのではなく、1 つのルート POI エンティティに統合します。

一致したエンティティが重複しています

問題コード: DUPLICATE_MATCHED_ENTITY
重大度: エラー(配信をブロック)
再審査請求の可否: 不可(フィード ペイロードを更新するか、POI エンティティ マッチング ツールを使用して解決してください)

このエラーは、フィード内の 2 つ以上の異なる poi_id エントリが、同じ正規の Google マップの場所のリスティングと一致する場合に発生します。複数のビジネスが同じ Google エンティティにマッピングされている場合、重複が解決されるまで、競合するすべてのエントリの配信がブロックされます。

解決方法:

  1. 競合するプロパティを特定する: Ingestion Viewer([Ingestion] > [History])を開き、最新の取り込み実行を選択して、[Validations] パネルを開きます。同じ Issue Info グループ ID を共有する DUPLICATE_MATCHED_ENTITY 行をクリックすると、同じ Google エンティティに一致したすべての poi_id レコードが表示されます。
  2. フィードから重複するリスティングを削除する: 競合する poi_id エントリが同じ実店舗のビジネス拠点を表している場合は、フィードから重複するエントリを削除して、その店舗に対して 1 つの poi_id のみが送信されるようにします。
  3. 独立したビジネスの不適切な一致を調整する: 競合する poi_id エントリが、同じ Google エンティティに不適切に一致した個別の独立したビジネスを表している場合は、不適切に一致したビジネスをインベントリ ビューで開き、[一致を編集] をクリックして、専用の Google マップの場所のリスティングを選択または提案します。詳細な手順については、POI のエンティティ マッチング ガイドをご覧ください。

一致しないエンティティ

問題コード: UNMATCHED_ENTITY
重大度: エラー(配信をブロック)
再審査請求の可否: 不可(POI エンティティ マッチング ツールを使用するか、エンティティ メタデータを修正してください)

この問題は、Google のマッチング パイプラインが、ローカル リスティングを Google マップの正規の場所と照合できなかったことを示しています。

解決方法:

  1. コア属性を確認する: 地域の name、display_address、location.address、url、telephone、location.latitude/location.longitude が、物理的な物件の場所を正確に反映していることを確認します。
  2. 一致情報を確認する: インベントリ ビューの [一致情報] 列で、候補となる場所を確認します。
  3. POI Match Fix Tool を使用する: アクション センターで [一致を編集] をクリックし、正しい Google プレイス ID を手動で検索して確認します。詳細な手順については、POI のエンティティ マッチング ガイドをご覧ください。

Google 検索の画像ポリシー違反

問題コード: SAFE_SEARCH_POLICY_VIOLATION_IMAGE
重大度: エラー(配信をブロック)
再審査請求の可否: 可

関連するポリシーの問題コードはこちらで確認できます。Google 検索のコンテンツ画像ポリシー

画像が誤ってフラグ付けされた(誤検出)と思われる場合は、[問題の詳細] パネルで [再審査請求を作成] をクリックします。

Google 検索のコンテンツ テキスト ポリシー違反 - 名前

問題コード: SAFE_SEARCH_POLICY_VIOLATION_TEXT
重大度: 重大度はフィールドによって異なります(以下の詳細を参照)
影響を受けるフィールド: name.localizations.*.text
再審査請求の可否: 可(デフォルトの言語 / 地域の ERROR のみ)、不可(デフォルト以外の言語 / 地域の Warning)

  • デフォルトの言語 / 地域(name.default_locale): エラー(配信がブロックされます)。POI 全体の配信がブロックされます。デフォルトのロケール名のテキストが誤ってフラグ付けされた(誤検出)と思われる場合は、[問題の詳細] パネルで [再審査請求を作成] をクリックします。
  • デフォルト以外の言語 / 地域: 警告(配信はブロックされません)。報告されたローカライズのみが省略され、POI は引き続き配信対象となります。デフォルト以外の言語 / 地域に関する警告は、再審査請求の対象外です。フィードのペイロードを更新することで解決できます。

関連するポリシーの問題コードはこちらで確認できます。Google 検索のコンテンツテキスト ポリシー

Google 検索のコンテンツ テキスト ポリシー違反 - 説明

問題コード: SAFE_SEARCH_POLICY_VIOLATION_TEXT
重大度: 警告(配信はブロックされません)
影響を受けるフィールド: description.localizations.*.text
再審査請求の可否: 不可(フィード ペイロードを更新して解決してください)

この警告は、description.localizations のテキストコピーが Google 検索のコンテンツ テキスト ポリシーに違反していると判断された場合に表示されます。報告された説明のローカライズ(デフォルトの言語 / 地域が報告された場合は description フィールド全体)は省略されますが、POI は引き続き配信対象となります。

関連するポリシーの問題コードはこちらで確認できます。Google 検索のコンテンツテキスト ポリシー

Google 検索のコンテンツ テキスト ポリシー違反 - 表示アドレス

問題コード: SAFE_SEARCH_POLICY_VIOLATION_TEXT
重大度: 警告(配信はブロックされません)
影響を受けるフィールド: display_address.localizations.*.text
再審査請求の可否: 不可(フィード ペイロードを更新して解決してください)

この警告は、display_address.localizations のフォーマットされた住所テキストに、Google 検索のコンテンツ テキスト ポリシーで禁止されているコンテンツが含まれている場合に発生します。報告された住所のローカライズ(デフォルトの言語 / 地域が報告された場合は display_address フィールド全体)は省略されますが、POI は引き続き配信対象となります。

関連するポリシーの問題コードはこちらで確認できます。Google 検索のコンテンツテキスト ポリシー

営業時間の開始時間が終了時間より遅くなっています

問題コード: NOT_LESS_THAN_FIELD
重大度: エラー(配信をブロック)
影響を受けるフィールド: local_data.business_hours.time_ranges.open_time、local_data.business_hours.time_ranges.close_time
再審査請求の可否: 不可(フィード ペイロードを更新して解決)

このエラーは、同日の営業時間 open_time が close_time 以降の場合に発生します。

一般的な原因と解決策:

  • 同日反転: open_time が close_time より前であることを確認します(例: 09:00 ~ 17:00)。
  • 深夜営業: ある日に開店し、深夜を過ぎて翌日に閉店する(例: 21:00 ~ 02:00)場合は、close_day を翌日に設定します(例: open_day: "FRIDAY"、close_day: "SATURDAY")。

有効なペイロードの例:

{
  "local_data": {
    "business_hours": {
      "time_ranges": [
        {
          "open_day": "MONDAY",
          "open_time": { "hours": 9, "minutes": 0 },
          "close_day": "MONDAY",
          "close_time": { "hours": 17, "minutes": 0 }
        }
      ]
    }
  }
}

価格帯の最小値が最大値を超えています

問題コード: INVALID_PRICE_RANGE
重大度: エラー(配信をブロック)
影響を受けるフィールド: local_data.price_range.min_price、local_data.price_range.max_price
再審査請求の可否: 不可(フィード ペイロードを更新して解決)

このエラーは、min_price の値が max_price を超えている場合、または min_price と max_price で異なる通貨コードが指定されている場合に発生します。

一般的な原因と解決策:

  • 値が逆になっている: min_price が max_price 以下であることを確認します。
  • 通貨の不一致: min_price.currency_code と max_price.currency_code の両方が同じ ISO 4217 の 3 文字の通貨コード(例: "USD")と一致していることを確認します。

有効なペイロードの例:

{
  "local_data": {
    "price_range": {
      "min_price": {
        "currency_code": "USD",
        "units": 15,
        "nanos": 0
      },
      "max_price": {
        "currency_code": "USD",
        "units": 45,
        "nanos": 0
      }
    }
  }
}

スポット内の一意のプロパティが重複している

問題コード: DUPLICATE_UNIQUE_PROPERTY
重大度: エラー(配信をブロック)
再審査請求の可否: 不可(フィード ペイロードを更新して解決)

このエラーは、1 つの POI エンティティ全体で一意である必要があるフィールドまたはサブ要素に、重複するエントリが含まれている場合に発生します。

[Issue Details] パネルで、一意性に違反しているプロパティを特定します。

1. POI 内でブランド ID が重複している(local_data.brand_landing_pages.brand_id)

  • 原因: 1 つの POI の複数の brand_landing_pages エントリに同じ brand_id 文字列が含まれています。
  • 修正方法: そのブランドのすべてのランディング ページを 1 つの brand_landing_pages オブジェクトに統合します。

有効なペイロードの例:

{
  "local_data": {
    "brand_landing_pages": [
      {
        "brand_id": "brand_zenchef",
        "default_url": "https://bookings.zenchef.com/results?rid=287722"
      },
      {
        "brand_id": "brand_opentable",
        "default_url": "https://www.opentable.com/r/287722"
      }
    ]
  }
}

2. ブランドのローカライズされたランディング ページ URL(local_data.brand_landing_pages.localized_landing_pages.url)が重複しています

  • 原因: 同じブランドの localized_landing_pages で、まったく同じランディング ページ URL が複数回定義されています。
  • 修正方法: 各 URL エントリが一意であることを確認するか、1 つの URL エントリの locales 配列に複数の言語 / 地域を関連付けます。

有効なペイロードの例:

{
  "local_data": {
    "brand_landing_pages": [
      {
        "brand_id": "brand_zenchef",
        "default_url": "https://bookings.zenchef.com/results?rid=287722",
        "localized_landing_pages": [
          {
            "url": "https://bookings.zenchef.com/en/results?rid=287722",
            "locales": ["en-US"]
          },
          {
            "url": "https://bookings.zenchef.com/fr/results?rid=287722",
            "locales": ["fr-FR"]
          }
        ]
      }
    ]
  }
}

3. ブランドのローカライズされたランディング ページの言語 / 地域(local_data.brand_landing_pages.localized_landing_pages.locales)が重複しています

  • 原因: 同じブランドの localized_landing_pages の複数のエントリで、同じ言語 / 地域コード(例: "en-US")が繰り返されています。
  • 修正方法: 各ロケールタグを、ローカライズされたランディング ページに 1 つだけ割り当てます。

有効なペイロードの例:

{
  "local_data": {
    "brand_landing_pages": [
      {
        "brand_id": "brand_zenchef",
        "default_url": "https://bookings.zenchef.com/results?rid=287722",
        "localized_landing_pages": [
          {
            "url": "https://bookings.zenchef.com/en/results?rid=287722",
            "locales": ["en-US", "en-GB"]
          },
          {
            "url": "https://bookings.zenchef.com/fr/results?rid=287722",
            "locales": ["fr-FR"]
          }
        ]
      }
    ]
  }
}

ブランド URL の形式が正しくないか、無効

問題コード: INVALID_ATTRIBUTE_VALUE
重大度: エラー(配信をブロック)
再審査請求の可否: 不可(フィード ペイロードを更新して解決)
影響を受けるフィールド: local_data.brand_landing_pages.default_url、local_data.brand_landing_pages.localized_landing_pages.url

このエラーは、ブランドのデフォルト URL またはローカライズされたランディング ページ URL が URI 構文検証に失敗した場合に発生します。

要件:

  • プロトコル: http:// または https:// を明示的に指定する必要があります(本番環境でのサービス提供には https:// が必要です)。
  • 構文: 完全修飾ドメイン名を含む、パーセント エンコードされた RFC 3986 準拠の有効な URL である必要があります。

有効なペイロードの例:

{
  "local_data": {
    "brand_landing_pages": [
      {
        "brand_id": "tasty_bites_brand",
        "default_url": "https://www.tastybitestest.com/en",
        "localized_landing_pages": [
          {
            "url": "https://www.tastybitestest.com/en/reservation",
            "locales": ["en-US"]
          }
        ]
      }
    ]
  }
}

Google 検索のコンテンツ テキスト ポリシー違反 - 施設カテゴリ

問題コード: SAFE_SEARCH_POLICY_VIOLATION_TEXT
重大度: 警告(配信はブロックされません)
再審査請求の可否: 不可(フィード ペイロードを更新して解決してください)
影響を受けるフィールド: local_data.establishment_category.localizations.*.text

この警告は、ローカライズされた施設カテゴリのテキストが自動セーフサーチ コンテンツ フィルタに失敗した場合に発生します。報告された施設カテゴリのローカライズ(デフォルトの言語 / 地域が報告された場合は establishment_category フィールド全体)は省略されますが、POI は引き続き配信対象となります。

修復:

有効なペイロードの例:

{
  "local_data": {
    "establishment_category": {
      "default_locale": "en",
      "localizations": [
        {
          "locale": "en",
          "text": "Restaurant"
        },
        {
          "locale": "fr",
          "text": "Restaurant gastronomique"
        }
      ]
    }
  }
}