Anúncios de voo – Catálogo e feed

Para promover o seu inventário de voos no Facebook, compartilhe informações sobre seus voos com o Facebook. Para isso, crie um catálogo de voos e preencha-o com rotas de voo. Há três formas de preencher o catálogo e mantê-lo atualizado.

  1. Carregue os arquivos CSV ou XML dos "feeds de voos" com o inventário de voo.
  2. Use a atividade de evento para preencher automaticamente o catálogo.
  3. Combine o feed de voo com voos gerados automaticamente.

Crie e gerencie os seus catálogos de voos no Gerenciador de Comércio:

  1. Crie um catálogo de voos.
  2. Carregue o seu feed no Facebook.
  3. Crie conjuntos de produtos a partir do catálogo de voos.
  4. Associe o catálogo às origens de evento.

Feed de voos – Como carregar os seus voos no Facebook

Um feed de voos é um arquivo com o seu inventário de voos. Cada linha ou item no arquivo representa uma única rota. Você pode usar um ou mais feeds de voos, contanto que todos os feeds reunidos contenham o seu inventário de voos completo.

Formatos de feed de voos compatíveis

CSV > Exemplo – Descrição

Exemplo de CSV | Exemplo de TSV (simples)

  • A primeira linha deve listar os nomes de campos escolhidos na ordem dos valores dados. As linhas seguintes fornecem os valores correspondentes para cada voo.
  • Os campos com espaços em branco ou vírgulas devem ficar entre "aspas duplas".
  • Os campos aninhados ou com diversos valores, como image, podem ser representados por valores JSON codificados ou por um conjunto de colunas simples, com texto sem formatação, rotuladas com a sintaxe de caminho JSON, como image[0].url, image[0].tag[0], image[0].tag[1]. As duas convenções podem ser usadas alternadamente no mesmo arquivo.

XML > Exemplo – Descrição

Exemplo de XML

  • Um nó de XML <listings> raiz inclui um conjunto de nós <listing>, cada um representando um voo.
  • O arquivo deve iniciar por uma tag de declaração <?xml válida.

O analisador de feed detecta automaticamente codificações de texto UTF8, UTF16 ou UTF32 e adota LATIN1 como padrão caso encontre sequências de byte inesperadas. É possível fornecer texto nos valores de campo em qualquer idioma, mas os nomes de campo devem ser fornecidos exatamente como mostrado abaixo, em inglês.

Campos compatíveis – Anúncios de voo

Os campos compatíveis a seguir foram desenvolvidos para itens que você adiciona ao seu catálogo de produtos.

Para catálogos localizados, veja campos compatíveis para anúncios de voos.

Campo e tipoDescrição

origin_airport

tipo: string

Obrigatório.

Código IATA da origem. Compatível com o código IATA do aeroporto e da cidade. Use a pesquisa da IATA para validar esses códigos. Dica: para aumentar o desempenho, evite usar um espaço nesse campo de identificador único.

Exemplo: SFO

destination_airport

tipo: string

Obrigatório.

Código IATA do destino. Compatível com o código IATA do aeroporto e da cidade. Use a pesquisa da IATA para validar esses códigos. Dica: para aumentar o desempenho, evite usar um espaço nesse campo de identificador único.

Exemplo: JFK

image

tipo: objeto

Obrigatório.

Máximo de itens: 20

Dados da imagem do voo. Você pode enviar até 20 imagens para o voo. Cada imagem contém dois campos: url e tag. Você pode ter várias tags associadas a uma imagem. É necessário fornecer pelo menos uma image. Cada imagem pode ter até 4 MB.

Consulte Parâmetros do objeto Image.

description

tipo: string

Obrigatório.

Tamanho máximo: 5.000

Um parágrafo curto descrevendo a rota.

url

tipo: string

Obrigatório somente se você não especificar um deep link no nível do anúncio. Use o campo Deep Link no Gerenciador de Anúncios ou template_url_spec na API.

Link do site externo onde é possível visualizar o voo. Se um deep link for especificado no nível do anúncio, ele terá precedência.

origin_city

tipo: string

Nome da cidade de origem.

Exemplo: San Francisco

destination_city

tipo: string

O nome da cidade de destino.

Exemplo: New York

price

tipo: string

Preço do voo. Você deve definir o valor com a moeda.

Exemplo: 99.99 USD

applink

tipo: elemento

Deep link que encaminha diretamente para a página de detalhes do voo no seu app para celular usando App Links. Você pode especificar deep links (em ordem de prioridade, da mais alta para a mais baixa):

  1. no nível do anúncio, usando template_url_spec;
  2. aqui no feed, usando um objeto Applink;
  3. ao adicionar metatags de App Link ao seu site.

one_way_price

tipo: string

Preço do voo de ida. Você deve definir o valor com a moeda.

Exemplo: 99.99 USD

priority

tipo: número inteiro

Prioridade do voo. Valor entre 0 (prioridade mais baixa) e 5 (prioridade mais alta). Um voo sem esse valor terá prioridade = 0.

Exemplo: 5

status

tipo: string

Controla se um item está ativo ou foi arquivado no seu catálogo. Apenas itens ativos podem ser vistos por pessoas nos seus anúncios, lojas ou outros canais. Valores compatíveis: active, archived. Os itens estão ativos por padrão. Saiba mais sobre como arquivar itens.


Exemplo: active


Observação: algumas plataformas parceiras como a Shopify podem sincronizar itens ao seu catálogo com um status chamado staging. Ele se comporta da mesma forma que archived.

Esse campo era chamado anteriormente de visibility. Apesar da compatibilidade com o antigo nome desse campo, recomendamos que você use o novo nome.

Parâmetros do objeto Image

Nome e tipo de campoDescrição

url

tipo: string

Obrigatório.

A URL da imagem do voo. Siga estas especificações de imagem:

  • Todas as imagens precisam estar em formato JPG, GIF ou PNG.

  • Para anúncios em carrossel e em coleções: as imagens são exibidas no formato quadrado (1:1). O tamanho mínimo da imagem é 500 x 500 px. Recomendamos 1.024 x 1.024 px para garantir melhor qualidade.

  • Para anúncios de imagem única: a imagem é exibida na taxa de proporção 1.91:1. O tamanho mínimo da imagem é 500 x 500 px. Recomendamos 1.200 x 628 px para garantir melhor qualidade.

tag

tipo: string

Uma string que representa o que está na imagem. É possível associar diversas marcações a uma imagem.

Exemplos:

  • Fitness Center
  • Swimming Pool

Opcional. INSTAGRAM_STANDARD_PREFERRED: permite que os anunciantes marquem uma imagem específica no próprio feed como a imagem-padrão a ser usada no Instagram. A tag diferencia letras maiúsculas de minúsculas.

Se você tiver aplicativos separados para iPhone e iPad, insira informações específicas do iPhone e iPad. Caso contrário, especifique somente informações do iOS.

Nome e tipo de campoDescrição

ios_url

tipo: cadeia de caracteres

Um esquema personalizado para o aplicativo iOS.

Exemplo: example-ios://electronic

ios_app_store_id

tipo: cadeia de caracteres

O ID do aplicativo da App Store.

Exemplo: 1234

ios_app_name

tipo: cadeia de caracteres

O nome do aplicativo (adequado para exibição).

Exemplo: Electronic Example iOS

iphone_url

tipo: cadeia de caracteres

Um esquema personalizado para o aplicativo do iPhone.

Exemplo: example-iphone://electronic

iphone_app_store_id

tipo: cadeia de caracteres

O ID do aplicativo da App Store.

Exemplo: 5678

iphone_app_name

tipo: cadeia de caracteres

O nome do aplicativo (adequado para exibição).

Exemplo: Electronic Example iPhone

ipad_url

tipo: cadeia de caracteres

Um esquema personalizado para o aplicativo do iPhone.

Exemplo: example-ipad://electronic

ipad_app_store_id

tipo: cadeia de caracteres

O ID do aplicativo da App Store.

Exemplo: 9010

ipad_app_name

tipo: cadeia de caracteres

O nome do aplicativo (adequado para exibição).

Exemplo: Electronic Example iPad

android_url

tipo: cadeia de caracteres

Um esquema personalizado para o aplicativo do Android.

Exemplo: example-android://electronic

android_package

tipo: cadeia de caracteres

Um nome de pacote totalmente qualificado para geração de intenção.

Exemplo: com.electronic

android_class

tipo: cadeia de caracteres

Um nome de classe de atividade totalmente qualificado para geração de intenção.

Exemplo: com.electronic.Example

android_app_name

tipo: cadeia de caracteres

O nome do aplicativo (adequado para exibição).

Exemplo: Electronic Example Android

Deep links de produtos

Forneça deep links no feed seguindo a especificação de App Links. As informações de deep link no feed têm prioridade sobre as que o Facebook coleta com metadados de App Links no nosso rastreador da web.

Não será necessário especificar esses dados se você já tiver informações de deep link do App Links. O Facebook usa as informações do App Links para exibir o deep link certo. Para exibir deep links nos seus anúncios, consulte a documentação sobre os modelos de Anúncios de Catálogo Advantage+.

Gerar voos automaticamente – Adicionar rotas ao catálogo de modo automático usando atividades de evento

O Facebook pode adicionar rotas automaticamente ao seu catálogo com base no pixel e nas atividades de evento do app. Toda vez que um evento for recebido com uma rota que ainda não exista no catálogo, ela poderá ser adicionada automaticamente. Dessa forma, você pode usar anúncios para todos os seus voos sem precisar lidar com feeds de voos.

Para possibilitar isso, faça uma solicitação POST para o seu catálogo de voos e defina generate_items_from_events como true.

curl \
  -F 'flight_catalog_settings={generate_items_from_events:1}' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<VERSION>/<CATALOG_ID>

As rotas adicionadas automaticamente não têm uma imagem (para exibição no anúncio). Por isso, você deve fornecer uma imagem genérica para usar em todas as rotas geradas de modo automático.

curl \
  -F 'fallback_image_url=http://example.com/some.image_1.jpg' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<VERSION>/<CATALOG_ID>

Assim que for associado a um pixel e/ou app e estiver recebendo eventos de anúncios de voos, o seu catálogo será preenchido. Para verificar isso, faça uma consulta no catálogo.

curl \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/<VERSION>/<CATALOG_ID>/flights

Combinados – Usar feeds de voos com voos gerados automaticamente

É possível combinar o envio de um feed de voos com rotas geradas automaticamente. A combinação dessas opções permite utilizar anúncios para todos os seus voos, além de fornecer imagens personalizadas para as rotas mais importantes usando um feed de voos.

Para isso, basta combinar as etapas de carregamento do feed de voos e de preenchimento automático do catálogo.

As seções a seguir são relevantes somente se você deseja gerenciar catálogos usando esta API.

Criar um catálogo de voos usando a API

Documentos de referência

Um catálogo de voos é um contêiner para o seu inventário de voos. Para usar a API de catálogo, verifique se você tem o nível de acesso à API de Marketing adequado e se aceitou os Termos de Serviço ao criar o seu primeiro catálogo por meio do Gerenciador de Negócios.

Para criar um catálogo de voo para anúncios, defina vertical como flights:

curl -X POST \
  -F 'name="Test Flight Catalog"' \
  -F 'vertical="flights"' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v10.0/{business-id}/owned_product_catalogs

Carregar os feeds de voos pela API

Depois de criar o catálogo, é necessário carregar os seus feeds de voos no Facebook. Use a API para criar um objeto de feed para todo feed que você queira carregar. Oferecemos compatibilidade com carregamentos agendados e diretos.

Filtrar catálogo de voos para obter conjuntos de voos

Um conjunto de voos é um subconjunto do seu catálogo. Para configurar anúncios de voos, é necessário criar pelo menos um conjunto de voos.

Os conjuntos de voos são definidos por filtros aplicados ao catálogo de voos. Por exemplo, você pode criar um conjunto de voos com todas as rotas que partem de Londres. Também é possível criar um conjunto de voos sem nenhum filtro. Nesse caso, o conjunto de voos conterá todos os voos do seu catálogo.

use FacebookAds\Object\ProductSet;
use FacebookAds\Object\Fields\ProductSetFields;

$flight_set = new ProductSet(null, <PRODUCT_CATALOG_ID>);

$flight_set->setData(array(
  ProductSetFields::NAME => 'Test Flight Set',
  ProductSetFields::FILTER => array(
    'origin_airport' => array(
      'eq' => 'LHR',
    ),
  ),
));

$flight_set->create();
from facebookads.adobjects.productset import ProductSet

flight_set = ProductSet(None, <PRODUCT_CATALOG_ID>)

flight_set[ProductSet.Field.name] = 'Test Flights Set'
flight_set[ProductSet.Field.filter] = {
    'origin_airport': {
        'eq': 'SFO',
    },
}

flight_set.remote_create()
curl \
  -F 'name=Test Flight Set' \
  -F 'filter={"origin_airport":{"eq":"LHR"}}' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<PRODUCT_CATALOG_ID>/product_sets

O parâmetro filter é composto pelos seguintes operadores e dados:

OperadoresTipo de filtro

i_contains

Contém substring. O operador não diferencia letras maiúsculas de minúsculas.

i_not_contains

Não contém substring. O operador não diferencia letras maiúsculas de minúsculas.

contains

Contém substring. O operador não diferencia letras maiúsculas de minúsculas.

not_contains

Não contém substring. O operador não diferencia letras maiúsculas de minúsculas.

eq

Igual a. O operador não diferencia letras maiúsculas de minúsculas.

neq

Não é igual a. O operador não diferencia letras maiúsculas de minúsculas.

lt

Menor que. Somente para campos numéricos.

lte

Menor ou igual a. Somente para campos numéricos.

gt

Maior que. Somente para campos numéricos.

gte

Maior ou igual a. Somente para campos numéricos.

DadosOs dados que estão sendo filtrados

origin_airport

Código IATA da origem.

destination_airport

Código IATA do destino.

price

Preço do voo. O preço é definido em centavos.

description

Um parágrafo curto descrevendo a rota.