カタログとシグナルの品質

お客様の様々なAdvantage+ カタログ広告アセットの品質とパフォーマンスに関するフィードバックを得るために、2つのオプションを提供しています。

カタログでのピクセルイベントおよびアプリイベントに関するフィードバック

ピクセルとアプリのインストールに関連した問題を特定するには、様々なピクセル、アプリ、デバイスから受信した、一致イベントと不一致イベントについての集計統計を確認できます。

カタログにリンクされたイベントソースから生じたイベントについての統計を取得するために、イベントAPIのクエリを実行します。詳しくは、イベントAPIのリファレンスをご覧ください。

イベント統計

カタログレベルでこの情報を取得するには次のようにします。

curl -X GET \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v21.0/<PRODUCT_CATALOG_ID>/event_stats
'use strict'; const bizSdk = require('facebook-nodejs-business-sdk'); const ProductCatalog = bizSdk.ProductCatalog; const ProductEventStat = bizSdk.ProductEventStat; const access_token = '<ACCESS_TOKEN>'; const app_secret = '<APP_SECRET>'; const app_id = '<APP_ID>'; const id = '<PRODUCT_CATALOG_ID>'; const api = bizSdk.FacebookAdsApi.init(access_token); const showDebugingInfo = true; // Setting this to true shows more debugging info. if (showDebugingInfo) { api.setDebug(true); } const logApiCallResult = (apiCallName, data) => { console.log(apiCallName); if (showDebugingInfo) { console.log('Data:' + JSON.stringify(data)); } }; let fields, params; fields = [ ]; params = { }; const event_statss = (new ProductCatalog(id)).getEventStats( fields, params ); logApiCallResult('event_statss api call complete.', event_statss);
require __DIR__ . '/vendor/autoload.php'; use FacebookAds\Object\ProductCatalog; use FacebookAds\Object\ProductEventStat; use FacebookAds\Api; use FacebookAds\Logger\CurlLogger; $access_token = '<ACCESS_TOKEN>'; $app_secret = '<APP_SECRET>'; $app_id = '<APP_ID>'; $id = '<PRODUCT_CATALOG_ID>'; $api = Api::init($app_id, $app_secret, $access_token); $api->setLogger(new CurlLogger()); $fields = array( ); $params = array( ); echo json_encode((new ProductCatalog($id))->getEventStats( $fields, $params )->getResponse()->getContent(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.productcatalog import ProductCatalog from facebook_business.adobjects.producteventstat import ProductEventStat from facebook_business.api import FacebookAdsApi access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<PRODUCT_CATALOG_ID>' FacebookAdsApi.init(access_token=access_token) fields = [ ] params = { } print ProductCatalog(id).get_event_stats( fields=fields, params=params, )
import com.facebook.ads.sdk.*; import java.io.File; import java.util.Arrays; public class SAMPLE_CODE_EXAMPLE { public static void main (String args[]) throws APIException { String access_token = \"<ACCESS_TOKEN>\"; String app_secret = \"<APP_SECRET>\"; String app_id = \"<APP_ID>\"; String id = \"<PRODUCT_CATALOG_ID>\"; APIContext context = new APIContext(access_token).enableDebug(true); new ProductCatalog(id, context).getEventStats() .execute(); } }
require 'facebook_ads' access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<PRODUCT_CATALOG_ID>' FacebookAds.configure do |config| config.access_token = access_token config.app_secret = app_secret end product_catalog = FacebookAds::ProductCatalog.get(id) event_statss = product_catalog.event_stats({ fields: { }, })

過去1か月間の、イベントのタイプ、ソース、日付ごとに要素の配列が1つ返されます。

{
  "data": [
    {
      "date_start": "2017-03-16",
      "date_stop": "2017-03-16",
      "event": "AddToCart",
      "event_source": {
        "id": "<PIXEL_ID>",
        "source_type": "PIXEL"
      },
      "total_matched_content_ids": 1086,
      "total_content_ids_matched_other_catalogs": 10024,
      "total_unmatched_content_ids": 13024,
      "unique_matched_content_ids": 285,
      "unique_content_ids_matched_other_catalogs": 102,
      "unique_unmatched_content_ids": 2132
    },
    {
      "date_start": "2017-03-16",
      "date_stop": "2017-03-16",
      "event": "ViewContent",
      "event_source": {
        "id": "<APP_ID>",
        "source_type": "APP"
      },
      "total_matched_content_ids": 1007,
      "total_content_ids_matched_other_catalogs": 504,
      "total_unmatched_content_ids": 20206,
      "unique_matched_content_ids": 507,
      "unique_content_ids_matched_other_catalogs": 402,
      "unique_unmatched_content_ids": 8037
    },
    ...
  ]
}

イベントのタイプ、ソース、日付のそれぞれに対して返されるフィールドは次のとおりです。

カウント 説明

total_matched_content_ids

カタログ内のアイテムに一致した、受信イベントのコンテンツIDの合計数。重複するコンテンツIDもカウントされています。

total_content_ids_matched_other_catalogs

特定のピクセルまたはアプリに関連付けられた他のカタログ内のアイテムに一致した、受信イベントのコンテンツIDの合計数。重複するコンテンツIDもカウントされています。

total_unmatched_content_ids

カタログ内のアイテムに一致しなかった、受信イベントのコンテンツIDの合計数。重複するコンテンツIDもカウントされています。

unique_matched_content_ids

カタログ内のアイテムに一致した、受信イベントのユニークなコンテンツIDの数。

unique_content_ids_matched_other_catalogs

イベントを発生させた特定のピクセルまたはアプリに関連付けられた他のカタログ内のアイテムに一致した、受信イベントのユニークなコンテンツIDの数。

unique_unmatched_content_ids

カタログ内のアイテムに一致しなかった、受信イベントのユニークなコンテンツIDの数。

デバイスタイプ別の内訳

device_typeを渡して結果の内訳を確認します。

use FacebookAds\Api;
use FacebookAds\Http\RequestInterface;

$data = Api::instance()->call(
  '/' . <CATALOG_ID> . '/event_stats',
  RequestInterface::METHOD_GET,
  array(
    'breakdowns' => array('device_type'),
  ))->getContent();
curl -G \
  -d 'breakdowns=["device_type"]' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<CATALOG_ID>/event_stats

これにより、イベントが発生したデバイス別にグループ化された結果が返されます。例えばdesktopmobile_iphonemobile_android_phoneなどです。

{
  "data": [
    {
      "date_start": "2017-03-10",
      "date_stop": "2017-03-10",
      "event": "AddToCart",
      "event_source": {
        "id": "<PIXEL_ID>",
        "source_type": "PIXEL"
      },
      "device_type": "desktop",
      "total_matched_content_ids": 282,
      "total_content_ids_matched_other_catalogs": 524,
      "total_unmatched_content_ids": 4965,
      "unique_matched_content_ids": 102,
      "unique_content_ids_matched_other_catalogs": 402,
      "unique_unmatched_content_ids": 1427
    },
    ...
  ]
}

ピクセルイベントおよびアプリイベントに関するフィードバック

Example—チェックを使用することで、ピクセルから送信されたイベントに問題がないかどうかを確認することができます。

use FacebookAds\Api;
use FacebookAds\Http\RequestInterface;

$data = Api::instance()->call(
  '/' . <PIXEL_ID> . '/da_checks',
  RequestInterface::METHOD_GET)->getContent();
curl -G \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<PIXEL_ID>/da_checks

—応答

{
  "data": [
    {
      "description": "Pixel hasn't sent some or any events for Advantage+ catalog ads (ex: ViewContent, AddToCart, Purchase) at least once in the last 24 hours.",
      "key": "pixel_missing_dpa_event",
      "result": "failed",
      "title": "Pixel is not sending DPA events"
    },
    {
      "description": "Pixel events might be missing parameters some or all of the time.",
      "key": "pixel_missing_param_in_events",
      "result": "passed",
      "title": "Pixel missing parameter in DPA events"
    },
    {
      "action_uri": "https://www.facebook.com/ads/manage/pixels/?pixel_id=<PIXEL_ID>&amp;m2w=1",
      "description": "The number of pixel events has dropped to less than half of the weekly average.",
      "key": "pixel_decline",
      "result": "passed",
      "title": "Decline in number of pixel events"
    }
  ]
}

次のチェックを使用できます。

チェック 説明

pixel_missing_dpa_event

Advantage+ カタログ広告で定義されているように、このピクセルに不足しているイベントがないかどうかをチェックします。

pixel_missing_param_in_events

ダイナミック広告で定義されているように、必須のパラメーターが不足しているイベントがないかどうかをチェックします。

pixel_decline

過去24時間にそのピクセルで受信したイベントの数が減少していないか確認します。

詳しくは、ピクセルダイナミック広告のチェックのリファレンスをご覧ください。

resultフィールドの可能な値:

ステータス 説明

合格

ピクセルはこのチェックに合格しました。

不合格

ピクセルはこのチェックに合格しませんでした。

利用不可

このチェックは、このピクセルに対して現在使用できません。後でもう一度お試しください。

デフォルトですべてのチェックが返されますが、実行するチェックを指定する場合は、次のようにします。

use FacebookAds\Api;
use FacebookAds\Http\RequestInterface;

$data = Api::instance()->call(
  '/' . <PIXEL_ID> . '/da_checks',
  RequestInterface::METHOD_GET,
  array(
    'checks' => array(
      'pixel_decline',
      'pixel_missing_dpa_event',
      'pixel_missing_param_in_events',
      ),
  ))->getContent();
curl -G \
  --data-urlencode 'checks=[ 
    "pixel_decline", 
    "pixel_missing_dpa_event", 
    "pixel_missing_param_in_events" 
  ]' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<PIXEL_ID>/da_checks

アプリイベントの場合

アプリによって送信されたイベントに関連した問題がないかを確認するには、次のようにします。

use FacebookAds\Api;
use FacebookAds\Http\RequestInterface;

$data = Api::instance()->call(
  '/' . <APP_ID> . '/da_checks',
  RequestInterface::METHOD_GET)->getContent();
curl -G \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<APP_ID>/da_checks

回答の例:

{
  "data": [
    {
      "description": "App hasn't sent some or any events for dynamic ads (ex: ViewContent, AddToCart, Purchase)...",
      "key": "app_missing_dpa_event",
      "result": "failed",
      "title": "App is not sending DPA events"
    },
    {
      "description": "App events might be missing parameters some or all of the time.",
      "key": "app_missing_param_in_events",
      "result": "passed",
      "title": "App missing parameter in DPA events"
    }
  ]
}
チェック 説明

app_missing_dpa_event

ダイナミック広告で定義されているように、このアプリに不足しているイベントがないかどうかをチェックします。

app_missing_param_in_events

ダイナミック広告で定義されているように、必須のパラメーターが不足しているイベントがないかどうかをチェックします。

詳しくは、アプリDAのチェックのリファレンスをご覧ください。

resultフィールドの可能な値:

ステータス 説明

合格

アプリはこのチェックに合格しました。

不合格

アプリはこのチェックに合格しませんでした。

利用不可

このチェックは、このアプリに対して現在使用できません。後でもう一度お試しください。

特定のチェックに対して、値をリクエストできます。デフォルトですべてが返されますが、実行するチェックを指定する場合は、次のようなリクエストで渡します。

use FacebookAds\Api;
use FacebookAds\Http\RequestInterface;

$data = Api::instance()->call(
  '/' . <APP_ID> . '/da_checks',
  RequestInterface::METHOD_GET,
  array(
    'checks' => array('app_missing_dpa_event', 'app_missing_param_in_events'),
  ))->getContent();
curl -G \
  -d 'checks=["app_missing_dpa_event","app_missing_param_in_events"]' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<APP_ID>/da_checks