Qualität des Katalogs und der Signale

Wir bieten zwei Optionen zum Einholen von Feedback zur Qualität und Leistung deiner verschiedenen Advantage+ Catalog Ads-Inhalte:

Feedback zu Pixel- und App-Events für Kataloge

Du kannst zusammengefasste Statistiken über zugeordnete und nicht zugeordnete Events von verschiedenen Pixeln, Apps und Geräten überprüfen, um Probleme mit deinem Pixel oder deiner App-Installation zu erkennen.

Frage die Event API ab, um Statistiken über Events abzurufen, die aus mit deinem Katalog verknüpften Eventquellen stammen. Einzelheiten findest du in der Referenz zur Events API.

Event-Statistiken

Du kannst diese Informationen auf der Katalogebene abrufen:

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: { }, })

Dieser Aufruf gibt ein Array von Elementen zurück (ein Element pro Event-Art, -Quelle und -Datum innerhalb des letzten Monats):

{
  "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
    },
    ...
  ]
}

Folgende Felder werden für jede Event-Art, jede Quelle und jedes Datum zurückgegeben:

Anzahl Beschreibung

total_matched_content_ids

Die Gesamtanzahl der Content-IDs von empfangenen Events, die einem Artikel im Katalog zugeordnet wurden. Bei dieser Anzahl werden Dopplungen zwischen den Content-IDs nicht entfernt.

total_content_ids_matched_other_catalogs

Gesamtanzahl der Content-IDs von empfangenen Events, die einem Artikel in einem anderen mit dem relevanten Pixel/der relevanten App verknüpften Katalog zugeordnet wurden. Bei dieser Anzahl werden Dopplungen zwischen den Content-IDs nicht entfernt.

total_unmatched_content_ids

Gesamtanzahl der Content-IDs von empfangenen Events, die keinem Artikel im Katalog zugeordnet wurden. Bei dieser Anzahl werden Dopplungen zwischen den Content-IDs nicht entfernt.

unique_matched_content_ids

Anzahl der individuellen Content-IDs von empfangenen Events, die einem Artikel im Katalog zugeordnet wurden.

unique_content_ids_matched_other_catalogs

Anzahl der individuellen Content-IDs von empfangenen Events, die einem Artikel in einem anderen Katalog zugeordnet wurden, der mit dem Pixel/der App verknüpft ist, das/die das Event ausgelöst hat.

unique_unmatched_content_ids

Anzahl der individuellen Content-IDs von empfangenen Events, die keinem Artikel im Katalog zugeordnet wurden.

Aufschlüsselungen von Gerätetypen

Durch Übergabe von device_type kannst du die Ergebnisse aufschlüsseln:

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

Dieser Abruf gibt die Ergebnisse gruppiert nach dem Gerät wieder, auf dem sie aufgetreten sind. Beispiel: desktop, mobile_iphone, mobile_android_phone usw.:

{
  "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
    },
    ...
  ]
}

Feedback zu Pixel- und App-Events

Beispiel: Mit Überprüfungen kannst du feststellen, ob bei den Events, die von deinem Pixel gesendet wurden, Fehler aufgetreten sind.

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

Beispiel: Antwort

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

Du kannst die folgenden Überprüfungen verwenden:

Überprüfung Beschreibung

pixel_missing_dpa_event

Überprüft, ob es fehlende Events für dieses Pixel gibt, wie unter Advantage+ Catalog Ads festgelegt.

pixel_missing_param_in_events

Überprüft, ob es Events mit fehlenden obligatorischen Parametern gibt, wie unter Dynamic Ads festgelegt.

pixel_decline

Überprüft, ob es in den letzten 24 Stunden einen Rückgang bei der Anzahl der Events gegeben hat, die für dieses Pixel empfangen wurden.

Einzelheiten findest du in der Referenz zu Überprüfungen für Pixel Dynamic Ads.

Mögliche Werte für das Feld result:

Status Beschreibung

bestanden

Dein Pixel hat diese Überprüfung bestanden.

nicht bestanden

Dein Pixel hat diese Überprüfung nicht bestanden.

nicht verfügbar

Diese Überprüfung ist für dieses Pixel derzeit nicht verfügbar. Versuche es später erneut.

Wir geben standardmäßig Ergebnisse für alle Überprüfungen zurück. Du kannst auf folgende Weise aber auch Überprüfungen festlegen, die du durchführen möchtest:

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

Für App-Events

Du kannst prüfen, ob bei den Events, die von deiner App gesendet wurden, Fehler aufgetreten sind:

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

Beispielantwort:

{
  "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"
    }
  ]
}
Überprüfung Beschreibung

app_missing_dpa_event

Überprüft, ob es fehlende Events für diese App gibt, wie unter Dynamic Ads festgelegt.

app_missing_param_in_events

Überprüft, ob es Events mit fehlenden obligatorischen Parametern gibt, wie unter Dynamic Ads festgelegt.

Weitere Details findest du in der Referenz zu DA-Überprüfungen für Apps.

Mögliche Rückgabewerte für result:

Status Beschreibung

bestanden

Deine App hat diese Überprüfung bestanden.

nicht bestanden

Deine App hat diese Überprüfung nicht bestanden.

nicht verfügbar

Diese Überprüfung ist für diese App derzeit nicht verfügbar. Versuche es später erneut.

Du kannst Werte für bestimmte Überprüfungen anfragen. Wir geben standardmäßig Ergebnisse für alle Überprüfungen zurück. Du kannst aber festlegen, welche Überprüfungen du durchführen möchtest, indem du sie in die Anfrage einfügst:

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