جودة الإشارات والكتالوج

نوفر خيارين للحصول على الملاحظات حول جودة أصول إعلانات كتالوج Advantage+‎ المختلفة وأدائها:

ملاحظات حول أحداث التطبيق والبيكسل للكتالوجات

لتحديد المشاكل المتعلقة بتثبيت التطبيق أو البيكسل لديك، يمكنك التحقق من الإحصاءات المجمّعة حول الأحداث المطابقة وغير المطابقة التي يتم تلقيها من أجهزة وتطبيقات ووحدات بيكسل مختلفة.

يمكنك الاستعلام عن واجهة 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

يمثل العدد الإجمالي لمعرفات المحتوى من الأحداث المستلمة المطابقة لعنصر ما في كتالوج منتجات آخر مرتبط بالتطبيق أو البيكسل المحدد. ولا يتم إلغاء تكرار هذا العدد على مستوى معرفات المحتوى.

total_unmatched_content_ids

يمثل العدد الإجمالي لمعرفات المحتوى من الأحداث التي يتم تلقيها التي لا تطابق عنصرًا في كتالوج المنتجات. ولا يتم إلغاء تكرار هذا العدد على مستوى معرفات المحتوى.

unique_matched_content_ids

يمثل عدد معرفات المحتوى الفريدة من الأحداث المستلمة المطابقة لعنصر في كتالوج المنتجات.

unique_content_ids_matched_other_catalogs

يمثل عدد معرفات المحتوى الفريدة من الأحداث المستلمة التي تطابق عنصر ما في كتالوج منتجات آخر مرتبط بالتطبيق أو البيكسل المحدد الذي قام بتشغيل الحدث.

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

ويؤدي ذلك إلى إرجاع نتائج مجمّعة حسب الجهاز الذي حدثت عليه. على سبيل المثال desktop وmobile_iphone وmobile_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
    },
    ...
  ]
}

ملاحظات حول أحداث التطبيق والبيكسل

مثال—استخدام عمليات التحقق للسماح لك بالتحقق مما إذا كانت هناك أي مشاكل في الأحداث المرسلة من البيكسل.

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

يتحقق مما إذا كان هناك أحداث ذات معلمات إلزامية مفقودة، كما هو موضح في الإعلانات الديناميكية.

للحصول على المزيد من التفاصيل، راجع عمليات التحقق من الإعلانات الديناميكية للتطبيق، المرجع.

القيم المحتملة التي يتم إرجاعها إلى 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