Calidad del catálogo y las señales

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

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

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

Consulta la API de eventos para obtener estadísticas sobre los eventos que se originan en orígenes de eventos vinculados a tu catálogo. Consulta la referencia sobre la API de eventos para obtener más información.

Estadísticas de los eventos

Esta información se puede obtener en el nivel del catálogo:

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

Devuelve una matriz de elementos, una 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 para cada tipo de evento, origen y fecha son:

Recuento Descripción

total_matched_content_ids

Número total de identificadores de contenido de los eventos recibidos que coinciden con un artículo del catálogo. No se eliminan los duplicados de este recuento en los identificadores del contenido.

total_content_ids_matched_other_catalogs

Número total de identificadores del contenido de los eventos recibidos que coinciden con un artículo de otro catálogo asociado al píxel o la aplicación proporcionados. No se eliminan los duplicados de este recuento en los identificadores de contenido.

total_unmatched_content_ids

Número total de identificadores del contenido de los eventos recibidos que no coinciden con ningún artículo del catálogo. No se eliminan los duplicados de este recuento en los identificadores de contenido.

unique_matched_content_ids

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

unique_content_ids_matched_other_catalogs

Número de identificadores del contenido únicos de los eventos recibidos que coinciden con un artículo de otro catálogo asociado al píxel o la aplicación proporcionados que han activado el evento.

unique_unmatched_content_ids

Número de identificadores del contenido únicos de los eventos recibidos que no coinciden con ningún artículo del catálogo.

Desgloses de tipo de dispositivo

Para desglosar los resultados, pasa el valor de 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

Los resultados se devuelven agrupados por el dispositivo donde se han producido. Por ejemplo, desktop, mobile_iphone, mobile_android_phone, etc.:

{
  "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 del píxel

Ejemplo: utiliza comprobaciones que te permitan verificar si existe algún problema con los eventos que ha enviado el 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 usar las comprobaciones siguientes:

Comprobación Descripción

pixel_missing_dpa_event

Comprueba si faltan eventos para el píxel, según se define en Anuncios de catálogo de Advantage+.

pixel_missing_param_in_events

Comprueba si hay eventos donde faltan parámetros obligatorios según se define en Anuncios dinámicos.

pixel_decline

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

Para obtener más información, consulta la referencia sobre comprobaciones de anuncios dinámicos del píxel.

Valores posibles para el campo result:

Estado Descripción

passed

El píxel ha superado la comprobación.

failed

El píxel no ha superado la comprobación.

unavailable

La comprobación no está disponible para este píxel en este momento. Vuelve a intentarlo más tarde.

Se devuelven todas las comprobaciones de manera predeterminada, pero puedes elegir las que quieres 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

Eventos de la aplicación

Puedes verificar si existe algún problema con los eventos que ha enviado la 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 Anuncios dinámicos.

app_missing_param_in_events

Comprueba si hay eventos donde faltan parámetros obligatorios según se define en Anuncios dinámicos.

Para obtener más detalles, consulta la referencia sobre las comprobaciones de anuncios dinámicos de la aplicación.

Posibles valores devueltos para result:

Estado Descripción

passed

La aplicación ha superado la comprobación.

failed

La aplicación no ha superado la comprobación.

unavailable

La comprobación no está disponible para esta aplicación en este momento. Vuelve a intentarlo más tarde.

Puedes solicitar valores para comprobaciones específicas. Se devuelven todas de manera predeterminada. No obstante, para especificar las comprobaciones que quieres ejecutar, puedes 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