Calidad del catálogo y las señales

Ofrecemos dos opciones para obtener comentarios sobre la calidad y el rendimiento de los distintos activos de los anuncios del catálogo Advantage+:

Comentarios sobre los eventos de la aplicación y el píxel para catálogos

Para identificar problemas con la instalación de la aplicación o del píxel, puedes comprobar las estadísticas totales sobre los eventos con coincidencias o sin ellas recibidos de diferentes aplicaciones, píxeles y dispositivos.

Consulta la API del evento para obtener estadísticas sobre los eventos que surjan a partir de orígenes de eventos vinculados a tu catálogo. Para obtener más información, consulta la API de eventos, Referencia.

Estadísticas de eventos

Puedes obtener esta información en el nivel del catálogo:

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

Esto devuelve una matriz de elementos, por tipo de evento, origen y fecha en el último mes:

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

Los campos devueltos en cada tipo de evento, origen y fecha son los siguientes:

Recuento Descripción

total_matched_content_ids

Cantidad total de identificadores de contenido de los eventos recibidos que coinciden con un artículo del catálogo. Este recuento no se deduplica en los identificadores de contenido.

total_content_ids_matched_other_catalogs

Cantidad total de identificadores de contenido de eventos recibidos que coinciden con un artículo de otro catálogo asociado al píxel o a la aplicación especificados. Este recuento no se deduplica en los identificadores de contenido.

total_unmatched_content_ids

Cantidad total de identificadores de contenido de los eventos recibidos que no coinciden con un artículo del catálogo. Este recuento no se deduplica en los identificadores de contenido.

unique_matched_content_ids

Cantidad de identificadores de contenido únicos de los eventos recibidos que coinciden con un artículo del catálogo.

unique_content_ids_matched_other_catalogs

Cantidad de identificadores de contenido únicos de eventos recibidos que coinciden con un artículo de otro catálogo asociado al píxel o a la aplicación que activó el evento.

unique_unmatched_content_ids

Cantidad de identificadores de contenido únicos de los eventos recibidos que no coinciden con un artículo del catálogo.

Desgloses por tipo de dispositivo

Para desglosar los resultados, pasa el parámetro 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

Esto devuelve resultados agrupados según en qué dispositivo ocurrieron. Por ejemplo, desktop, mobile_iphone, mobile_android_phone y otros:

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

Comentarios sobre los eventos de la aplicación y el píxel

Ejemplo: utiliza comprobaciones para verificar si existen problemas con los eventos enviados por tu píxel.

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

Ejemplo: respuesta

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

Puedes utilizar las comprobaciones siguientes:

Comprobación Descripción

pixel_missing_dpa_event

Comprueba si faltan eventos para este píxel, según se define en los anuncios del catálogo Advantage+.

pixel_missing_param_in_events

Comprueba si existen eventos con parámetros obligatorios ausentes, según se define en los anuncios dinámicos.

pixel_decline

Comprueba si existe una disminución en el número de eventos recibidos para ese píxel en las últimas 24 horas.

Para obtener más detalles, consulta Comprobaciones de anuncios dinámicos del píxel, Referencia.

Valores posibles para el campo result:

Estado Descripción

passed

El píxel aprobó esta comprobación.

failed

El píxel no aprobó esta comprobación.

unavailable

Esta comprobación no está disponible para este píxel actualmente. Vuelve a intentarlo más tarde.

Devolvemos todas las comprobaciones de manera predeterminada, pero puedes especificar las comprobaciones que desees ejecutar de la siguiente manera:

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

Para eventos de la aplicación

Puedes verificar si existen problemas con los eventos enviados por tu aplicación:

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

Ejemplo de respuesta:

{
  "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"
    }
  ]
}
Comprobación Descripción

app_missing_dpa_event

Comprueba si faltan eventos para la aplicación, según se define en los anuncios dinámicos.

app_missing_param_in_events

Comprueba si existen eventos con parámetros obligatorios ausentes, según se define en los anuncios dinámicos.

Para obtener más detalles, consulta Comprobaciones de anuncios dinámicos de aplicaciones, Referencia.

Valores posibles devueltos para result:

Estado Descripción

passed

La aplicación aprobó esta comprobación.

failed

La aplicación no aprobó esta comprobación.

unavailable

Esta comprobación no está disponible para esta aplicación actualmente. Vuelve a intentarlo más tarde.

Puedes solicitar valores para comprobaciones específicas. Devolvemos todas las comprobaciones de manera predeterminada, pero puedes especificar las que desees ejecutar al pasarlas en la solicitud:

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