目录和信号质量

我们提供两个选项,用于获取关于不同进阶赋能型目录广告素材在质量和成效方面的反馈:

关于目录的 Pixel 像素代码事件和应用事件的反馈

如需确定 Pixel 像素代码或应用安装的相关问题,您可以检查有关从不同 Pixel 像素代码、应用和设备中接收到的匹配和不匹配事件的汇总统计数据。

对于源自链接到目录的事件源的事件,查询事件 API 以获取相关统计数据。请参阅参考文档 > 事件 API,了解详情。

事件统计数据

您可以在目录级别获取此信息:

curl -X GET \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v19.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: { }, })

这将返回一个元素数组,其中的每个元素对应上个月的事件类型、来源和日期:

{
  "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

内容编号的总数,取自和目录中商品相匹配的已接收事件。此计数并不会剔除整个内容编号内的重复项目。

total_content_ids_matched_other_catalogs

内容编号的总数,取自和其他目录(与给定 Pixel 像素代码或应用相关联)中商品相匹配的已接收事件。此计数并不会剔除重复的内容编号。

total_unmatched_content_ids

内容编号的总数,取自和目录中商品不匹配的已接收事件。此计数并不会剔除重复的内容编号。

unique_matched_content_ids

唯一内容编号的数量,取自和目录中商品相匹配的已接收事件。

unique_content_ids_matched_other_catalogs

唯一内容编号的数量,取自和其他目录(与触发事件的给定 Pixel 像素代码或应用相关联)中商品相匹配的已接收事件。

unique_unmatched_content_ids

唯一内容编号的数量,取自和目录中商品不匹配的已接收事件。

设备类型细分数据

通过传递 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
    },
    ...
  ]
}

关于 Pixel 像素代码事件和应用事件的反馈

示例 — 使用检查来验证是否存在任何与您的 Pixel 像素代码所发送的事件相关的问题。

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

按照进阶赋能型目录广告中的定义,检查此 Pixel 像素代码是否缺少任何事件。

pixel_missing_param_in_events

按照动态广告中的定义,检查是否存在缺少必要参数的事件。

pixel_decline

检查过去 24 小时内针对该 Pixel 像素代码接收的事件数量是否有所下降。

如需了解详细信息,请参阅参考文档 > Pixel 像素代码动态广告检查

result 字段的可用值:

状态 描述

passed

您的 Pixel 像素代码已通过此检查。

failed

您的 Pixel 像素代码未通过此检查。

unavailable

目前无法为此 Pixel 像素代码执行此检查。请稍后再试。

默认情况下,我们将返回所有检查,但是您可以指定要运行的检查,如下所示:

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 返回的可能值:

状态 描述

passed

您的应用已通过此检查。

failed

您的应用未通过此检查。

unavailable

目前不可为此应用执行此检查。请稍后再试。

您可以请求特定检查的值。默认情况下,我们将返回所有检查,但是您可以通过在请求中传递要运行的检查来指定这些检查:

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