Inserzioni per i voli: elenco e catalogo

Per promuovere il tuo inventario di voli su Facebook, devi condividere le informazioni sui tuoi voli con Facebook. Puoi farlo creando e compilando un catalogo di voli con relative tratte. Esistono tre metodi per compilare il tuo catalogo e mantenerlo aggiornato.

  1. Carica file CSV o XML per gli "elenchi di voli" dal tuo inventario di voli
  2. Usa le attività degli eventi per compilare in automatico il tuo catalogo
  3. Combina un elenco di voli con voli creati in automatico

Puoi creare e gestire i tuoi cataloghi di voli in Gestione delle vendite:

  1. Crea un catalogo di voli
  2. Carica il tuo elenco su Facebook
  3. Crea insiemi di prodotti dal tuo catalogo di voli
  4. Associa il catalogo alle origini degli eventi

Elenco di voli: caricamento dei voli su Facebook

Un elenco di voli è un file con il tuo inventario di voli. Ogni riga o voce del file rappresenta una singola tratta. Puoi usare uno o più elenchi di voli, purché tutti gli elenchi contengano il tuo inventario di voli completo.

Formati degli elenchi di voli supportati

CSV > Esempio - Descrizione

CSV di esempio | TSV di esempio (non strutturato)

  • La prima riga deve elencare i nomi dei campi scelti nell'ordine in cui saranno assegnati i valori. Le righe seguenti devono fornire i valori corrispondenti per ogni volo.
  • I campi che contengono spazi o virgole devono essere compresi tra "virgolette doppie".
  • I campi nidificati o con più valori, ad esempio image, possono essere rappresentati usando valori con codifica JSON o tramite una serie di colonne a testo semplice senza struttura, etichettate usando una sintassi con percorso in stile JSON come image[0].url, image[0].tag[0], image[0].tag[1]. Entrambe le convenzioni possono essere usate in modo intercambiabile all'interno dello stesso file.

XML > Esempio - Descrizione

XML di esempio

  • Un nodo XML <listings> radice comprende una serie di nodi <listing>, dove ciascuno rappresenta un volo.
  • Il file deve iniziare con un tag di dichiarazione <?xml valido.

Il parser dell'elenco rileva in automatico le codifiche di testo UTF8, UTF16 o UTF32 e imposta LATIN1 come valore predefinito se individua una sequenza di byte non prevista. Puoi fornire testo nei valori dei campi in qualsiasi lingua, ma i nomi dei campi devono essere indicati come mostrato qui sotto, in inglese.

Campi supportati: inserzioni per i voli

I seguenti campi supportati sono progettati per gli elementi da aggiungere al tuo catalogo prodotti.

Per i cataloghi localizzati, vedi i campi supportati per le inserzioni per i voli.

Campo e tipoDescrizione

origin_airport

tipo: stringa

Obbligatorio.

Il codice IATA dell'origine. Supporta codici IATA di aeroporti e città. Usa IATA Code Search (Ricerca del codice IATA) per convalidare i tuoi codici IATA. Suggerimento: per migliorare le prestazioni, evita di usare lo spazio per questo campo dell'identificativo unico.

Esempio: SFO

destination_airport

tipo: stringa

Obbligatorio.

Il codice IATA della destinazione. Supporta codici IATA di aeroporti e città. Usa IATA Code Search (Ricerca del codice IATA) per convalidare i tuoi codici IATA. Suggerimento: per migliorare le prestazioni, evita di usare lo spazio per questo campo dell'identificativo unico.

Esempio: JFK

image

tipo: oggetto

Obbligatorio.

N. max. di articoli: 20

Dati delle immagini per questo volo. Puoi fornire un massimo di 20 immagini per il volo. Ogni immagine contiene due campi: url e tag. Puoi associare più tag a un'immagine. Devi fornire almeno 1 image. Ogni immagine può avere una dimensione massima di 4 MB.

Vedi Parametri dell'oggetto image.

description

tipo: stringa

Obbligatorio.

Dimensione massima: 5000

Un breve paragrafo che descrive la tratta.

url

tipo: stringa

Obbligatorio solo se non specifichi un deep link a livello dell'inserzione. Puoi usare il campo Deep Link in Gestione inserzioni oppure template_url_spec nell'API.

Link al sito esterno in cui puoi visualizzare il volo. Il deep link specificato a livello dell'inserzione (se presente, avrà la precedenza).

origin_city

tipo: stringa

Il nome della città di origine.

Esempio: San Francisco

destination_city

tipo: stringa

Il nome della città di destinazione.

Esempio: New York

price

tipo: stringa

Il prezzo del volo. Devi specificare il valore con la valuta.

Esempio: 99.99 USD

applink

tipo: elemento

Deep link che reindirizza direttamente alla pagina di informazioni del volo nella tua app mobile tramite App Links. Puoi specificare i deep link in ordine di precedenza, dalla più alta alla più bassa:

  1. a livello dell'inserzione usando template_url_spec;
  2. nell'elenco usando un oggetto Applink;
  3. aggiungendo i meta tag di App Links al tuo sito web.

one_way_price

tipo: stringa

Prezzo del volo solo andata. Devi specificare il valore con la valuta.

Esempio: 99.99 USD

priority

tipo: intero

Priorità del volo. Valore da 0 (priorità minima) a 5 (priorità massima). I voli senza questo valore avranno priorità=0.

Esempio: 5

status

Tipo: stringa

Controlla se un articolo è attivo o archiviato nel tuo catalogo. Le persone possono vedere solo gli articoli attivi nelle tue inserzioni, nei tuoi shop o in qualsiasi altro canale. Valori supportati: active, archived. Per impostazione predefinita gli articoli sono attivi. Scopri di più sull'archiviazione di articoli.


Esempio: active


Nota: alcune piattaforme partner come Shopify potrebbero sincronizzare gli articoli sul tuo catalogo con uno stato chiamato staging, che si comporta come archived.

In precedenza questo campo si chiamava visibility. Anche se continueremo a supportare il vecchio nome del campo, consigliamo di usare quello nuovo.

Parametri dell'oggetto image

Nome e tipo di campoDescrizione

url

tipo: stringa

Obbligatorio.

URL dell'immagine del volo. Segui queste specifiche delle immagini:

  • Tutte le immagini devono essere in formato JPG, GIF o PNG.

  • Per le inserzioni carosello e raccolta: immagini visualizzate in formato quadrato (1:1). Le dimensioni minime delle immagini sono 500 x 500 pixel. Per una migliore qualità, consigliamo 1024 x 1024 pixel.

  • Per le inserzioni con singola immagine: immagine visualizzata con proporzioni pari a 1.91:1. Le dimensioni minime dell'immagine sono 500 x 500 pixel. Per una qualità migliore, consigliamo 1200 x 628 pixel.

tag

tipo: stringa

Una stringa che rappresenta il contenuto dell'immagine. Possono essere presenti più tag associati a un'immagine.

Esempi:

  • Fitness Center
  • Swimming Pool

Opzionale. INSTAGRAM_STANDARD_PREFERRED: consente agli inserzionisti di taggare un'immagine specifica nell'elenco come immagine predefinita che verrà usata per Instagram. Questo tag fa distinzione tra lettere maiuscole e minuscole.

Se hai app separate per iPhone e per iPad, indica le informazioni specifiche per iPhone e per iPad. In caso contrario, specifica solo le informazioni per iOS.

Nome e tipo di campoDescrizione

ios_url

tipo: stringa

Uno schema personalizzato per l'app per iOS.

Esempio: example-ios://electronic

ios_app_store_id

tipo: stringa

L'ID app dell'App Store.

Esempio: 1234

ios_app_name

tipo: stringa

Il nome dell'app (adatto per la visualizzazione).

Esempio: Electronic Example iOS

iphone_url

tipo: stringa

Uno schema personalizzato per l'app per iPhone.

Esempio: example-iphone://electronic

iphone_app_store_id

tipo: stringa

L'ID app dell'App Store.

Esempio: 5678

iphone_app_name

tipo: stringa

Il nome dell'app (adatto per la visualizzazione).

Esempio: Electronic Example iPhone

ipad_url

tipo: stringa

Uno schema personalizzato per l'app per iPhone.

Esempio: example-ipad://electronic

ipad_app_store_id

tipo: stringa

L'ID app dell'App Store.

Esempio: 9010

ipad_app_name

tipo: stringa

Il nome dell'app (adatto per la visualizzazione).

Esempio: Electronic Example iPad

android_url

tipo: stringa

Uno schema personalizzato per l'app per Android.

Esempio: example-android://electronic

android_package

tipo: stringa

Un nome di pacchetto completo per la generazione dell'intenzione.

Esempio: com.electronic

android_class

tipo: stringa

Un nome della classe di attività completo per la generazione dell'intenzione.

Esempio: com.electronic.Example

android_app_name

tipo: stringa

Il nome dell'app (adatto per la visualizzazione).

Esempio: Electronic Example Android

Deep link dei prodotti

Fornisci i deep link nell'elenco seguendo la specifica App Links. Le informazioni sui deep link nell'elenco hanno la precedenza su qualsiasi informazione raccolta da Facebook con i metadati App Links con il nostro crawler web.

Se disponi già di informazioni sui deep link provenienti da App Links, non devi specificare questi dati. Facebook usa le informazioni provenienti da App Links per visualizzare il deep link corretto. Per visualizzare i deep link nelle tue inserzioni, consulta Inserzioni del catalogo Advantage+, modello di inserzione.

Creazione automatica dei voli: aggiunta di tratte al catalogo usando le attività degli eventi

Facebook può aggiungere automaticamente tratte al tuo catalogo in base alle attività dell'evento del pixel e dell'app. Ogni volta che viene ricevuto un evento con una tratta non ancora esistente nel catalogo, questa può essere aggiunta in automatico. Ciò ti consente di usare le inserzioni per i voli per tutti i voli senza dover gestire alcun elenco.

Per abilitare questa opzione, effettua una richiesta POST al tuo catalogo voli e imposta generate_items_from_events su true.

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

Le tratte aggiunte in automatico non hanno immagini (da visualizzare nell'inserzione). Pertanto, devi fornire un'immagine generica da usare in tutte le tratte create automaticamente.

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

Non appena il tuo catalogo sarà associato a un pixel e/o un'app e riceverà eventi delle inserzioni per i voli, verrà compilato. Puoi effettuare una verifica tramite query del catalogo.

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

Combinato: uso degli elenchi di voli con i voli creati automaticamente

Puoi combinare il caricamento di un elenco di voli con tratte create automaticamente. La combinazione di queste opzioni ti consente di sfruttare le inserzioni per i voli per tutti i tuoi voli, fornendo al contempo immagini personalizzate per le tue tratte più importanti usando un elenco di voli.

Puoi farlo combinando la procedura di caricamento di un elenco di voli con quella di compilazione automatica del catalogo.

Le seguenti sezioni sono pertinenti solo se desideri gestire i tuoi cataloghi mediante questa API.

Creazione di un catalogo di voli mediante l'API

Documenti di riferimento

Un catalogo di voli contiene il tuo inventario di voli. Per usare l'API Catalog, assicurati di avere il livello di accesso dell'API Marketing corretto e di aver accettato le Condizioni d'uso creando il tuo primo catalogo mediante Business Manager.

Per creare un catalogo di voli per le inserzioni per i voli, imposta vertical su 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

Caricamento dei tuoi elenchi di voli mediante l'API

Una volta creato il tuo catalogo, devi caricare i tuoi elenchi di voli su Facebook. Usa l'API per creare un oggetto feed per ciascun elenco che desideri caricare. Supportiamo caricamenti programmati e diretti.

Come filtrare il catalogo di voli in insiemi di voli

Un insieme di voli è un sottoinsieme del tuo catalogo. Per configurare le inserzioni per i voli, devi creare almeno un insieme di voli.

Gli insiemi di voli sono definiti dai filtri applicati al catalogo di voli. Ad esempio, puoi creare un insieme di voli con tutte le tratte con partenza da Londra. Tieni presente che puoi anche creare un insieme di voli senza alcun filtro. In questo caso, l'insieme di voli conterrà tutti i voli del tuo catalogo.

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

Il parametro filter è composto dai seguenti operatori e dati:

OperatoriIl tipo di filtro

i_contains

Contiene sottostringhe. L'operatore non distingue tra lettere maiuscole e minuscole.

i_not_contains

Non contiene sottostringhe. L'operatore non distingue tra lettere maiuscole e minuscole.

contains

Contiene sottostringhe. L'operatore non distingue tra lettere maiuscole e minuscole.

not_contains

Non contiene sottostringhe. L'operatore non distingue tra lettere maiuscole e minuscole.

eq

Uguale a. L'operatore non distingue tra lettere maiuscole e minuscole.

neq

Diverso da. L'operatore non distingue tra lettere maiuscole e minuscole.

lt

Minore di. Solo per campi numerici.

lte

Minore di o uguale a. Solo per campi numerici.

gt

Maggiore di. Solo per campi numerici.

gte

Maggiore di o uguale a. Solo per campi numerici.

DatiI dati filtrati

origin_airport

Il codice IATA dell'origine.

destination_airport

Il codice IATA della destinazione.

price

Il prezzo del volo in centesimi.

description

Un breve paragrafo che descrive la tratta.