Primi passi con le inserzioni del catalogo Advantage+

Le inserzioni del catalogo Advantage+ ti consentono di creare inserzioni personalizzate e targetizzate ai giusti gruppi di pubblico in base a un insieme di prodotti.

Gli inserzionisti che pubblicano inserzioni relative ad abitazioni, impiego, credito o temi sociali, elezioni e politica hanno insiemi diversi di restrizioni. Consulta Categorie speciali di inserzioni per maggiori informazioni.

Prima di iniziare

Per creare una campagna di inserzioni del catalogo Advantage+, hai bisogno dei seguenti elementi:

Facoltativamente, puoi configurare un pubblico dinamico per i prodotti, ma non devi inserire inclusioni o esclusioni di insiemi di prodotti nelle tue impostazioni di targetizzazione.

Passaggio 1: creazione di una campagna pubblicitaria

Per scoprire come creare una campagna pubblicitaria, consulta la documentazione sulle campagne pubblicitarie.

A questo livello, devi impostare il tuo obiettivo pubblicitario tramite il campo objective. Per le inserzioni del catalogo Advantage+, gli obiettivi supportati sono PRODUCT_CATALOG_SALES, CONVERSIONS, LINK_CLICKS o APP_INSTALLS. Se l'elemento objective fornito è CONVERSIONS, LINK_CLICKS o APP_INSTALLS, il campo promoted_object non è obbligatorio.

curl \
  -F 'name=Product Catalog Sales Campaign' \
  -F 'objective=PRODUCT_CATALOG_SALES' \
  -F 'promoted_object={"product_catalog_id":"<PRODUCT_CATALOG_ID>"}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/campaigns

Passaggio 2: creazione di un gruppo di inserzioni

Per le inserzioni del catalogo Advantage+, devi specificare il product_set_id nel promoted_object per il livello del tuo gruppo di inserzioni per promuovere i prodotti da quell'insieme di prodotti.

Inoltre, puoi anche definire il tuo evento di conversione per quell'insieme di prodotti specificando il custom_event_type nel promoted_object quando l’optimization_goal è OFFSITE_CONVERSIONS. In questo modo vengono definite come destinatari delle tue inserzioni le persone che hanno eseguito quell'evento nella tua app o nel tuo sito.

Ad esempio, se imposti come evento ADD_TO_CART, l'evento Aggiunta al carrello è l'evento di conversione. Come impostazione predefinita, il custom_event_type è impostato su PURCHASE. Scopri di più sugli eventi e i valori standard per custom_event_type in Monitoraggio delle conversioni del pixel di Meta.

Se desideri ottimizzare le conversioni fuori dal sito, incluse quelle provenienti sia dagli eventi nell'app sia dal pixel di Facebook, e ricevere addebiti in base alle impression, devi eseguire le seguenti azioni:

  • Imposta l'optimization_goal su OFFSITE_CONVERSIONS.
  • Imposta il billing_event su IMPRESSIONS.

Maggiori dettagli sulle combinazioni di optimization_goal e billing_event valide sono disponibili in Obiettivo di ottimizzazione ed eventi di fatturazione.

Esempio di creazione di un gruppo di inserzioni fatturato in base alle IMPRESSIONS che ottimizza le OFFSITE_CONVERSIONS:

curl \
  -F 'name=Product Catalog Sales Adset' \
  -F 'bid_amount=3000' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'optimization_goal=OFFSITE_CONVERSIONS' \
  -F 'daily_budget=15000' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'targeting={ "geo_locations": {"countries":["US"]}, 
    "dynamic_audience_ids": ["<DYNAMIC_AUDIENCE_ID>"] 
  }' \
  -F 'promoted_object={"product_set_id":"<PRODUCT_SET_ID>"}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adsets

DYNAMIC_AUDIENCE_ID si riferisce a un pubblico del prodotto. Se lo desideri, puoi omettere dynamic_audience_ids dalla chiamata.

Per i casi d'uso e-commerce, puoi omettere dynamic_audience_ids dalla chiamata e inviare invece le informazioni di targetizzazione comportamentale come parte di parametri product_audience_specs o excluded_product_audience_specs. Queste specifiche sono definite dagli stessi parametri utilizzati per creare un pubblico del prodotto.

Parametri

NomeDescrizione

product_set_id

stringa numerica

Obbligatorio.
L'insieme di prodotti da targetizzare con questo pubblico.

inclusions

Oggetto JSON

Obbligatorio.
Un insieme di eventi da targetizzare. Occorre almeno un'inclusione. Ciascuna inclusione deve avere esattamente un event.

inclusions.retention_seconds

int

Obbligatorio.
Il numero di secondi per i quali mantenere l'account del Centro gestione account nel pubblico.

inclusions.rule

oggetto[]

Obbligatorio.
Regola del pubblico personalizzato dal sito web che fa riferimento a un event.

exclusions

Oggetto JSON

Facoltativo.
Un insieme di eventi che rimuovono un account del Centro gestione account dalla targetizzazione.

exclusions.retention_seconds

int

Obbligatorio, se è specificata l'esclusione.
Il numero di secondi per i quali mantenere l'esclusione.

exclusions.rule

oggetto[]

Obbligatorio, se è specificata l'esclusione.
Regola del pubblico personalizzato dal sito web che fa riferimento a un event.

Ogni regola deve includere un event con l'operatore eq come regola di livello superiore o come parte di una regola and di livello superiore.

Retargeting

In questo esempio, definiamo come destinatari le persone che hanno visualizzato i prodotti negli ultimi 3-5 giorni, ma che non hanno effettuato un acquisto. Le inserzioni vengono posizionate su feed mobile e Audience Network. Per la creazione di questo pubblico:

curl \
  -F 'name=Product Catalog Sales Adset' \
  -F 'bid_amount=3000' \
  -F 'billing_event=LINK_CLICKS' \
  -F 'optimization_goal=LINK_CLICKS' \
  -F 'daily_budget=15000' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'targeting={ 
    "publisher_platforms": ["facebook","audience_network"], 
    "device_platforms": ["mobile"], 
    "geo_locations": {"countries":["US"]}, 
    "product_audience_specs": [ 
      { 
        "product_set_id": "<PRODUCT_SET_ID>", 
        "inclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"ViewContent"}}}], 
        "exclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"Purchase"}}}] 
      } 
    ], 
    "excluded_product_audience_specs": [ 
      { 
        "product_set_id": "<PRODUCT_SET_ID>", 
        "inclusions": [{"retention_seconds":259200,"rule":{"event":{"eq":"ViewContent"}}}] 
      } 
    ] 
  }' \
  -F 'promoted_object={"product_set_id":<PRODUCT_SET_ID>"}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adsets

Cross-selling o up-selling

Esempio di pubblicizzazione dei prodotti che non sono stati cercati dall'utente:

curl \
-F 'name=Case 1 Adset' \
-F 'bid_amount=3000' \
-F 'billing_event=IMPRESSIONS' \
-F 'status=ACTIVE' \
-F 'daily_budget=15000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting= { \
            "geo_locations": { \
            "countries":["US"], \
             }, \
            "interests":[ \
                {"id":6003397425735,"name":"Tennis"}, \
            ], \
        }' \
-F 'promoted_object={"product_set_id”:<PRODUCT_SET_ID>}' \
-F 'access_token=<ACCESS_TOKEN>’ \
https://graph.facebook.com/<API_VERSION>/act_<ACCOUNT_ID>/adsets

Per effettuare il cross-selling fra insiemi di prodotti, devi eseguire le seguenti azioni:

  • Assegna al pubblico del prodotto le regole dell'evento relative all'insieme di prodotti A.
  • Mostra i prodotti dall'insieme di prodotti B nell'inserzione impostando il product_set_id sull'insieme di prodotti B al livello della creatività dell'inserzione.

Ad esempio, un'azienda desidera aumentare le vendite delle borse da donna nel PRODUCT_SET_1 definendo come destinatari di un'inserzione gli utenti esistenti che hanno mostrato interesse per le scarpe appartenenti al PRODUCT_SET_2. Imposta il product_set_id nelle product_audience_specs sull'ID di PRODUCT_SET_2 o sulle scarpe e il product_set_id nel promoted_object sull'ID di PRODUCT_SET_1 o sulle borse da donna.

curl \
  -F 'name=My cross sell ad set' \
  -F 'bid_amount=3000' \
  -F 'billing_event=LINK_CLICKS' \
  -F 'optimization_goal=LINK_CLICKS' \
  -F 'daily_budget=15000' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'targeting={ 
    "geo_locations": {"countries":["US"]}, 
    "product_audience_specs": [ 
      { 
        "product_set_id": "<PRODUCT_SET_2_ID>", 
        "inclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"ViewContent"}}}], 
        "exclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"Purchase"}}}] 
      } 
    ], 
    "excluded_product_audience_specs": [ 
      { 
        "product_set_id": "<PRODUCT_SET_2_ID>", 
        "inclusions": [{"retention_seconds":259200,"rule":{"event":{"eq":"ViewContent"}}}] 
      } 
    ] 
  }' \
  -F 'promoted_object={"product_set_id":"<PRODUCT_SET_1_ID>"}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adsets  

Quindi, imposta il product_set_id nella creatività sull'ID di PRODUCT_SET_1.

  curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "description": "Description {{product.description}}", 
      "link": "<LINK>", 
      "message": "Test {{product.name | titleize}}", 
      "name": "Headline {{product.price}}" 
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives

Targetizzazione di un pubblico ampio

Oltre al retargeting e al cross-selling dei clienti esistenti, le inserzioni del catalogo Advantage+ possono essere usate per definire come destinatari gruppi di pubblico ampio, utilizzando l'età, il genere e altri parametri demografici con prodotti rilevanti dal tuo catalogo prodotti. Utilizzando i gruppi di pubblico definiti in modo ampio come destinatari insieme alla richiesta di conversioni fuori dal sito, le inserzioni del catalogo Advantage+ ti consentono di espandere maggiormente la copertura delle tue inserzioni in modo efficiente.

Per definire come destinatari gruppi di pubblico ampio, devi eseguire le seguenti azioni:

  • Crea un pubblico di clienti usando la targetizzazione per i dati demografici di base, ad es. "donne degli Stati Uniti di età superiore a 18 anni".
  • Includi customOptimize per OFFSITE_CONVERSIONS con i segnali delle intenzioni più forti come Purchase o InitiateCheckout.

In questo esempio, viene creato un gruppo di inserzioni avente come destinatari le donne di età compresa fra i 30 e i 65 anni negli Stati Uniti, escludendo le clienti che hanno effettuato acquisti negli ultimi 10 giorni. Faremo un'offerta di 8 USD, utilizzando le OFFSITE_CONVERSIONS per gli eventi PURCHASE.

curl \
  -F 'name=Broad Audience Targeting' \
  -F 'bid_amount=800' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'daily_budget=15000' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'targeting={ 
    "age_max": 65, 
    "age_min": 30, 
    "geo_locations": {"countries":["US"]}, 
    "genders": [2], 
    "excluded_product_audience_specs": [ 
      { 
        "product_set_id": "<PRODUCT_SET_ID>", 
        "inclusions": [{"retention_seconds":864000,"rule":{"event":{"eq":"Purchase"}}}] 
      } 
    ] 
  }' \
  -F 'promoted_object={"product_set_id":"<PRODUCT_SET_ID>","custom_event_type":"PURCHASE"}' \
  -F 'optimization_goal=OFFSITE_CONVERSIONS' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adsets

Categorie per le inserzioni del catalogo Advantage+

Gli inserzionisti che pubblicano inserzioni relative ad abitazioni, impiego, credito o temi sociali, elezioni e politica hanno insiemi diversi di restrizioni. Consulta Categorie speciali di inserzioni per maggiori informazioni.

Le categorie per le inserzioni del catalogo Advantage+ introducono due nuove opzioni di creatività per la piattaforma delle inserzioni del catalogo Advantage+, che possono essere entrambe utilizzate per personalizzare la creatività per gli acquirenti che si trovano all'inizio del loro percorso decisionale. Con questa funzione, puoi creare quello che è effettivamente un secondo catalogo di immagini di creatività più piccolo che rappresenta ciascuna categoria (oltre al catalogo che hai già delle immagini dei prodotti); le categorie di prodotti verranno abbinate agli utenti nelle tue inserzioni allo stesso modo in cui i prodotti vengono abbinati agli utenti.

Le categorie per le inserzioni del catalogo Advantage+ possono essere utilizzate con qualsiasi opzione di targetizzazione nell'obiettivo traffic, conversion o catalog sales. Se non disponi di un'immagine rappresentativa di alta qualità per ogni categoria o brand, Facebook può generare automaticamente un collage 2x2 dei prodotti più popolari per ciascun gruppo di prodotti.

Quando esegui la mappatura di queste nuove immagini sui cataloghi prodotti esistenti, puoi utilizzare una delle tre colonne del feed per raggruppare gli articoli: brand, tipo di prodotto e categoria di prodotti di Google.

Come esempio, nel catalogo sottostante, la colonna Tipo di prodotto presenta cinque valori unici. L'inserzionista può fornire fino a cinque collage o immagini dello stile di vita, una per ogni valore unico in product_type. Il tipo di prodotto è il criterio di categorizzazione della categoria, ovvero il nome del campo del catalogo utilizzato per definire le categorie. Il valore del campo del catalogo corrisponde al valore dei criteri della categoria.

Una categoria può essere identificata in modo unico da:

  • ID catalogo prodotti
  • Criteri di categorizzazione (brand, tipo di prodotto o categoria di prodotti di Google)
  • Valore dei criteri (estratto dal catalogo)
Rivenditore Nome ID Prezzo Tipo di prodotto Brand Categoria

prod_1

T-shirt

25 USD

Abbigliamento

Brand A

Categoria A

prod_2

Felpa con cappuccio Facebook

30 USD

Abbigliamento

Brand B

Categoria A

prod_3

iPhone 6

800 USD

Telefono

Brand C

Categoria B

prod_4

Samsung Galaxy S5

750 USD

Telefono

Brand C

Categoria B

prod_5

Bollitore elettrico per il riso

120 USD

Elettrodomestico

Brand C

Categoria C

prod_6

Divano Parker

500 USD

Elettrodomestico

Brand D

Categoria D

prod_7

Protezione solare

14 USD

Cura della persona

Brand E

Categoria E

Puoi associare ciascuna categoria (ad esempio, ciascun gruppo di prodotti come definito dai valori unici in una delle colonne specificate in precedenza) con le seguenti risorse:

  • Nome: un nome della categoria abbreviato visualizzato dall'utente (fino a 40 caratteri).
  • Descrizione: una descrizione della categoria visualizzata dall'utente (fino a 20 caratteri).
  • destination_uri: l'URL della pagina di destinazione quando un utente clicca sulla categoria.
  • image_url: facoltativo. L'URL di un'immagine dello stile di vita che rappresenta la categoria. Se non viene fornito alcun image_url, verrà generato automaticamente un collage dei prodotti più popolari di quella specifica categoria.

Durante il periodo di pubblicazione delle inserzioni, viene eseguita la corrispondenza dinamica di ogni account del Centro gestione account con le categorie a cui è più probabile che risponda in base agli stessi modelli di apprendimento automatico utilizzati oggi per le inserzioni del catalogo Advantage+.

API Categories Management

Le informazioni sulle categorie sono archiviate al livello di catalogo, il che significa che inserzioni diverse che promuovono le categorie dallo stesso catalogo condividono le risorse, allo stesso modo in cui le inserzioni che promuovono prodotti condividono le risorse definite nei cataloghi. Sono supportate diverse opzioni di creatività per personalizzare le inserzioni delle categorie.

Di seguito sono riportate le API per ottenere e aggiornare le informazioni sulle categorie.

Lettura

Richiesta

  curl -G \
    -d 'fields=["criteria_value","name","description","destination_uri","image_url"]' \
    -d 'categorization_criteria=product_type' \
    -d 'filter={"price_amount":{"gt":1500}}' \ # optional
    -d 'access_token=<ACCESS_TOKEN>' \
    https://graph.facebook.com/v19.0/<PRODUCT_CATALOG_ID>/categories

Viene eseguita una query per tutti i prodotti (il filtro opzionale è supportato) e vengono individuate le prime 1000 categorie (ordinate per numero di prodotti).

Esempio di risposta

{
  "data": [
    {
      "criteria_value": "clothes",
      "name": "Awesome clothes",
      "description": "Check out these awesome clothes!",
      "destination_uri": "http://www.example.com/clothes",
      "image_url": "http://www.example.com/clothes.jpg"
    },
    ...
    {
      "criteria_value": "shoes",
      "name": "Awesome shoes",
      "description": "Check out these awesome shoes!",
      "destination_uri": "http://www.example.com/shoes",
      "image_url": "http://www.example.com/shoes.jpg"
    }
  ]
}

Aggiornamento

Puoi specificare più informazioni sulle categorie nei dati. Per ogni categoria, i campi categorization_criteria e criteria_value sono obbligatori, mentre i campi name, description, destination_uri e image_url sono facoltativi. Quando aggiorni le informazioni di una categoria per la prima volta, devi specificare il destination_uri. Se desideri saltare la pubblicazione di una categoria, devi semplicemente impostarne il destination_uri come vuoto.

Nota: l'eliminazione di una categoria non è supportata in questo momento.

Richiesta

curl \
  -F 'data=[{"categorization_criteria":"product_type","criteria_value":"product_type_value","name":"Name","description":"Description","destination_uri":"http://www.example.com/","image_url":"<IMAGE_URL>"}]' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/<lPRODUCT_CATALOG_ID>/categories

Creazione di inserzioni

Le categorie per la creazione di inserzioni del catalogo Advantage+ sono simili alla creazione di inserzioni per altre inserzioni del catalogo Advantage+, ma la selezione della creatività è leggermente diversa. Promuovi comunque un insieme di prodotti con inserzioni dinamiche per categoria, ma vengono mostrate le creatività della categoria.

curl \
  -F "name=Dynamic Category Ad Creative" \
  -F 'object_story_spec={"page_id": "<PAGE_ID>", "template_data": {"description": "{{category.description}}", "link": "https://www.example.com/", "message": "<MESSAGE>", "name": "{{category.name}}"}}' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'categorization_criteria=brand' \
  -F 'category_media_source=MIXED' \ # optional
  -F access_token=<ACCESS_TOKEN> \
  https://graph.facebook.com/v19.0/act_<ACCOUNT_ID>/adcreatives

In questo modo si crea una creatività dell'inserzione di categoria visualizzata in formato carosello:

Token di categoria

I token di categoria supportati sono:

  • category.name: il nome della categoria all'interno dell'insieme di prodotti promosso.
  • category.description: la descrizione della categoria all'interno dell'insieme di prodotti promosso.
  • category.destination_uri: l'URI di destinazione della categoria.
  • category.min_price: il prezzo minimo per questa categoria all'interno dell'insieme di prodotti promosso. Queste informazioni vengono estratte dal catalogo.

Parametri

NomeDescrizione

categorization_criteria

Specifica quale tipo di categoria utilizzare.
Valori:

  • brand
  • product_type
  • google_product_category

category_media_source

Specifica come eseguire il rendering dell'unità del carosello della categoria.
Valori:

  • mixed (impostazione predefinita)
    Usa l'immagine della categoria se esiste; altrimenti, torna a products_collage.
  • category
    Usa l'immagine della categoria. Salta questa categoria se non dispone di un'immagine.
  • products_collage
    Genera un collage 2x2 di immagini del prodotto da questa categoria.
  • products_slideshow
    Esegue il rendering di uno slideshow di prodotti da questa categoria.

Durante la creazione della creatività dell'inserzione della categoria, viene eseguita la ricerca delle categorie delle quali è possibile effettuare il rendering.

Nota: vengono escluse le categorie senza un nome o un URL di destinazione. Vengono inoltre escluse le categorie senza immagini se category_media_source = category.

Errori comuni

La creazione della creatività non va a buon fine se ci sono meno di quattro categorie idonee (ad esempio, per utilizzare le categorie per inserzioni del catalogo Advantage+ come creatività per una determinata campagna, devono essere presenti almeno quattro valori unici in una determinata colonna dal file con elenco di dati).

Passaggio 3: fornitura di una creatività dell'inserzione

I modelli delle inserzioni del catalogo Advantage+ utilizzano i post della Pagina in linea per la creazione delle creatività del modello per il catalogo Advantage+.

Creazione di una creatività del modello

La creazione della creatività di un modello di inserzioni del catalogo Advantage+ è simile a quella delle altre creatività dell'inserzione. La differenza è che puoi aggiungere parametri di modelli che vengono correttamente visualizzati in runtime sulla base dei dati nel file con elenco di dati.

Crea il modello in base all'oggetto template_data delle object_story_spec e usa i seguenti campi:

NomeDescrizioneAccetta i parametri del modello

call_to_action

oggetto

Oggetto call to action.
Il campo value deve essere omesso.

No

message

stringa

Messaggio per la tua inserzione, visibile su Instagram.

link

stringa

Il link al sito web utilizzato per la generazione della didascalia dell'inserzione.
Questo campo verrà sempre sostituito dal campo link dal file con elenco di dati, ad eccezione dell'unità finale delle inserzioni carosello, che si collegheranno a quest'ultima.
Nota: non può essere un URL Facebook.

No

name

stringa

Nome o titolo per la tua inserzione, visibile su Instagram.

description

stringa

Descrizione per la tua inserzione, non visibile su Instagram.

force_single_link

booleano

Facoltativo.
Forza il rendering di un formato di link singolo.
Quando impostato su true, la creatività sarà un'inserzione da un post della Pagina con link che mostra un singolo prodotto. Quando non impostato, l'inserzione risultante sarà un'inserzione carosello. Facebook sceglierà il numero di unità per ottimizzare le prestazioni della tua inserzione.

No

show_multiple_images

booleano

Mostra più immagini nel carosello per un singolo prodotto.
Nota:force_single_link e multi_share_end_card devono essere impostati su true e false rispettivamente.

No

multi_share_end_card

booleano

Facoltativo.
L'impostazione predefinita è true.
Usa questo nel formato carosello. Se impostato su false, rimuoverà l'unità finale che mostra l'icona della pagina.

No

additional_image_index

int

Indica quale immagine dall'array di immagini aggiuntive deve essere usata come immagine dell'inserzione. Si tratta di un indice basato su 0 compreso fra 0 e 19.
Se non è presente un'immagine per un determinato prodotto nell'indice specificato, utilizza l'immagine del prodotto principale.
Nota: gli URL immagine aggiuntivi devono essere unici poiché i duplicati verranno rimossi e ciò influisce sulla numerazione dell'indice.

No

child_attachments

array

Ti permette di fornire una o più unità statiche nelle inserzioni del catalogo Advantage+ per il formato carosello.
Le unità statiche appaiono prima o dopo tutte le inserzioni del catalogo Advantage+. Imposta il campo static_card su true per ciascuna unità statica sotto child_attachments.

No

image_layer_specs

AdCreativeLinkDataImageLayerSpecs

Specifica come trasformare le immagini quando vengono mostrate agli utenti nell'inserzione.
È necessaria una AdCreativeLinkDataImageOverlaySpec per ogni livello per definire come eseguirne il rendering. I livelli saranno visualizzati nell'ordine in cui appaiono nella lista.
Nota: AdCreativeLinkDataImageLayerSpec è disponibile su base limitata. Contatta il tuo rappresentante di Facebook per maggiori dettagli.

No

image_overlay_spec

AdCreativeLinkDataImageOverlaySpec

Specifica come eseguire il rendering di overlay su un'immagine per un articolo dinamico.

No

preferred_image_tags

array

Seleziona quale immagine utilizzare se sono stati aggiunti tag alle immagini.
Per qualsiasi articolo, l'immagine viene scelta nel modo seguente: viene considerato il primo tag in preferred_image_tags con almeno un'immagine per l'articolo e quindi viene eseguito il rendering della prima immagine per tale tag. In assenza di tag corrispondenti all'immagine, viene mostrata la prima immagine.

No

Esempi

Creazione di un modello di inserzioni del catalogo Advantage+ carosello

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "description": "Description {{product.description}}", 
      "link": "<LINK>", 
      "message": "Test {{product.name | titleize}}", 
      "name": "Headline {{product.price}}" 
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives  

Utilizzo di un modello di inserzioni del catalogo Advantage+ con overlay di immagini

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "call_to_action": {"type":"SHOP_NOW"}, 
      "description": "Description {{product.description}}", 
      "link": "<LINK>", 
      "message": "Test {{product.name | titleize}}", 
      "name": "Headline {{product.price}}",
      "image_layer_specs": [
        {
          "layer_type": "image",
          "image_source": "catalog"
        },
        {
          "layer_type": "frame_overlay",
          "blending_mode": "lighten",
          "frame_image_hash": "<HASH>",
          "frame_source": "custom",
          "opacity": 100,
          "overlay_position": "center",
          "scale": 100
        },
        {
          "layer_type": "text_overlay",
          "content": {
            "type": "price"
          },
          "opacity": 100,
          "overlay_position": "top_left",
          "overlay_shape": "rectangle",
          "shape_color": "DF0005",
          "text_color": "FFFFFF",
          "text_font": "open_sans_bold"
        }
      ]
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives

Creazione di un modello di inserzioni del catalogo Advantage+ di un singolo prodotto con una call to action

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "call_to_action": {"type":"SHOP_NOW"}, 
      "description": "Description {{product.description}}", 
      "force_single_link": true, 
      "link": "<LINK>", 
      "message": "Test {{product.name | titleize}}", 
      "name": "Headline {{product.price}}" 
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives  

Creazione di un modello di inserzioni del catalogo Advantage+ carosello in cui l'immagine dell'inserzione utilizza la prima immagine dell'array di immagini aggiuntive

Per visualizzare l'anteprima delle inserzioni del catalogo Advantage+ con l'additional_image_index, devi passare tutte le object_story_spec nell'endpoint /generatepreviews. Se viene passato solo l'object_story_id, non viene generata un'anteprima.

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "additional_image_index": 0, 
      "description": "Description {{product.description}}", 
      "link": "<LINK>", 
      "message": "Test {{product.name | titleize}}", 
      "name": "Headline {{product.price}}" 
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives  

Creazione di un modello di inserzioni del catalogo Advantage+ carosello per un singolo prodotto in cui ciascuna immagine proviene dall'array di immagini aggiuntive nel catalogo

curl -X POST \
     -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
     -F 'object_story_spec={
           "page_id": <PAGE_ID>,
           "template_data": {
             "message": "Test {{product.name | titleize}}",
             "link": "<YOUR_LINK_URL>",
             "name": "Headline {{product.price}}",
             "description": "Description {{product.description}}",
             "multi_share_end_card": false,
             "force_single_link": true,
             "show_multiple_images": true,
           }
         }' \
     -F 'product_set_id=<PRODUCT_SET_ID>' \
     -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives

Creazione di un modello di inserzioni del catalogo Advantage+ carosello con la prima unità come unità statica coupon

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "child_attachments": [ 
        { 
          "call_to_action": {"type":"SHOP_NOW"}, 
          "description": "30% off", 
          "image_hash": "<IMAGE_HASH>", 
          "link": "https:\/\/www.link.com\/coupon", 
          "name": "Coupon Static Card", 
          "static_card": true 
        }, 
        { 
          "call_to_action": {"type":"SHOP_NOW"}, 
          "description": "Description {{product.description}}", 
          "name": "Headline {{product.price}}" 
        } 
      ], 
      "link": "<LINK>", 
      "message": "Test Message" 
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives  

Creazione di uno slideshow carosello da un modello di inserzioni del catalogo Advantage+

Ogni unità dinamica nel carosello viene visualizzata sotto forma di slideshow. Ogni slideshow visualizza più immagini da un articolo dinamico, se tale articolo ha più immagini. Se l'articolo dinamico ha solo un'immagine, visualizziamo un'unità sotto forma di immagine statica.

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'object_story_spec={
    "page_id": "PAGE_ID",
    "template_data": {
      "call_to_action": {"type":"SHOP_NOW"},
      "description": "Description {{product.description}}",
      "link": "LINK",
      "message": "Test {{product.name | titleize}}",
      "name": "Headline {{product.price}}",
      "format_option": "carousel_slideshows"
    }
  }' \
  -F 'product_set_id=PRODUCT_SET_ID' \
  -F 'access_token=ACCESS_TOKEN' \
  https://graph.facebook.com/v19.0/AD_ACCOUNT_ID/adcreatives

La risposta a queste chiamate è l'ID di una nuova creatività del modello di inserzioni del catalogo Advantage+.

{"id":"creative_id"}

Caricamento di un catalogo

Quando si carica un catalogo, puoi specificare tag di stringhe alfanumeriche arbitrari per ogni immagine in ogni proprietà.

<listing>
 <hotel_id>hotel_1</hotel_id>
 ...
 <image>
 <url>https://media-cdn.tripadvisor.com/media/photo-o/05/ca/40/af/the-epiphany-a-joie-de.jpg (https://l.facebook.com/l.php?u=https%3A%2F%2Fmedia-cdn.tripadvisor.com%2Fmedia%2Fphoto-o%2F05%2Fca%2F40%2Faf%2Fthe-epiphany-a-joie-de.jpg&h=ATPTuLcCa7Vsnmn07cEVa0YseTFl1C2hOax9NezejmXDbR48w3CLdjLlwlpuGCRDQmuafQvk03ybGqfhk-2mBcH7xtuKAsnuuq9xKwBd8DwfuBMZkq3n1qX5MdychRKGy2bo2ax9BZQzgqVDY_AvC1EqE6aAdUEc)</url>
 <tag>exterior</tag>
 <tag>first image</tag>
 <tag>tree</tag>
 </image>
 <image>
 <url>http://www3.hilton.com/resources/media/hi/DFWANHH/en_US/img/shared/full_page_image_gallery/main/HH_exteriorview001_1270x560_FitToBoxSmallDimension_Center.jpg (http://l.facebook.com/l.php?u=http%3A%2F%2Fwww3.hilton.com%2Fresources%2Fmedia%2Fhi%2FDFWANHH%2Fen_US%2Fimg%2Fshared%2Ffull_page_image_gallery%2Fmain%2FHH_exteriorview001_1270x560_FitToBoxSmallDimension_Center.jpg&h=ATPTuLcCa7Vsnmn07cEVa0YseTFl1C2hOax9NezejmXDbR48w3CLdjLlwlpuGCRDQmuafQvk03ybGqfhk-2mBcH7xtuKAsnuuq9xKwBd8DwfuBMZkq3n1qX5MdychRKGy2bo2ax9BZQzgqVDY_AvC1EqE6aAdUEc)</url>
 <tag>skyline</tag>
 ...
 </image>
 ...
</listing>

Creazione di una creatività dell'inserzione

Quando si crea una creatività dell'inserzione, è possibile passare un array di preferred_image_tags in object_story_spec.

curl \
 -F 'name=Ad Creative Test'\
 -F 'object_story_spec={
     "page_id": '<PAGE_ID>',
     "template_data": {
       "preferred_image_tags": ["skyline","exterior"],
       "call_to_action": {"type":"BOOK_TRAVEL"},
       "description": "{{hotel.description}}",
       "link": "<URL>",
        "message": "Book your stay in {{hotel.city}}",
        "name": "{{hotel.name | titleize}}"
     }
    }' \
 -F 'product_set_id=<PRODUCT_SET_ID>' \
 -F 'access_token=<ACCESS_TOKEN>' \
 https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives

Abilitazione del video per le inserzioni del catalogo Advantage+

I passaggi principali per la creazione di inserzioni del catalogo Advantage+ rimangono invariati. Per abilitare il video, devi includere i dati video e inserirli all'interno del catalogo. Consulta di seguito per le modifiche necessarie da apportare quando crei o aggiorni i cataloghi.

Passaggio 1: configurazione di un catalogo

Questo esempio utilizza un file XML; altri formati dovrebbero essere simili.

Quando aggiungi video all'annuncio, i campi url e tag sono supportati. Attualmente, è supportato un solo video per ciascun prodotto.

<?xml version="1.0" encoding="utf-8"?>
<listings>
  <title>Test hotel feed</title>
  <listing>
    <hotel_id>hotel_1</hotel_id>
    <name>Test Hotel 1</name>
    <description>A very nice hotel</description>
    <brand>Facebook</brand>
    <address format="simple">
      <component name="addr1">180 Hamilton Ave</component>
      <component name="city">Palo Alto</component>
      <component name="city_id">12345</component>
      <component name="region">California</component>
      <component name="postal_code">94301</component>
      <component name="country">United States</component>
    </address>
    <latitude>37.4435997</latitude>
    <longitude>-122.1615219</longitude>
    <neighborhood>Palo Alto</neighborhood>
    <neighborhood>Silicon Valley</neighborhood>
    <margin_level>8</margin_level>
    <base_price>200.5 USD</base_price>
    <phone>+1 650 666-3311</phone>
    <star_rating>2.5</star_rating>
    <guest_rating>
      <score>7.8</score>
      <rating_system>tripAdvisor</rating_system>
      <number_of_reviewers>300</number_of_reviewers>
    </guest_rating>
    <guest_rating>
      <score>9.8</score>
      <rating_system>Hotels.com</rating_system>
      <number_of_reviewers>35000</number_of_reviewers>
    </guest_rating>
    <image>
      <url>https://media-cdn.tripadvisor.com/media/photo-o/05/ca/40/af/the-epiphany-a-joie-de.jpg</url>
      <tag>front view</tag>
      <tag>first image</tag>
    </image>
    <image>
      <url>http://www.jdvhotels.com/content/uploads/2014/06/72-1200x800.jpg</url>
      <tag>room</tag>
      <tag>bed</tag>
    </image>
    <loyalty_program>Starwood</loyalty_program>
    <url>http://www.jdvhotels.com/hotels/california/silicon-valley-hotels/the-epiphany-hotel/</url>
    <applink property="ios_url" content="example-ios://electronic"/>
    <applink property="ios_app_store_id" content="42"/>
    <applink property="ios_app_name" content="Electronic Example iOS"/>
*    <video>
      <url>http://example.com/some_video1.mp4</url>
      <tag>City</tag>
      <tag>Package</tag>
    </video>*
  </listing>
</listings>

Specifiche del video

Passaggio 2: utilizzo dell'API per ottenere metadati video per la risoluzione dei problemi

Puoi utilizzare l'API per controllare i dati caricati. Per ogni articolo, consenti di inviare query relative ai "metadati video" corrispondenti.

Richiesta
curl -i -X GET \
 "https://graph.intern.facebook.com/v19.0/1234567890?fields=videos_metadata.fields(video,tags,url)&access_token=<ACCESS TOKEN>"

Esempio di risposta

Passaggio 3: abilitazione del video nella creatività o nell'inserzione

Per abilitare il contenuto video a livello di prodotto nelle inserzioni, consulta la documentazione Creazione di inserzioni con contenuti multimediali dinamici.

Monitoraggio dei clic e modelli

Se monitori i clic sul link tramite un click tracker di terzi prima di reindirizzare all'URL del prodotto finale, puoi utilizzare il campo template_url_spec nella creatività dell'inserzione. In tal modo è possibile aggiungere un modello di click tracker al livello dell'inserzione senza la necessità di codificarlo in modo fisso nel file con elenco di dati. Puoi anche usare questo campo per creare modelli per i deep link.

In questo campo, puoi usare campi dinamici come l'URL o l'ID del prodotto, i quali devono disporre della funzione di codifica URL se i loro valori possono includere caratteri che rendono l'URL non valido.

Esempio

Per creare un modello di inserzioni del catalogo Advantage+ carosello con l'impostazione template_url_spec:

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "description": "Description {{product.description}}", 
      "link": "<URL>", 
      "message": "Test {{product.name | titleize}}", 
      "name": "Headline {{product.price}}" 
    } 
  }' \
  -F 'template_url_spec={ 
    "ios": { 
      "app_store_id": "123", 
      "url": "example:\/\/link\/?nav=item.view&id={{product.retailer_id | urlencode}}&referrer=http:\/\/rover.example.com\/rover\/1\/711-198453-24755-9\/16%3Fitemid={{product.retailer_id | urlencode | urlencode}}" 
    }, 
    "web": { 
      "url": "http:\/\/clicktrack.com\/cm325?id={{product.retailer_id | urlencode}}&redirect_url={{product.url | urlencode | urlencode}}" 
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives  

Utilizzo dei dati del file con elenco di dati nel tuo modello

Quando viene visualizzata un'inserzione, Facebook sostituisce il contenuto nella sezione {{ }} con i valori corretti dal file con elenco di dati. I valori del modello disponibili sono:

NomeDescrizione

brand

Il valore brand dell'articolo dal file con elenco di dati.

current_price

Il prezzo promozionale formattato se il prodotto ha un prezzo promozionale specifico. Se lo desideri, puoi specificare le date di inizio e fine della vendita scontata di un prodotto e il current_price mostrerà il prezzo di vendita mentre l'articolo è in saldo. Se non è specificato alcun prezzo scontato o se le date di vendita scontata sono superate, viene mostrato il campo del prezzo.

description

Il valore description dell'articolo dal file con elenco di dati.

name

Il valore title dell'articolo dal file con elenco di dati.

price

La colonna price formattata (come $1,234.56).

retailer_id

Il valore id dell'articolo dal file con elenco di dati.

url

Il valore link dell'articolo dal file con elenco di dati.

custom_label_0

Il valore custom_label_0 dell'articolo dal file con elenco di dati.

custom_label_1

Il valore custom_label_1 dell'articolo dal file con elenco di dati.

custom_label_2

Il valore custom_label_2 dell'articolo dal file con elenco di dati.

custom_label_3

Il valore custom_label_3 dell'articolo dal file con elenco di dati.

custom_label_4

Il valore custom_label_4 dell'articolo dal file con elenco di dati.

Opzioni

Alcuni valori di modelli possono accettare opzioni, in qualsiasi ordine, nel seguente formato:

{{field option1 option2 ...}}

Sono disponibili le seguenti opzioni:

OpzioneDescrizioneSupportata da

raw

Omette il simbolo della valuta.

price
current_price

strip_zeros

Omette i centesimi nella valuta se sono pari a zero.

price
current_price

round

Omette l'importo dei centesimi della valuta al momento dell'arrotondamento del prezzo.

Tutti i campi di prezzo

Trasformazioni

Puoi usare i valori del modello con trasformazioni, che adattano il valore in base a questo formato:

{{field | transform}}

Usa una di queste trasformazioni:

TrasformazioniDescrizione

number_format

Formatta il numero nel formato predefinito, usando una virgola (",") come separatore delle migliaia, arrotondato all'intero più vicino (ad es., 1234.56->"1,235"). Il valore da formattare deve essere un numero non formattato ("1234", non "1,234").

titleize

Utilizza l'iniziale maiuscola per dare maggiore impatto al titolo, (ad es. "confezione" -> "Confezione").

urlencode

Codifica il valore dell'URL.

Indicazione del comportamento desiderato dei clic sulle inserzioni da mobile

Quando visualizzi una creatività dinamica, puoi specificare il comportamento desiderato quando qualcuno clicca sull'inserzione dell'app Facebook nativa. Occorre rispettare due requisiti per poter usare i deep link:

  1. L'app mobile nativa alla quale l'utente viene inviato deve supportare i deep link (iOS o Android).
  2. Le informazioni sul deep link devono essere incluse nel file con elenco di dati oppure devono essere disponibili tramite App Links.

Se entrambi i requisiti sono soddisfatti, puoi usare il campo applink_treatment mentre crei una creatività dell'inserzione per specificare il comportamento desiderato quando un utente clicca su un'inserzione.

NomeDescrizione

web_only

Invia sempre l'utente all'URL web fornito.

deeplink_with_web_fallback

Se l'app è installata nel telefono dell'utente e abbiamo informazioni sui deep link corrispondenti, invia l'utente all'app. Se una di queste condizioni non viene soddisfatta, l'utente viene inviato al sito web.

deeplink_with_appstore_fallback

Predefinito quando per il prodotto sono presenti deep link all'interno dell'app. Se l'app è installata nel telefono dell'utente e abbiamo informazioni sul deep link corrispondenti, invia l'utente all'app. Se l'app non è installata, invia l'utente all'app store per scaricare l'app.

Esempi

Creazione di un modello di inserzioni del catalogo Advantage+ carosello con una call to action contenente un deep link a un'app nativa, se disponibile, o che rimanda al web:

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'applink_treatment=deeplink_with_web_fallback' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "call_to_action": {"type":"SHOP_NOW"}, 
      "description": "Description {{product.description}}", 
      "link": "<LINK>", 
      "message": "Test {{product.name | titleize}}", 
      "name": "Headline {{product.price}}" 
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives  

Creazione di un modello di inserzioni del catalogo Advantage+ carosello con tag URL abilitati contenenti un deep link a un'app nativa, se disponibile, o che rimandano all'app store per scaricarla:

curl \
  -F 'name=Advantage+ Catalog Ads Template Creative Sample' \
  -F 'applink_treatment=deeplink_with_appstore_fallback' \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "template_data": { 
      "call_to_action": {"type":"SHOP_NOW"}, 
      "description": "Description {{product.description}}", 
      "link": "<LINK>", 
      "message": "Test {{product.name | titleize}}", 
      "name": "Headline {{product.price}}" 
    } 
  }' \
  -F 'product_set_id=<PRODUCT_SET_ID>' \
  -F 'access_token<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives

Creazione di un catalogo localizzato per le inserzioni del catalogo Advantage+

Per maggiori dettagli consulta Catalogo localizzato per le inserzioni del catalogo Advantage+.

Passaggio 4: creazione di un'inserzione

Infine, puoi creare un'inserzione. L'inserzione si riferisce a una creatività dell'inserzione.

Esempio

curl -X POST \ -F 'name="My Ad"' \ -F 'adset_id="<AD_SET_ID>"' \ -F 'creative={ "creative_id": "<CREATIVE_ID>" }' \ -F 'status="PAUSED"' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/ads
'use strict'; const bizSdk = require('facebook-nodejs-business-sdk'); const AdAccount = bizSdk.AdAccount; const Ad = bizSdk.Ad; const access_token = '<ACCESS_TOKEN>'; const app_secret = '<APP_SECRET>'; const app_id = '<APP_ID>'; const id = '<AD_ACCOUNT_ID>'; const api = bizSdk.FacebookAdsApi.init(access_token); const showDebugingInfo = true; // Setting this to true shows more debugging info. if (showDebugingInfo) { api.setDebug(true); } const logApiCallResult = (apiCallName, data) => { console.log(apiCallName); if (showDebugingInfo) { console.log('Data:' + JSON.stringify(data)); } }; let fields, params; fields = [ ]; params = { 'name' : 'My Ad', 'adset_id' : '<adSetID>', 'creative' : {'creative_id':'<adCreativeID>'}, 'status' : 'PAUSED', }; const ads = (new AdAccount(id)).createAd( fields, params ); logApiCallResult('ads api call complete.', ads);
require __DIR__ . '/vendor/autoload.php'; use FacebookAds\Object\AdAccount; use FacebookAds\Object\Ad; use FacebookAds\Api; use FacebookAds\Logger\CurlLogger; $access_token = '<ACCESS_TOKEN>'; $app_secret = '<APP_SECRET>'; $app_id = '<APP_ID>'; $id = '<AD_ACCOUNT_ID>'; $api = Api::init($app_id, $app_secret, $access_token); $api->setLogger(new CurlLogger()); $fields = array( ); $params = array( 'name' => 'My Ad', 'adset_id' => '<adSetID>', 'creative' => array('creative_id' => '<adCreativeID>'), 'status' => 'PAUSED', ); echo json_encode((new AdAccount($id))->createAd( $fields, $params )->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adaccount import AdAccount from facebook_business.adobjects.ad import Ad from facebook_business.api import FacebookAdsApi access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_ACCOUNT_ID>' FacebookAdsApi.init(access_token=access_token) fields = [ ] params = { 'name': 'My Ad', 'adset_id': '<adSetID>', 'creative': {'creative_id':'<adCreativeID>'}, 'status': 'PAUSED', } print AdAccount(id).create_ad( fields=fields, params=params, )
import com.facebook.ads.sdk.*; import java.io.File; import java.util.Arrays; public class SAMPLE_CODE_EXAMPLE { public static void main (String args[]) throws APIException { String access_token = \"<ACCESS_TOKEN>\"; String app_secret = \"<APP_SECRET>\"; String app_id = \"<APP_ID>\"; String id = \"<AD_ACCOUNT_ID>\"; APIContext context = new APIContext(access_token).enableDebug(true); new AdAccount(id, context).createAd() .setName(\"My Ad\") .setAdsetId(<adSetID>L) .setCreative( new AdCreative() .setFieldId(\"<adCreativeID>\") ) .setStatus(Ad.EnumStatus.VALUE_PAUSED) .execute(); } }
require 'facebook_ads' access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_ACCOUNT_ID>' FacebookAds.configure do |config| config.access_token = access_token config.app_secret = app_secret end ad_account = FacebookAds::AdAccount.get(id) ads = ad_account.ads.create({ name: 'My Ad', adset_id: '<adSetID>', creative: {'creative_id':'<adCreativeID>'}, status: 'PAUSED', })

Congratulazioni! Hai creato la tua prima inserzione del catalogo Advantage+. Puoi riprenderla quando vuoi per avviare la pubblicazione.

Quando vengono pubblicate come inserzioni di Instagram Stories, le inserzioni del catalogo Advantage+ vengono tagliate in formato 1:1 indipendentemente dalle dimensioni dell'immagine originale.

Passaggi successivi

Anteprima delle inserzioni del catalogo Advantage+

Puoi generare le anteprime della tua creatività dinamica con l'endpoint Ad Previews. Specifica il parametro product_item_ids o più product_item_ids per visualizzare in anteprima un'inserzione carosello.

curl -X GET \ -d 'ad_format="DESKTOP_FEED_STANDARD"' \ -d 'product_item_ids=[ "<PRODUCT_ITEM_ID>" ]' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v19.0/<CREATIVE_ID>/previews
'use strict'; const bizSdk = require('facebook-nodejs-business-sdk'); const AdCreative = bizSdk.AdCreative; const AdPreview = bizSdk.AdPreview; const access_token = '<ACCESS_TOKEN>'; const app_secret = '<APP_SECRET>'; const app_id = '<APP_ID>'; const id = '<AD_CREATIVE_ID>'; const api = bizSdk.FacebookAdsApi.init(access_token); const showDebugingInfo = true; // Setting this to true shows more debugging info. if (showDebugingInfo) { api.setDebug(true); } const logApiCallResult = (apiCallName, data) => { console.log(apiCallName); if (showDebugingInfo) { console.log('Data:' + JSON.stringify(data)); } }; let fields, params; fields = [ ]; params = { 'ad_format' : 'DESKTOP_FEED_STANDARD', 'product_item_ids' : ['<productItemID>'], }; const previewss = (new AdCreative(id)).getPreviews( fields, params ); logApiCallResult('previewss api call complete.', previewss);
require __DIR__ . '/vendor/autoload.php'; use FacebookAds\Object\AdCreative; use FacebookAds\Object\AdPreview; use FacebookAds\Api; use FacebookAds\Logger\CurlLogger; $access_token = '<ACCESS_TOKEN>'; $app_secret = '<APP_SECRET>'; $app_id = '<APP_ID>'; $id = '<AD_CREATIVE_ID>'; $api = Api::init($app_id, $app_secret, $access_token); $api->setLogger(new CurlLogger()); $fields = array( ); $params = array( 'ad_format' => 'DESKTOP_FEED_STANDARD', 'product_item_ids' => array('<productItemID>'), ); echo json_encode((new AdCreative($id))->getPreviews( $fields, $params )->getResponse()->getContent(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adcreative import AdCreative from facebook_business.adobjects.adpreview import AdPreview from facebook_business.api import FacebookAdsApi access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_CREATIVE_ID>' FacebookAdsApi.init(access_token=access_token) fields = [ ] params = { 'ad_format': 'DESKTOP_FEED_STANDARD', 'product_item_ids': ['<productItemID>'], } print AdCreative(id).get_previews( fields=fields, params=params, )
import com.facebook.ads.sdk.*; import java.io.File; import java.util.Arrays; public class SAMPLE_CODE_EXAMPLE { public static void main (String args[]) throws APIException { String access_token = \"<ACCESS_TOKEN>\"; String app_secret = \"<APP_SECRET>\"; String app_id = \"<APP_ID>\"; String id = \"<AD_CREATIVE_ID>\"; APIContext context = new APIContext(access_token).enableDebug(true); new AdCreative(id, context).getPreviews() .setAdFormat(AdPreview.EnumAdFormat.VALUE_DESKTOP_FEED_STANDARD) .setProductItemIds(\"[\\"<productItemID>\\"]\") .execute(); } }
require 'facebook_ads' access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_CREATIVE_ID>' FacebookAds.configure do |config| config.access_token = access_token config.app_secret = app_secret end ad_creative = FacebookAds::AdCreative.get(id) previewss = ad_creative.previews({ fields: { }, ad_format: 'DESKTOP_FEED_STANDARD', product_item_ids: ['<productItemID>'], })

Parametri

NomeDescrizione

product_item_ids

array [stringa]

Lista degli ID Facebook del prodotto o dei token ID prodotto con codifica URL in base64.
Ciascun token è nel formato catalog:{catalog_id}:{base64urlencode(retailer_id)}.

Recupero delle statistiche sulle inserzioni prodotto

Puoi recuperare le statistiche per prodotto effettuando una chiamata GET all'endpoint insights. Aggiungi il product_id al parametro fields.

Questa operazione mostra le statistiche di tutti i prodotti inclusi negli insiemi di prodotti di un account visualizzati nelle inserzioni del catalogo Advantage+.

Esempio

Questo esempio riporta clicks, actions e impressions per ciascun product_id.

Richiesta
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Fields\AdsInsightsFields;
use FacebookAds\Object\Values\AdsInsightsActionBreakdownsValues;
use FacebookAds\Object\Values\AdsInsightsDatePresetValues;
use FacebookAds\Object\Values\AdsInsightsBreakdownsValues;

$account = new AdAccount('act_<AD_ACCOUNT_ID>');

$fields = array(
  AdsInsightsFields::ACCOUNT_NAME,
  AdsInsightsFields::IMPRESSIONS,
  AdsInsightsFields::ACTIONS,
);

$params = array(
  'date_preset' => AdsInsightsDatePresetValues::LAST_WEEK,
  'action_breakdowns' => array(
    AdsInsightsActionBreakdownsValues::ACTION_TYPE,
  ),
  'breakdowns' => array(
    AdsInsightsBreakdownsValues::PRODUCT_ID,
  ),
);

$stats = $account->getInsights($fields, $params);
from facebookads.adobjects.adaccount import AdAccount
from facebookads.adobjects.adsinsights import AdsInsights

account = AdAccount('act_<AD_ACCOUNT_ID>')

fields = [
    AdsInsights.Field.account_name,
    AdsInsights.Field.impressions,
    AdsInsights.Field.actions,
]

params = {
    'date_preset': 'last_week',
    'actions_group_by': ['action_type'],
    'breakdowns': [
        AdsInsights.Breakdowns.product_id,
    ],
}

stats = account.get_insights(fields=fields, params=params)
APINodeList<AdsInsights> adsInsightss = new AdAccount(act_<AD_ACCOUNT_ID>, context).getInsights()
  .setDatePreset(AdsInsights.EnumDatePreset.VALUE_LAST_WEEK)
  .setActionBreakdowns("[\"action_type\"]")
  .setBreakdowns("[\"product_id\"]")
  .requestField("account_name")
  .requestField("impressions")
  .requestField("actions")
  .execute();
curl -G \
  -d 'date_preset=last_week' \
  -d 'action_breakdowns=["action_type"]' \
  -d 'breakdowns=["product_id"]' \
  -d 'fields=account_name,impressions,actions' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.8/act_<AD_ACCOUNT_ID>/insights
Risposta
{
 "data": [ 
   {
      "account_id": "123456", 
      "product_id": "60750", 
      "date_start": "2015-02-03", 
      "date_stop": "2015-02-03", 
      "impressions": 880, 
      "clicks": 8, 
      "actions": [ 
        {
          "action_type": "link_click", 
          "value": 6
        }, 
        {
          "action_type": "offsite_conversion.other", 
          "value": 5
        },  
        {
          "action_type": "offsite_conversion", 
          "value": 5
        }
      ], 
      "account_name": "My Account"
    }, 
 ], 
...
}

Recupero di commenti e "Mi piace"

Puoi recuperare i commenti, i "Mi piace" e il product_id di un post per le inserzioni del catalogo Advantage+. Effettua una chiamata GET nel seguente modo con un post_id. Il post_id è l'effective_object_story_id della creatività dell'inserzione nel formato PageID_PostID.

Nota: non puoi usare questo endpoint per recuperare i commenti da Instagram.

curl -G \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<API_VERSION>/<POST_ID>/dynamic_posts

Questo endpoint restituisce oggetti dynamic post.

Una volta ottenute le pubblicazioni dinamiche, puoi recuperare comments, likes, product_id e child_attachments del formato carosello, se applicabile.

Il segmento dynamic_posts non restituirà le inserzioni per la personalizzazione delle risorse di posizionamento.