Qualidade do catálogo e dos sinais

Oferecemos duas opções para obter feedback sobre a qualidade e o desempenho dos seus diferentes ativos de Anúncios de Catálogo Advantage+:

Feedback de Eventos do Pixel e do App para catálogos

Para identificar problemas de instalação do app ou pixel, verifique as estatísticas agregadas relacionadas aos eventos com e sem correspondência recebidos de diferentes pixels, apps e dispositivos.

Consulte a API de Eventos para ver as estatísticas dos eventos provenientes de fontes de eventos vinculados ao seu catálogo. Consulte a referência da API de Eventos para ver mais detalhes.

Estatísticas do evento

Você pode reunir estas informações no nível do 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: { }, })

Esses dados geram uma matriz de elementos, um por cada tipo, origem e data do evento no último mês:

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

Os campos apresentados para cada tipo, origem e data do evento são:

Contagem Descrição

total_matched_content_ids

O número total de IDs de conteúdo dos eventos recebidos que correspondem a um item do catálogo. Essa contagem não elimina as duplicatas entre os IDs de conteúdo.

total_content_ids_matched_other_catalogs

Número total de IDs de conteúdo dos eventos recebidos que correspondem a um item de outro catálogo associado ao pixel ou app específico. Essa contagem não elimina as duplicatas entre os IDs de conteúdo.

total_unmatched_content_ids

Número total de IDs de conteúdo dos eventos recebidos que não correspondem a um item do catálogo. Essa contagem não elimina as duplicatas entre os IDs de conteúdo.

unique_matched_content_ids

Número de IDs únicos de conteúdo dos eventos recebidos que correspondem a um item do catálogo.

unique_content_ids_matched_other_catalogs

Número de IDs únicos de conteúdo dos eventos recebidos que correspondem a um item de outro catálogo associado ao pixel ou app específico que iniciou o evento.

unique_unmatched_content_ids

Número de IDs únicos de conteúdo dos eventos recebidos que não correspondem a um item do catálogo.

Detalhamentos por tipo de dispositivo

Transmita device_type para detalhar os resultados:

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

Esse código apresenta os resultados agrupados por dispositivo no qual ocorreram. Por exemplo, desktop, mobile_iphone, mobile_android_phone, entre outros:

{
  "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 de Eventos do App e de pixel

Exemplo – use verificações para confirmar se há problemas nos eventos enviados pelo seu 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

Exemplo – resposta

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

Você pode usar as seguintes verificações:

Verificação Descrição

pixel_missing_dpa_event

Verifica se há eventos ausentes no pixel, conforme definido nos Anúncios de Catálogo Advantage+.

pixel_missing_param_in_events

Verifica se há eventos com parâmetros obrigatórios ausentes, conforme definido nos anúncios dinâmicos.

pixel_decline

Verifica se existe alguma recusa no número de eventos recebidos para o pixel nas últimas 24 horas.

Para mais detalhes, consulte a referência Verificações de anúncios dinâmicos do pixel.

Confira valores possíveis para o campo result:

Status Descrição

passed

Seu pixel passou nesta verificação.

failed

Seu pixel não passou nesta verificação.

unavailable

A verificação está indisponível para este pixel no momento. Tente novamente mais tarde.

Todas as verificações são retornadas por padrão, mas você pode determinar quais verificações quer executar, desta forma:

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 do App

Você pode verificar se existem problemas nos eventos enviados pelo seu app:

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

Exemplo de resposta:

{
  "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"
    }
  ]
}
Verificação Descrição

app_missing_dpa_event

Verifica se há eventos ausentes no app, conforme definido nos anúncios dinâmicos.

app_missing_param_in_events

Verifica se há eventos com parâmetros obrigatórios ausentes, conforme definido nos anúncios dinâmicos.

Para mais detalhes, consulte a referência Verificações de DA do aplicativo.

Confira valores possíveis de retorno para result:

Status Descrição

passed

Seu app passou nesta verificação.

failed

Seu app não passou nesta verificação.

unavailable

A verificação está indisponível para este app no momento. Tente novamente mais tarde.

Você pode solicitar valores para verificações específicas. Todas são retornadas por padrão, mas você pode determinar quais verificações quer executar aprovando-as na solicitação:

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