Publicités pour les vols - Catalogue et flux de produits

Pour promouvoir vos offres de vols sur Facebook, vous devez partager les informations concernant vos vols avec Facebook. Pour ce faire, vous devez créer un catalogue de vols, puis le remplir avec des itinéraires de vol. Vous pouvez remplir votre catalogue et le mettre à jour de trois manières différentes.

  1. Importer des fichiers CSV ou XML pour les "flux de vols" concernant vos offres de vols
  2. Utiliser le module d’évènement pour remplir automatiquement votre catalogue
  3. Combiner un flux de vols avec des vols générés automatiquement

Vous pouvez créer et gérer vos catalogues de vols dans votre Gestionnaire des ventes :

  1. Créez un catalogue de vols
  2. Importez votre fil dans Facebook
  3. Créez des ensembles de produits à partir de votre catalogue de vols
  4. Associez le catalogue à vos sources d’évènements

Flux de vols : importer vos vols sur Facebook

Un flux de vols est un fichier contenant vos offres de vol. Chaque ligne ou élément du fichier représente un itinéraire unique. Vous pouvez utiliser un ou plusieurs flux de vols, tant que tous les flux réunis contiennent l’ensemble de vos offres de vols.

Formats de flux de vols pris en charge

CSV > Exemple - Description

Exemple de fichier CSV | Exemple de fichier TSV (simplifié)

  • La première ligne doit énumérer les noms des champs choisis dans l’ordre où les valeurs seront données. Les lignes suivantes fournissent ensuite les valeurs correspondantes pour chaque vol.
  • Les champs contenant des espaces blancs ou des virgules doivent être placés entre "guillemets".
  • Les champs imbriqués ou à valeurs multiples, tels que image, peuvent être représentés à l’aide de valeurs encodées au format JSON ou par un ensemble de colonnes en texte brut "simplifié" désignées au moyen de la syntaxe d’un chemin d’accès JSON (par exemple, image[0].url, image[0].tag[0], image[0].tag[1]). Les deux conventions peuvent être utilisées de manière interchangeable dans le même fichier.

XML > Exemple - Description

Exemple de fichier XML

  • Un nœud XML <listings> racine renferme un ensemble de nœuds <listing>, dont chacun représente un vol.
  • Le fichier doit commencer par un tag déclaratif <?xml valide.

L’analyseur de fil détecte automatiquement les encodages de texte UTF8, UTF16 ou UTF32 et il est défini sur LATIN1 par défaut s’il rencontre une séquence d’octets inattendue. Vous pouvez fournir du texte dans n’importe quelle langue dans les valeurs de champ. Toutefois, les noms de champs doivent être attribués exactement comme suit, en anglais.

Champs pris en charge - Publicités pour les vols

Les champs pris en charge mentionnés ci-dessous se rapportent aux éléments que vous ajoutez dans votre catalogue produits.

S’il s’agit de catalogues localisés, consultez les champs pris en charge pour les publicités pour les vols.

Champ et typeDescription

origin_airport

type : chaîne

Obligatoire.

Code IATA de l’aéroport de départ. Prend en charge le code IATA de l’aéroport et de la ville. Utilisez la recherche de code IATA pour valider vos codes IATA. Conseil : pour de meilleures performances, évitez les espaces dans le champ de cet identifiant unique.

Exemple : SFO

destination_airport

type : chaîne

Obligatoire.

Code IATA de l’aéroport de destination. Prend en charge le code IATA de l’aéroport et de la ville. Utilisez la recherche de code IATA pour valider vos codes IATA. Conseil : pour de meilleures performances, évitez les espaces dans le champ de cet identifiant unique.

Exemple : JFK

image

type : objet

Obligatoire.

Nombre d’éléments max. : 20

Données d’image pour ce vol. Vous pouvez fournir jusqu’à 20 images pour le vol. Chaque image contient deux champs : url et tag. Plusieurs tags peuvent être associés à une image. Vous devez fournir au moins une image. La taille maximale autorisée pour chaque image est de 4 Mo.

Consultez Paramètres de l’objet image.

description

type : chaîne

Obligatoire.

Taille max. : 5 000

Brève description de l’itinéraire.

url

type : chaîne

Obligatoire uniquement si vous ne spécifiez pas de lien profond au niveau de la publicité. Vous pouvez utiliser le champ Deep Link dans le Gestionnaire de publicités ou template_url_spec dans l’API.

Lien vers le site externe sur lequel vous pouvez afficher le vol. Si un lien profond est précisé au niveau de la publicité, il prévaudra.

origin_city

type : chaîne

Nom de la ville de départ.

Exemple : San Francisco

destination_city

type : chaîne

Nom de la ville de destination.

Exemple : New York

price

type : chaîne

Prix du vol. Vous devez spécifier le montant et la devise.

Exemple : 99.99 USD

applink

type : élément

Ajoutez un lien profond direct vers la page de détails du vol dans votre application à l’aide des App Links. Vous pouvez préciser des liens profonds (dans l’ordre de prévalence, du plus élevé au plus bas) :

  1. Au niveau des publicités avec la template_url_spec
  2. Dans le flux avec un objet App Link
  3. En ajoutant des tags de métadonnées App Link sur votre site web

one_way_price

type : chaîne

Prix du vol (aller simple). Vous devez spécifier le montant et la devise.

Exemple : 99.99 USD

priority

type : nombre entier

Priorité du vol. Valeur de 0 (priorité la moins élevée) à 5 (priorité la plus élevée). Un vol sans cette valeur aura la priorité = 0.

Exemple : 5

status

type : chaîne

Détermine si un article est actif ou archivé dans votre catalogue. Seuls les articles actifs peuvent être vus par les internautes dans vos publicités, vos boutiques ou tout autre moyen de communication. Valeurs prises en charge : active, archived. Les articles sont actifs par défaut. En savoir plus sur l’archivage d’articles.


Exemple : active


Remarque : certaines plateformes partenaires comme Shopify peuvent synchroniser des articles dans votre catalogue avec le statut staging, qui est équivalent au statut archived.

Ce champ était auparavant appelé visibility. Même si l’ancien nom du champ est encore pris en charge, nous vous recommandons d’utiliser le nouveau nom.

Paramètres de l’objet image

Nom du champ et typeDescription

url

type : chaîne

Obligatoire.

URL correspondant à l’image du vol. Suivez les spécifications suivantes pour les images :

  • Toutes les images doivent être au format JPG, GIF ou PNG.

  • Pour les publicités carrousel et collection : les images s’affichent au format carré (1:1). La taille d’image minimale est de 500 x 500 pixels. Nous recommandons 1 024 × 1 024 pixels pour une qualité optimale.

  • Pour les publicités à image unique : les images s’affichent selon les proportions 1.91:1. La taille d’image minimale est de 500 × 500 pixels. Nous recommandons 1 200 × 628 pixels pour une qualité optimale.

tag

type : chaîne

Chaîne représentant ce que contient l’image. Plusieurs tags peuvent être associés à une image.

Exemples :

  • Fitness Center
  • Swimming Pool

Facultatif. INSTAGRAM_STANDARD_PREFERRED permet aux annonceurs d’identifier une image spécifique dans leur flux comme image par défaut à utiliser pour Instagram. Ce tag est sensible à la casse.

Si vous possédez des applications distinctes pour iPhone et iPad, précisez les informations propres à chacun de ces deux supports. Sinon, précisez uniquement les informations relatives à iOS.

Nom du champ et typeDescription

ios_url

type : chaîne

Un jeu personnalisé pour l’application iOS.

Exemple : example-ios://electronic

ios_app_store_id

type : chaîne

L’identifiant d’application pour la boutique d’applications.

Exemple : 1234

ios_app_name

type : chaîne

Le nom de l’application (adapté à l’affichage).

Exemple : Electronic Example iOS

iphone_url

type : chaîne

Un jeu personnalisé pour l’application iPhone.

Exemple : example-iphone://electronic

iphone_app_store_id

type : chaîne

L’identifiant d’application pour la boutique d’applications.

Exemple : 5678

iphone_app_name

type : chaîne

Le nom de l’application (adapté à l’affichage).

Exemple : Electronic Example iPhone

ipad_url

type : chaîne

Un jeu personnalisé pour l’application iPhone.

Exemple : example-ipad://electronic

ipad_app_store_id

type : chaîne

L’identifiant d’application pour la boutique d’applications.

Exemple : 9010

ipad_app_name

type : chaîne

Le nom de l’application (adapté à l’affichage).

Exemple : Electronic Example iPad

android_url

type : chaîne

Un jeu personnalisé pour l’application Android.

Exemple : example-android://electronic

android_package

type : chaîne

Un nom de lot entièrement qualifié pour la génération d’intentions.

Exemple : com.electronic

android_class

type : chaîne

Un nom de classe d’activité entièrement qualifié pour la génération d’intentions.

Exemple : com.electronic.Example

android_app_name

type : chaîne

Le nom de l’application (adapté à l’affichage).

Exemple : Electronic Example Android

Liens profonds vers des produits

Suivez la spécification des App Links ci-dessous pour fournir des liens profonds dans le flux. Les informations des liens profonds prévalent sur les informations collectées par Facebook avec son robot d’indexation via les métadonnées des App Links.

Si vous possédez déjà les informations des liens profonds via les App Links, vous n’avez pas besoin de spécifier ceci. Facebook utilise les informations provenant d’App Links pour afficher le lien profond correct. Pour afficher les liens profonds dans vos publicités, consultez la section Publicités de catalogue Advantage+, Modèle de publicité.

Vols générés automatiquement : ajouter automatiquement des itinéraires au catalogue à l’aide du module d’évènement

Facebook peut ajouter automatiquement des itinéraires à votre catalogue en fonction du pixel et du module App Event. Chaque fois qu’un évènement est reçu avec un itinéraire qui n’existe pas dans le catalogue, il peut être ajouté automatiquement. Cela vous permet d’utiliser des publicités pour les vols pour tous vos vols sans avoir à gérer les flux de vols.

Pour ce faire, envoyez une demande POST à votre catalogue de vol, et définissez generate_items_from_events sur true.

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

Les itinéraires ajoutés automatiquement ne comportent pas d’image (à afficher dans la publicité). Vous devez donc fournir une image générique à utiliser pour tous les itinéraires générés automatiquement.

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

Dès que votre catalogue sera associé à un pixel et/ou une application, et que des évènements pour des publicités de vol seront diffusés, votre catalogue sera rempli. Vous pouvez le vérifier en interrogeant le catalogue.

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

Associé : utiliser des flux de vols avec des vols générés automatiquement

Vous pouvez associer l’importation d’un flux de vols à des itinéraires générés automatiquement. L’association de ces options vous permet d’exploiter les publicités pour les vols pour tous vos vols, tout en fournissant des images sur mesure pour vos itinéraires les plus importants à l’aide d’un flux de vols.

Pour ce faire, combinez simplement l’étape d’importation d’un flux de vols avec l’étape de remplissage automatique de votre catalogue.

Les sections suivantes ne sont pertinentes que si vous souhaitez gérer vos catalogues à l’aide de cette API.

Créer un catalogue de vols à l’aide de l’API

Documents de référence

Un catalogue de vols est un contenant pour vos offres de vols. Pour utiliser l’API Catalog, vérifiez que vous disposez du niveau d’accès adéquat à l’API Marketing et que vous avez accepté les conditions de service en créant votre premier catalogue à l’aide de Business Manager.

Pour créer un catalogue de vols pour vos publicités pour les vols, définissez vertical sur 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

Importer vos flux de vols via l’API

Une fois que vous avez créé le catalogue, vous devez importer votre ou vos flux de vol sur Facebook. Utilisez l’API pour créer un objet de fil pour chaque fil que vous souhaitez importer. Les importations planifiées et directes sont acceptées.

Filtrer le catalogue de vols pour afficher les ensembles de vols

Un ensemble de vols est un sous-ensemble de votre catalogue. Pour configurer des publicités pour les vols, vous devez créer au moins un ensemble de vols.

Les ensembles de vols sont définis par des filtres appliqués au catalogue de vols. Par exemple, vous pouvez créer un ensemble de vols avec tous les itinéraires au départ de Londres. Veuillez noter que vous pouvez également créer un ensemble de vols sans aucun filtre. Dans ce cas, l’ensemble de vols contiendra tous les vols de votre catalogue.

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

Le paramètre filter est composé des opérateurs et données suivants :

OpérateursLe type de filtre

i_contains

Contient une sous-chaîne. L’opérateur n’est pas sensible à la casse.

i_not_contains

Ne contient pas de sous-chaîne. L’opérateur n’est pas sensible à la casse.

contains

Contient une sous-chaîne. L’opérateur n’est pas sensible à la casse.

not_contains

Ne contient pas de sous-chaîne. L’opérateur n’est pas sensible à la casse.

eq

Égal à. L’opérateur n’est pas sensible à la casse.

neq

Non égal à. L’opérateur n’est pas sensible à la casse.

lt

Inférieur à. Pour les champs numériques uniquement.

lte

Inférieur ou égal à. Pour les champs numériques uniquement.

gt

Supérieur à. Pour les champs numériques uniquement.

gte

Supérieur ou égal à. Pour les champs numériques uniquement.

DonnéesLes données filtrées

origin_airport

Code IATA de l’aéroport de départ.

destination_airport

Code IATA de l’aéroport de destination.

price

Prix du vol. Le prix est en cents.

description

Brève description de l’itinéraire.