Rastreamento de conversão

É possível usar o Pixel da Meta para rastrear as ações dos visitantes do seu site. As conversões rastreadas aparecem no Gerenciador de Anúncios do Facebook e no Gerenciador de Eventos do Facebook e podem ser usadas para analisar a eficiência do funil de conversão, bem como calcular o retorno sobre o investimento em anúncios. Use-as também para definir Públicos Personalizados para otimização de anúncios e campanhas de Anúncios de Catálogo Advantage+. Depois de definir os Públicos Personalizados, podemos usá-los para identificar outros usuários do Facebook propensos à conversão e direcioná-los com os seus anúncios.

Há três maneiras de rastrear conversões com o Pixel:

  • Eventos-padrão: ações de visitantes predefinidas que você relata ao chamar uma função de Pixel
  • Eventos personalizados: ações de visitantes que você definiu e relata ao chamar uma função de Pixel
  • Conversões personalizadas: ações de visitantes que são rastreadas automaticamente por meio da análise das URLs do referenciador do seu site

Requisitos

O código de base do Pixel já deve estar instalado nas páginas em que você quer rastrear as conversões.

Eventos padrão

Os eventos-padrão são ações predefinidas de visitantes que correspondem a atividades comuns relacionadas a conversões, como pesquisar, visualizar ou comprar um produto. Os eventos-padrão aceitam parâmetros, permitindo que você inclua um objeto que contém informações adicionais sobre um evento, como identificações de produtos, categorias e o número de itens comprados.

Para ver uma lista completa de Eventos padrão, acesse a referência de eventos padrão de pixel. Saiba mais sobre rastreamento de conversão e eventos padrão com o Blueprint.

Como rastrear eventos padrão

Todos os eventos-padrão são rastreados por meio da chamada à função fbq('track') do Pixel, com o nome do evento e, opcionalmente, um objeto JSON como parâmetros. Por exemplo, esta é a chamada a uma função para rastrear quando um visitante concluir um evento de compra com a moeda e o valor incluídos como um parâmetro:

fbq('track', 'Purchase', {currency: "USD", value: 30.00});

Se você chamar essa função, ela será rastreada como um evento de compra no Gerenciador de Eventos:

Você pode chamar a função fbq('track') em qualquer lugar entre as tags <body> de abertura e fechamento da sua página da web, quando a página é carregada ou quando um visitante conclui uma ação, como clicar em um botão.

Por exemplo, se você quiser rastrear um evento de compra padrão depois que um visitante conclui a compra, poderá chamar a função fbq('track') na página de confirmação de compra desta maneira:

<body>
  ...
  <script>
    fbq('track', 'Purchase', {currency: "USD", value: 30.00});
  </script>
  ...
</body>

No entanto, se você quiser rastrear um evento de compra padrão quando o visitante clica em um botão de compra, poderá associar a chamada à função fbq('track') com o botão de compra na sua página de finalização da compra desta maneira:

<button id="addToCartButton">Purchase</button>
<script type="text/javascript">
  $('#addToCartButton').click(function() {
    fbq('track', 'Purchase', {currency: "USD", value: 30.00});
  });
</script>

O exemplo anterior usa a jQuery para acionar a chamada à função, mas você pode acionar a chamada usando qualquer método que quiser.

Eventos personalizados

Se os eventos-padrão predefinidos não atenderem às suas necessidades, será possível rastrear os próprios eventos personalizados, que também podem ser usados para definir públicos personalizados para otimização de anúncios. Além disso, os eventos personalizados são compatíveis com parâmetros, que podem ser incluídos para fornecer informações adicionais sobre cada evento.

Saiba mais sobre rastreamento de conversão e eventos personalizados com o Blueprint.

Como rastrear eventos personalizados

Você pode rastrear eventos personalizados por meio da chamada à função fbq('trackCustom') do Pixel, com o nome do evento personalizado e, opcionalmente, um objeto JSON como parâmetros. Assim como os eventos-padrão, é possível chamar a função fbq('trackCustom') em qualquer lugar entre as tags <body> de abertura e fechamento da sua página da web, quando a página é carregada ou quando um visitante conclui uma ação, como clicar em um botão.

Por exemplo, vamos supor que você queira rastrear os visitantes que compartilham uma promoção para obter um desconto. Você pode rastreá-los usando um evento personalizado desta maneira:

fbq('trackCustom', 'ShareDiscount', {promotion: 'share_discount_10%'});

Os nomes de eventos personalizados devem ser strings e não podem exceder 50 caracteres.

Conversões personalizadas

Sempre que o Pixel é carregado, ele chama automaticamente fbq('track', 'PageView') para rastrear um evento-padrão PageView. Os eventos-padrão PageView registram a URL do referenciador da página que acionou a chamada à função. Você pode usar essas URLs registradas no Gerenciador de Eventos para definir as ações dos visitantes que devem ser rastreadas.

Por exemplo, vamos supor que você direcione visitantes que se cadastram na sua lista de correspondência para uma página de agradecimento. Você pode configurar uma conversão personalizada para rastrear os visitantes do site que visualizaram qualquer página com /thank-you na URL. Caso a sua página de agradecimento seja a única com /thank-you na URL, e o Pixel já esteja instalado nessa página, qualquer pessoa que visualizá-la será rastreada usando a conversão personalizada.

Quando forem rastreadas, as conversões personalizadas poderão ser usadas para otimizar suas campanhas de anúncios, definir públicos personalizados e refinar ainda mais os públicos que dependem de eventos padrão ou personalizados. Saiba mais sobre conversões personalizadas com o Blueprint.

Como as conversões personalizadas dependem de URLs completos ou parciais, você deve garantir que pode definir as ações dos visitantes exclusivamente com base em strings únicas nos URLs do seu site.

Como criar conversões personalizadas

As conversões personalizadas são criadas totalmente dentro do Gerenciador de Eventos. Consulte nosso documento da Central de Ajuda para o Anunciante para saber mais.

Conversões personalizadas com base em regras

Otimize para ações e rastreie as conversões sem adicionar nada ao código de base do Pixel da Meta. Você pode fazer isso além dos 17 eventos-padrão.

  1. Crie uma conversão personalizada em /{AD_ACCOUNT_ID}/customconversions.
  2. Especifique uma URL, ou uma URL parcial, que represente um evento em pixel_rule. Por exemplo, thankyou.html é uma página exibida após a compra.

É registrada uma conversão de PURCHASE quando 'thankyou.html' é exibido:

use FacebookAds\Object\CustomConversion;
use FacebookAds\Object\Fields\CustomConversionFields;

$custom_conversion = new CustomConversion(null, 'act_<AD_ACCOUNT_ID>');
$custom_conversion->setData(array(
  CustomConversionFields::NAME => 'Example Custom conversion',
  CustomConversionFields::PIXEL_ID => <PIXEL_ID>,
  CustomConversionFields::PIXEL_RULE => array(
    'url' => array('i_contains' => 'thank-you.html'),
  ),
  CustomConversionFields::CUSTOM_EVENT_TYPE => 'PURCHASE',
));
$custom_conversion->create();
from facebookads.adobjects.customconversion import CustomConversion

    custom_conversion = CustomConversion(parent_id='act_<AD_ACCOUNT_ID>')
    custom_conversion.update({
        CustomConversion.Field.name: 'Example Custom Conversion',
        CustomConversion.Field.pixel_id: <PIXEL_ID>,
        CustomConversion.Field.pixel_rule: {
            'url': {'i_contains': 'thankyou.html'},
        },
        CustomConversion.Field.custom_event_type: 'PURCHASE',
    })

    custom_conversion.remote_create()
curl \
  -F 'name=Example Custom conversion' \
  -F 'pixel_id=<PIXEL_ID>' \
  -F 'pixel_rule={"url":{"i_contains":"thank-you.html"}}' \
  -F 'custom_event_type=PURCHASE' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.8/act_<AD_ACCOUNT_ID>/customconversions

Depois disso, você pode criar a campanha usando o objetivo CONVERSIONS.

No nível do conjunto de anúncios, especifique a mesma conversão personalizada (pixel_id, pixel_rule, custom_event_type) no promoted_object.

Insights sobre conversões personalizadas

Os Insights sobre Anúncios retornam informações sobre conversões personalizadas:

curl -i -G \
-d 'fields=actions,action_values' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.7/<AD_ID>/insights

Retorna conversões personalizadas e padrão:

{
  "data": [
    {
      "actions": [
        {
          "action_type": "offsite_conversion.custom.17067367629523",
          "value": 1225
        },
        {
          "action_type": "offsite_conversion.fb_pixel_purchase",
          "value": 205
        }
      ],
      "action_values": [
        {
          "action_type": "offsite_conversion.custom.1706736762929507",
          "value": 29390.89
        },
        {
          "action_type": "offsite_conversion.fb_pixel_purchase",
          "value": 29390.89
        }
      ],
      "date_start": "2016-07-28",
      "date_stop": "2016-08-26"
    }
  ],
  "paging": {
    "cursors": {
      "before": "MAZDZD",
      "after": "MjQZD"
    },
    "next": "https://graph.facebook.com/v2.7/<AD_ID>/insights?access_token=<ACCESS_TOKEN>&amp;pretty=0&amp;fields=actions%2Caction_values&amp;date_preset=last_30_days&amp;level=adset&amp;limit=25&amp;after=MjQZD"
  }
}

As conversões personalizadas têm IDs únicos. Faça uma consulta por uma conversão específica, por exemplo, baseada em regras:

curl -i -G \
-d 'fields=name,pixel,pixel_aggregation_rule' \
-d 'access_token=ACCESS-TOKEN' \
https://graph.facebook.com/v2.7/<CUSTOM_CONVERSION_ID>

Limitações da conversão personalizada

O número máximo de conversões personalizadas por conta de anúncios é 100. Se você usar a API de Insights sobre Anúncios para obter as métricas das conversões personalizadas:

  • Não há compatibilidade com o detalhamento de IDs de produto.
  • Não há compatibilidade com contagens de ações únicas.

Rastrear conversões fora do site

Rastreie conversões fora do site com os seus Pixels. Para fazer isso, inclua o campo fb_pixel no parâmetro tracking_spec do anúncio. Saiba mais.

use FacebookAds\Object\Ad;
use FacebookAds\Object\Fields\AdFields;

$ad = new Ad(null, 'act_<AD_ACCOUNT_ID>');
$ad->setData(array(
  AdFields::ADSET_ID => <AD_SET_ID>,
  AdFields::CREATIVE => array(
    'creative_id' => <CREATIVE_ID>,
  ),
  AdFields::NAME => 'Offsite Conversions Ad',
  AdFields::TRACKING_SPECS => array(array(
    'action.type' => 'offsite_conversion',
    'fb_pixel' => <PIXEL_ID>,
  )),
));

$ad->create();
from facebookads.adobjects.ad import Ad

ad = Ad(parent_id='act_<AD_ACCOUNT_ID>')
ad.update({
    Ad.Field.adset_id: <AD_SET_ID>,
    Ad.Field.name: 'Offsite Conversions Ad',
    Ad.Field.creative: {
        'creative_id': <CREATIVE_ID>,
    },
    Ad.Field.tracking_specs: [
        {
            'action.type': 'offsite_conversion',
            'fb_pixel': <PIXEL_ID>,
        },
    ],
})
ad.remote_create(params={
    'status': Ad.Status.paused,
})
Ad ad = new AdAccount(act_<AD_ACCOUNT_ID>, context).createAd()
  .setAdsetId(<AD_SET_ID>)
  .setCreative(
    new AdCreative()
      .setFieldId(<CREATIVE_ID>)
  )
  .setName("Offsite Conversions Ad")
  .setTrackingSpecs("{\"action.type\":\"offsite_conversion\",\"fb_pixel\":\"" + <PIXEL_ID> + "\"}")
  .execute();
String ad_id = ad.getId();
curl \
  -F 'adset_id=<AD_SET_ID>' \
  -F 'creative={"creative_id":"<CREATIVE_ID>"}' \
  -F 'name=Offsite Conversions Ad' \
  -F 'tracking_specs=[{"action.type":"offsite_conversion","fb_pixel":"<PIXEL_ID>"}]' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/ads

Parâmetros

Os parâmetros são opcionais, objetos formatados por JSON que podem ser incluídos durante o rastreamento de eventos personalizados e padrão. Eles permitem que você forneça informações adicionais sobre as ações dos visitantes do seu site. Quando rastreados, os parâmetros podem ser usados para definir ainda mais todos os públicos personalizados que foram criados por você. Saiba mais sobre parâmetros com o Blueprint.

Para incluir um objeto de parâmetro com um evento padrão ou personalizado, formate seus dados de parâmetro como objetos usando JSON. Depois, inclua-os como o terceiro parâmetro ao chamar as funções fbq('track') ou fbq('trackCustom').

Por exemplo, vamos supor que você queira rastrear um visitante que comprou vários produtos devido à sua promoção. Você pode fazer isto:

fbq('track', 'Purchase',
  // begin parameter object data
  {
    value: 115.00,
    currency: 'USD',
    contents: [
      {
        id: '301',
        quantity: 1
      },
      {
        id: '401',
        quantity: 2
      }],
    content_type: 'product'
  }
  // end parameter object data
);

Se você quiser usar os dados incluídos nos parâmetros de eventos ao definir públicos personalizados, os valores de chave não deverão conter espaços.

Propriedades do objeto

Você pode incluir as seguintes propriedades de objetos predefinidas com eventos personalizados e todos os eventos-padrão compatíveis. Formate os dados de objeto de parâmetro usando JSON.

Chave da propriedadeTipo de valorDescrição do parâmetro

content_category

string

Categoria da página ou do produto.

content_ids

matriz de inteiros ou strings

Identificações de produtos associados ao evento, como SKUs. Exemplo: ['ABC123', 'XYZ789'].

content_name

string

Nome da página ou do produto.

content_type

string

Pode ser product ou product_group com base em content_ids ou contents enviados. Se as identificações enviadas nos parâmetros content_ids ou contents forem de produtos, o valor deverá ser product. No caso do envio de identificações de grupos de produtos, o valor deverá ser product_group.

contents

matriz de objetos

Uma matriz de objetos JSON que contém o EAN (International Article Number), quando aplicável, ou outro produto ou identificadores de conteúdo associados ao evento, bem como quantidades e preços dos produtos. Obrigatório: id e quantity.

Exemplo: [{'id': 'ABC123', 'quantity': 2}, {'id': 'XYZ789', 'quantity': 2}]

currency

string

Moeda para o value especificado.

delivery_category

string

Categoria da entrega. Valores compatíveis:

  • in_store – a compra exige que o cliente entre na loja.
  • curbside – a compra exige a retirada externa.
  • home_delivery – a compra é entregue ao cliente.

num_items

número inteiro

O número de itens quando a finalização da compra foi iniciada. Usado com o evento InitiateCheckout.

predicted_ltv

número inteiro, float

O valor vitalício previsto de um usuário cadastrado conforme definido pelo anunciante e expresso como um valor exato.

search_string

string

A string inserida pelo usuário para a pesquisa. Usado com o evento Search.

status

booleano

Usado com o evento CompleteRegistration para mostrar o status do registro.

value

número inteiro ou float

Obrigatório para eventos de compra ou quaisquer eventos que utilizem otimização de valor. Um valor numérico associado ao evento. Precisa representar um valor monetário.

Propriedades personalizadas

Se nossas propriedades predefinidas de objetos não atenderem às suas necessidades, você poderá incluir as próprias propriedades personalizadas. As propriedades personalizadas podem ser usadas com eventos personalizados e padrão e podem ajudar você a definir ainda mais os públicos personalizados.

Por exemplo, vamos supor que você queira rastrear um visitante que comprou vários produtos depois de ter feito primeiro uma comparação com outros produtos. Você pode fazer isto:

fbq('track', 'Purchase',
  // begin parameter object data
  {
    value: 115.00,
    currency: 'USD',
    contents: [
      {
        id: '301',
        quantity: 1
      },
      {
        id: '401',
        quantity: 2
      }],
    content_type: 'product',
    compared_product: 'recommended-banner-shoes',  // custom property
    delivery_category: 'in_store'
  }
  // end parameter object data
);

Próximas etapas

Agora que você está rastreando conversões, recomendamos que elas sejam usadas para definir públicos personalizados. Assim, será possível otimizar os seus anúncios para conversões do site.

Saiba mais

  • Saiba mais sobre rastreamento de conversão com o Blueprint.