Anuncios de vuelos - Catálogo y lista

Para promocionar tu inventario de vuelos en Facebook, debes compartir con Facebook información sobre tus vuelos. Para poder hacerlo, debes crear un catálogo de vuelos y luego completarlo con las rutas de vuelo. Existen tres maneras de completar tu catálogo y mantenerlo actualizado.

  1. Subir archivos CSV o XML para 'listas de vuelos' con el inventario de vuelos
  2. Usar la actividad del evento para completar automáticamente el catálogo
  3. Combinar una lista de vuelos con vuelos generados automáticamente

Puedes crear y administrar tus catálogos de vuelos en el Administrador de catálogos:

  1. Crear un catálogo de vuelos
  2. Subir la lista a Facebook
  3. Crear conjuntos de productos a partir del catálogo de vuelos
  4. Asociar el catálogo con los orígenes de eventos

Lista de vuelos - Sube tus vuelos a Facebook

Una lista de vuelos es un archivo que contiene tu inventario de vuelos. Cada línea o artículo del archivo representa una ruta individual. Puedes usar una o más listas de vuelos, siempre que entre todas contengan tu inventario de vuelos completo.

Formatos de lista de vuelos admitidos

CSV > Ejemplo - Descripción

Ejemplo de CSV | Ejemplo de TSV (aplanado)

  • En la primera fila, debes mencionar los nombres de los campos elegidos en el orden en el que se presentarán los valores. A continuación, en las filas siguientes, proporciona los valores correspondientes de cada vuelo.
  • Los campos que contienen espacios en blanco o comas deben escribirse entre "comillas dobles".
  • Los campos anidados o con varios valores, como image, pueden representarse con valores con código JSON o con un conjunto de columnas de texto sin formato "aplanadas", etiquetadas con sintaxis de ruta JSON, como image[0].url, image[0].tag[0], image[0].tag[1]. Se pueden utilizar ambas convenciones indistintamente en el mismo archivo.

XML > Ejemplo - Descripción

XML de ejemplo

  • Un nodo XML <listings> raíz incluye un conjunto de nodos <listing>, cada uno de los cuales representa un vuelo.
  • El archivo debe comenzar con una etiqueta de declaración <?xml válida.

El analizador de listas detecta automáticamente codificaciones de texto UTF8, UTF16 o UTF32 y adopta de forma predeterminada el valor LATIN1 si encuentra secuencias de bytes imprevistas. Puedes proporcionar texto en valores de campo en cualquier idioma. Sin embargo, los nombres de los campos se deben proporcionar en inglés, exactamente como figura abajo.

Campos admitidos - Anuncios de vuelos

Los siguientes campos disponibles están diseñados para los artículos que agregues a tu catálogo de productos.

Para catálogos localizados, consulta campos admitidos para anuncios de vuelos.

Campo y tipoDescripción

origin_airport

Tipo: cadena

Obligatorio

Código IATA del aeropuerto de origen. Admite códigos IATA de aeropuertos y ciudades. Usa la búsqueda de códigos IATA para validar tus códigos IATA. Consejo: Para mejorar el rendimiento, evita usar un espacio en este campo de identificador único.

Ejemplo: SFO

destination_airport

Tipo: cadena

Obligatorio

Código IATA del aeropuerto de destino. Admite códigos IATA de aeropuertos y ciudades. Usa la búsqueda de códigos IATA para validar tus códigos IATA. Consejo: Para mejorar el rendimiento, evita usar un espacio en este campo de identificador único.

Ejemplo: JFK

image

Tipo: objeto

Obligatorio

Máximo de artículos: 20

Datos de imágenes de este vuelo. Puedes proporcionar hasta 20 imágenes del vuelo. Cada imagen contiene dos campos: url y tag. Puedes asociar varias etiquetas con una imagen. Debes proporcionar al menos un valor de image. Cada imagen puede tener un tamaño máximo de 4 MB.

Consulta los parámetros de objetos de imagen.

description

Tipo: cadena

Obligatorio

Tamaño máximo: 5000

Párrafo breve en el que se describe la ruta.

url

Tipo: cadena

Obligatorio únicamente si no especificas un enlace profundo a nivel del anuncio. Puedes usar el campo Deep Link en el Administrador de anuncios, o template_url_spec en la API).

Enlace al sitio web externo en el que puedes ver el vuelo. Si se especifica un enlace profundo en el nivel del anuncio, ese enlace tendrá prioridad.

origin_city

Tipo: cadena

Nombre de la ciudad de origen.

Ejemplo: San Francisco

destination_city

Tipo: cadena

Nombre de la ciudad de destino.

Ejemplo: New York

price

Tipo: cadena

Precio del vuelo. Debes especificar el valor con una divisa.

Ejemplo: 99.99 USD

applink

Tipo: elemento

Enlace profundo que dirige a la página de detalles del vuelo en tu app para celulares mediante App Links. Puedes especificar enlaces profundos (en orden de prioridad, de mayor a menor):

  1. En el nivel del anuncio, mediante template_url_spec
  2. Aquí en la lista, mediante un objeto de enlace de app
  3. Al agregar metaetiquetas de enlace de app a tu sitio web.

one_way_price

Tipo: cadena

Precio de un tramo del vuelo. Debes especificar el valor con una divisa.

Ejemplo: 99.99 USD

priority

Tipo: entero

Prioridad del vuelo. Valor de 0(prioridad más baja) a 5(prioridad más alta). Un vuelo sin este valor tendrá prioridad=0.

Ejemplo: 5

status

Tipo: cadena

Controla si un artículo está activo o archivado en tu catálogo. Las personas solo pueden ver los artículos activos en tus anuncios, tiendas o cualquier otro canal. Valores admitidos: active, archived. Los artículos aparecen activos de manera predeterminada. Más información sobre archivar artículos.


Ejemplo: 5287


Nota: Algunas plataformas asociadas, como Shopify, pueden sincronizar artículos en tu catálogo con un estado llamado preparación, que se comporta similar a archived.

Anteriormente, este campo se llamaba visibility. Si bien aún admitimos el nombre de campo anterior, te recomendamos que ya uses el nuevo.

Parámetros de objetos de imagen

Nombre y tipo de campoDescripción

url

Tipo: cadena

Obligatorio

La URL de la imagen del vuelo. Sigue estas especificaciones de imágenes:

  • Todas las imágenes deben estar en formato JPG, GIF o PNG.

  • Para anuncios por secuencias y anuncios de colección: las imágenes se muestran en formato cuadrado (1:1). El tamaño mínimo de la imagen es de 500 x 500 píxeles. Recomendamos 1024 x 1024 píxeles para obtener la mejor calidad.

  • Para anuncios de una sola imagen: las imágenes se muestran en la relación de aspecto 1.91:1. El tamaño mínimo de la imagen es de 500 por 500 píxeles. Recomendamos 1.200 x 628 píxeles para obtener la mejor calidad.

tag

Tipo: cadena

Una cadena que representa lo que se muestra en la imagen. Puede haber varias etiquetas asociadas a una imagen.

Ejemplos:

  • Fitness Center
  • Swimming Pool

Opcional. INSTAGRAM_STANDARD_PREFERRED: permite a los anunciantes etiquetar una imagen específica en su lista como la imagen predeterminada que se usará para Instagram. Esta etiqueta distingue mayúsculas de minúsculas.

Si tienes aplicaciones distintas para iPhone y iPad, especifica la información concreta para cada dispositivo. De lo contrario, especifica información solo para iOS.

Nombre y tipo del campoDescripción

ios_url

Tipo: string

Esquema personalizado de la aplicación para iOS.

Ejemplo: example-ios://electronic

ios_app_store_id

Tipo: string

Identificador de la aplicación para la App Store.

Ejemplo: 1234

ios_app_name

Tipo: string

Nombre de la aplicación (adecuado para mostrarse).

Ejemplo: Electronic Example iOS

iphone_url

Tipo: string

Esquema personalizado de la aplicación para iPhone.

Ejemplo: example-iphone://electronic

iphone_app_store_id

Tipo: string

Identificador de la aplicación para la App Store.

Ejemplo: 5678

iphone_app_name

Tipo: string

Nombre de la aplicación (adecuado para mostrarse).

Ejemplo: Electronic Example iPhone

ipad_url

Tipo: string

Esquema personalizado de la aplicación para iPhone.

Ejemplo: example-ipad://electronic

ipad_app_store_id

Tipo: string

Identificador de la aplicación para la App Store.

Ejemplo: 9010

ipad_app_name

Tipo: string

Nombre de la aplicación (adecuado para mostrarse).

Ejemplo: Electronic Example iPad

android_url

Tipo: string

Esquema personalizado de la aplicación para Android.

Ejemplo: example-android://electronic

android_package

Tipo: string

Nombre de paquete que reúne todos los requisitos para la generación de la intención.

Ejemplo: com.electronic

android_class

Tipo: string

Nombre de clase de actividad que reúne todos los requisitos para la generación de la intención.

Ejemplo: com.electronic.Example

android_app_name

Tipo: string

Nombre de la aplicación (adecuado para mostrarse).

Ejemplo: Electronic Example Android

Enlaces profundos del producto

Proporciona enlaces profundos en la lista siguiendo la especificación de App Links. La información de los enlaces profundos en la lista tiene prioridad sobre cualquier información que recopile Facebook con metadatos de App Links mediante nuestro rastreador web.

Si ya tienes información de los enlaces profundos de App Links, no necesitas especificar estos datos. Facebook usa información de App Links para mostrar el enlace profundo correcto. Para mostrar enlaces profundos en tus anuncios, consulta Anuncios del catálogo Advantage+, Plantilla de anuncio.

Generar vuelos automáticamente - Agregar rutas al catálogo automáticamente usando la actividad de los eventos

Facebook puede agregar rutas automáticamente a tu catálogo en función de la actividad del píxel y de los eventos de la app. Cada vez que se recibe un evento con una ruta que todavía no existe en el catálogo, se puede agregar automáticamente. Esto te permite usar anuncios de vuelos para todos tus vuelos sin tener que lidiar con listas de vuelos.

Para activar esta función, realiza una solicitud POST a tu catálogo de vuelos y configura generate_items_from_events en true.

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

Las rutas que se agregan automáticamente no tienen imagen (para mostrar en el anuncio). Por lo tanto, debes proporcionar una imagen genérica para usar con las rutas generadas automáticamente.

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

No bien el catálogo se asocie a un píxel o una app y comience a recibir eventos de anuncios de vuelos, tu catálogo se completará. Puedes verificar esto consultando el catálogo.

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

Combinado - Usa listas de vuelos con los vuelos generados automáticamente

Puedes combinar subir una lista de vuelos con rutas generadas automáticamente. Combinar estas opciones te permite aprovechar los anuncios de vuelos para todos tus vuelos, y a la vez proporcionar imágenes personalizadas para las rutas más importantes usando una lista de vuelos.

Para hacerlo, simplemente combina el paso subir una lista de vuelos con completar automáticamente tu catálogo.

Las siguientes secciones te resultarán relevantes solamente si quieres administrar tus catálogos mediante esta API.

Crear un catálogo de vuelos mediante la API

Un catálogo de vuelos es un contenedor para tu inventario de vuelos. Para usar la API de catálogos, asegúrate de tener el nivel de acceso de la API de marketing apropiado y de aceptar las Condiciones del servicio. Para ello, crea tu primer catálogo mediante el administrador comercial.

Para crear un catálogo de vuelos para anuncios de vuelos, configura vertical en 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

Subir la lista de vuelos mediante la API

Cuando hayas creado el catálogo, tienes que subir tus listas de vuelos a Facebook. Usa la API para crear un objeto de lista para las listas que quieras subir. Admitimos subidas directas y programadas.

Filtrar el catálogo de vuelos en grupos de vuelos

Documentos de referencia

Un conjunto de vuelos es un subconjunto de tu catálogo. Para configurar anuncios de vuelos, debes crear al menos un conjunto de vuelos.

Los conjuntos de vuelos se definen mediante filtros que se aplican al catálogo de vuelos. Por ejemplo, puedes crear un conjunto de vuelos con todas las rutas que salen de Londres. Ten en cuenta que también puedes crear un conjunto de vuelos sin filtros. En ese caso, el conjunto de vuelos contendrá todos los vuelos de tu 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

El parámetro filter está compuesto por los siguientes operadores y datos:

OperadoresTipo de filtro

i_contains

Contiene una subcadena. El operador distingue mayúsculas de minúsculas.

i_not_contains

No contiene una subcadena. El operador distingue mayúsculas de minúsculas.

i_contains

Contiene una subcadena. El operador distingue mayúsculas de minúsculas.

not_contains

No contiene una subcadena. El operador distingue mayúsculas de minúsculas.

eq

Igual a. El operador distingue mayúsculas de minúsculas.

neq

No es igual a. El operador distingue mayúsculas de minúsculas.

lt

Menor que. Solo para campos numéricos.

lte

Menor o igual que. Solo para campos numéricos.

gt

Mayor que. Solo para campos numéricos.

gte

Mayor o igual que. Solo para campos numéricos.

DatosDatos que se filtran

origin_airport

El código IATA del aeropuerto de origen.

destination_airport

Código IATA del aeropuerto de destino.

price

Precio del vuelo. El precio se expresa en centavos.

description

Párrafo breve en el que se describe la ruta.