データフィードのトラブルシューティング

データフィードで問題が発生した場合、以下の解決策とガイドラインを使ってください。

おすすめのルールを見る

データフィードに関連するすべてのルールのリストについては、次の場所に対してHTTP GET呼び出しを発行してください。

https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_ID>/rules

詳しくは、商品データフィードルールAPI、リファレンスをご覧ください。

データフィードのエラーを修正するためのおすすめのルールを、Metaから受け取ることができます。アップロードセッションのためのおすすめルールを確認するには、次の手順に従ってください。

ステップ1: アップロードセッションを取得する:

https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_ID>/uploads

ステップ2: アップロードセッションのエラーを取得する:

https://graph.facebook.com/<API_VERSION>/<UPLOAD_SESSION_ID>/errors

ステップ3: アップロードエラーについてのおすすめルールを取得する:

curl -i -X GET 
 "https://graph.facebook.com/<API_VERSION>/<UPLOAD_ERROR_ID>/suggested_rules?access_token={ACCESS_TOKEN}

応答の例

"data": [
  
    "attribute": "description",
    "type": "letter_case_rule",
    "params": [
      
        "key": "type",
        "value": "capitalize_first"
      
    ]
  
]

詳しくは、おすすめのルールAPI、リファレンスをご覧ください。

データフィードにルールを適用する

データフィードにルールを適用するには、そのルールをデータフィードに関連付ける必要があります。

次の場所に対してHTTP POST呼び出しを発行します。

https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_ID>/rules?attribute={ATTRIBUTE}&amp;rule_type={RULE_TYPE}&amp;params={PARAMS}

curl -i -X POST 
  -d "attribute=google_product_category" 
  -d "rule_type=mapping_rule" 
  -d "params=%7B'map_from'%3A%20'gcategory'%7D" 
  -d "access_token={ACCESS_TOKEN}" 
  "https://graph.facebook.com/<API_VERSION>/{PRODUCT_FEED_ID}/rules" 

応答の例

"id": "{RULE_ID}"

paramsのフォーマットは、次のとおりです。

ルールのタイプ フォーマット 注記

マッピングルール

"map_from": <string>

"map_from": "gavailability"

値マッピングルール

<string> : <string>

"InStock": "in stock"

マッピングの最大数は10個、文字列の長さは20以下に制限されています。

大文字小文字ルール

"type": "capitalize_first"、"capitolize_all"、"to_upper""、"to_lower"のうちの1つ

"type": "capitalize_first"

詳しくは、商品データフィードルールAPI、リファレンスをご覧ください。

ルールによりフィードアップロードエラーを修正する

ルールによりデータフィードアップロードエラーを修正したり防止したりします。データフィードのアップロードごとに、Metaによって適用されるルールを指定することができます。それらのルールは、ルール適用対象となるアトリビューション(列)、ルールの種類、パラメーターによって指定します。現在のところ、バッチAPIでルールを使うことはできません。提供できるルールの種類は、次のとおりです。

  • マッピングルール - データフィードファイル内のアトリビューション(列の名前)を、認識可能なアトリビューションにマッピングします。
  • 値マッピングルール - データフィードファイル内のフィールド(列の値)を、認識可能なフィールドにマッピングします。
  • 大文字小文字ルール - フィールド内の単語の大文字小文字を変更します。例えば、全大文字の説明を小文字に変更します。

例えば、マッピングルールと値マッピングルールを使えば、以下の問題を修正することができます:

  • アトリビューションの入力ミスgavailabilityavailability
  • 認識できない列挙InStockin stockに修正
  • 価格のフォーマットを45$から45.00 USD
  • 翻訳条件: 条件Newが成立するならNeu

以下の種類の問題に対処するには、大文字小文字ルールを使うことができます。

  • 全大文字の説明BRAND NEW WITH LEATHER DETAIL...Brand new with leather detail...に変更
  • 全大文字のタイトルFACEBOOK T-SHIRTFacebook T-shirtに修正

ルールの更新と削除

データフィードに関連するルールを変更するには、パラメーターを更新する場合はHTTP POST呼び出しを、削除する場合はHTTP DELETEを発行します。更新できるのは、パラメーターだけです。attributeまたはrule_typeを変更する場合は、削除してからルールを作り直す必要があります。

https://graph.facebook.com/<API_VERSION>/<PRODUCT_FEED_RULE_ID>?params={PARAMS}

詳しくは、商品データフィードルールAPI、リファレンスをご覧ください。

カタログに欠如しているアイテムを修正する

コマースマネージャで、カタログ内の一部のアイテムが欠如しているか見つからないことが報告された場合は、Metaピクセルまたはアプリが適切に設定されていることを確認する必要があります。このエラーが発生する可能性があるのは、以下のような場合です。

  • ピクセルまたはアプリのイベントに含まれるcontent_idが、カタログのデータフィードのIDと一致しない。
  • ピクセルまたはアプリがカタログと関連付けられていない。
  • カタログにアイテムが存在しない。

詳しくは、こちらをご覧ください。

Blueprintによるフィードのトラブルシューティングについて、詳しくはこちらをご覧ください。

データフィードアップロードエラーレポートをリクエストする

Advantage+ カタログ広告

データフィードアップロードエラーレポートAPIを使うと、フィードアップロードセッションのエラーレポート全体をリクエストすることができます。Metaがリクエストを受け取ると、それらのエラーを準備してCSVファイルに保存するためのバックグラウンドジョブが実行されます。

エラーレポート全体をリクエストするには、POST /{upload_session_id}/error_reportを使います。

レポートには、以下の情報が含まれます。

  • エラーが発生したアイテムの小売店ID
  • エラーメッセージ
  • エラーの重大度(エラーが原因でアイテムが却下された場合はFATAL、アップロードされたがエラーになった場合はWARNING)
  • このエラーが発生したフィールド名
  • このエラーの影響を受ける機能。この列内に'da'が含まれるAdvantage+カタログ広告に影響を与えるエラーなど
  • エラーのために機能がブロックされた場合(true/false)。エラーのためにアイテムが表示されなくなった場合など

リクエスト

curl -i -X POST \
  -F 'access_token=ACCESS_TOKEN' \
  https://graph.intern.facebook.com/<API_VERSION>/<upload session ID>/error_report

応答 応答は、リクエストが成功したかどうかを示します。

{
  "success": bool,
}

コマース

商品フィードアップロードの問題を修正するには、ほとんどの場合、エラーや警告のサンプリングを取得することで十分です。しかし、より深い分析をするために、エラーの完全なリストが必要になることがあるかもしれません。エラーと警告の完全なリストをダウンロードするには、まず最新のアップロードセッションについてのクエリを実行する必要があります(前出のセクションを参照)。

特定のアップロードセッションIDに対して、エラーレポート全体をリクエストすることができます。

リクエスト

GET https://graph.facebook.com/vX.X/{upload-session-id}/?fields=error_report

応答

{
  "error_report": {
    "report_status": "WRITE_FINISHED",
    "file_handle": "{link-to-the-file-location}"
  },
  "id": "493476498092860"
}

ダウンロードできるURLを見つけてください(wget、curlなど)。ダウンロードしたファイルには、エラーレポート全体が含まれています。

「このアプリを所有するビジネスが管理していないオブジェクトにはアクセスできません」というエラーが発生した場合は、該当アプリがビジネスに属するものであることを確認してください([ビジネス設定] > [アカウント] > [アプリ])。

レポートが用意されていない場合、最後に実行した呼び出しを数秒後に繰り返してください。その後、レポート自体をダウンロードできます。

エラーレポートのステータスを取得する

レポートがリクエストされたら、GET /{upload_session_id}?fields=error_reportを使うことによってエラーレポートのステータスを取得します。

curl -i -X GET \
 https://graph.intern.facebook.com/<API_VERSION>/<upload session ID>?fields=error_report&access_token=ACCESS_TOKEN

応答

{
  "error_report": {
    "report_status": string,
    "file_handle": string, // if available
  }
  "id": "332552650711532 (https://developers.intern.facebook.com/tools/explorer/690422434302374?method=GET&path=332552650711532%3Ffields%3Derror_report&version=v3.2#)"
}

可能な値 - 返されるステータス


説明

NOT_REQUESTED

このデータフィードアップロードのエラーレポートはリクエストされていません。

REQUESTED

リクエストは、受理されており、処理中です。

CREATED

レポートの作成が成功し、CSVファイルへの書き込みを待機中です。

WRITE_FINISHED

レポートファイルが準備されており、ダウンロード可能な状態です。

SESSION_DATA_NOT_FOUND

このデータフィードアップロードセッションのデータが見つかりませんでした。このフィードアップロードについて処理されたアイテムはなかったと思われます。

ERROR_REPORT_OUTDATED

エラーレポートは経過日数が30日を超えており、もう利用できません。

FATAL_ERROR

このエラーレポートの作成中にエラーが発生しました。エラーレポートをリクエストして再試行できます。

: このエラーレポートを使ったCDN URLはダウンロード可能であり、error_reportのステータスがWRITE_FINISHEDなら「file_handle」として返されます。

商品フィードのアップロードエラーを管理する

Advantage+ カタログ広告

商品フィードアップロードエラーのドキュメントをご覧ください。商品フィードアップロードエラーの処理、コマースプラットフォームもご覧ください。

リクエスト

フィードアップロードからのエラーと警告を取得するには、まず最後のアップロードセッションについてクエリを実行する必要があります。

GET https://graph.facebook.com/vX.X/{product-feed-id}/uploads
Token: PAGE_ACCESS_TOKEN

その後、upload_session_idを使ってエラーと警告を取り出します。

GET https://graph.facebook.com/vX.X/{upload-session-id}/errors
Token: PAGE_ACCESS_TOKEN

応答の例

この文脈で重大度fatalは、Metaによってアイテムを取り込めないことを意味します。重大度warningは、いくつかのおすすめアトリビューションが欠けていたりフォーマットが不正であったりすることを意味します。

{
  "data": [
    {
      "id": 1510567479166488,
      "summary": "A required field is missing: price.",
      "description": "Products need to have prices to run in ads. Include a price for each product in your data feed file and upload it again. Prices must include cost and an ISO currency code (for example: 10 USD instead of $10 for American dollars).",
      "severity": "fatal",
      "samples": {
        "data": [
          {
            "row_number": 2,
            "retailer_id": "yj9bpbpub5t8t22kgbq6",
            "id": "1677559492523068"
          },
          {
            "row_number": 5,
            "retailer_id": "ujn33tvbyv2vmdpo7ecb",
            "id": "1529743440653137"
          }
        ]
      }
    },
    {
      "id": 275241589314958,
      "summary": "GTIN is incorrectly formatted",
      "description": "Check that the GTIN (Global Trade Identification Number) for each of your products is in the correct format. Accepted types include UPC, EAN, JAN, and ISBN.",
      "severity": "warning",
      "samples": {
        "data": [
          {
            "row_number": 4,
            "retailer_id": "bxwb1pho9o43uxjxikcg",
            "id": "538700559625644"
          }
        ]
      }
    }
  ]
}

コマース

商品フィードアップロードエラーのドキュメントをご覧ください。商品フィードアップロードエラーを管理する方法、Advantage+カタログ広告もご覧ください。

カタログアップロードのエラーと警告を、アップロードセッションごとに確認することをおすすめします。そのためには、コマースマネージャ[診断]セクションに移動するか、またはフィードAPIを使ってエラーや警告のサンプリングをリクエストすることができます。まず、直近のアップロードセッションについてのクエリを実行します。

コマースマネージャの診断の警告とエラーをBlueprintによって解決する方法については、こちらをご覧ください。

リクエスト

GET https://graph.facebook.com/vX.X/{product-feed-id}/uploads

応答の例

{
  "data": [
    {
      "id": "493476498092860",
      "start_time": "2019-07-15T12:38:36+0000",
      "end_time": "2019-07-15T12:38:47+0000"
    }
  ]
}

次に、idフィールドに返された値を使って、エラーや警告のサンプリングを取得します。

リクエスト

GET https://graph.facebook.com/vX.X/{upload-session-id}/errors

応答の例

この文脈で重大度fatalは、Metaによってアイテムを取り込めないことを意味します。重大度warningは、いくつかのおすすめアトリビューションが欠けていたりフォーマットが不正であったりすることを意味します。

{
  "data": [
    {
      "id": 1510567479166488,
      "summary": "A required field is missing: price.",
      "description": "Products need to have prices to run in ads. Include a price for each product in your data feed file and upload it again. Prices must include cost and an ISO currency code (for example: 10 USD instead of $10 for American dollars).",
      "severity": "fatal",
      "samples": {
        "data": [
          {
            "row_number": 2,
            "retailer_id": "yj9bpbpub5t8t22kgbq6",
            "id": "1677559492523068"
          },
          {
            "row_number": 5,
            "retailer_id": "ujn33tvbyv2vmdpo7ecb",
            "id": "1529743440653137"
          }
        ]
      }
    },
    {
      "id": 275241589314958,
      "summary": "GTIN is incorrectly formatted",
      "description": "Check that the GTIN (Global Trade Identification Number) for each of your products is in the correct format. Accepted types include UPC, EAN, JAN, and ISBN.",
      "severity": "warning",
      "samples": {
        "data": [
          {
            "row_number": 4,
            "retailer_id": "bxwb1pho9o43uxjxikcg",
            "id": "538700559625644"
          }
        ]
      }
    }
  ]
}