Démarrer avec les publicités de catalogue Advantage+

Les publicités de catalogue Advantage+ vous permettent de créer des publicités personnalisées qui ciblent les audiences adéquates en fonction d’un ensemble de produits défini.

Les annonceurs exécutant des publicités sur l’hébergement, l’emploi, l’obtention d’un crédit ou les problèmes de crédit, les élections et la politique sont soumis à des ensembles de restrictions différents. Pour plus d’informations, consultez la section Catégories publicitaires spéciales.

Avant de commencer

Pour créer une campagne de publicités de catalogue Advantage+, il vous faut :

  • une Page Facebook représentant l’annonceur, et un compte Instagram si vous comptez diffuser la campagne sur Instagram (facultatif),
  • un compte publicitaire avec des informations de paiement enregistrées,
  • un catalogue, par exemple un catalogue produits disponible dans votre compte Business Manager.

Vous pouvez éventuellement configurer une audience produit dynamique, mais vous n’êtes pas tenu d’inclure ou d’exclure des ensembles de produits dans vos paramètres de ciblage.

Étape 1 : créer une campagne publicitaire

Pour apprendre à créer une campagne publicitaire, consultez la section Campagne publicitaire.

À ce niveau, vous devez définir votre objectif publicitaire via le champ objective. Pour les publicités de catalogue Advantage+, les objectifs pris en charge sont PRODUCT_CATALOG_SALES, CONVERSIONS, LINK_CLICKS ou APP_INSTALLS. Si le paramètre objective indiqué est de type CONVERSIONS, LINK_CLICKS ou APP_INSTALLS, le champ promoted_object n’est pas obligatoire.

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

Étape 2 : créer un ensemble de publicités

Dans le cadre des publicités de catalogue Advantage+, vous devez spécifier le product_set_id dans le champ promoted_object au niveau de votre ensemble de publicités pour ainsi promouvoir des produits depuis cet ensemble de produits.

En outre, vous pouvez également définir votre propre évènement de conversion pour cet ensemble de produits en spécifiant le paramètre custom_event_type dans le champ promoted_object, lorsque le paramètre optimization_goal est défini sur OFFSITE_CONVERSIONS. Cela vous permet de cibler les personnes qui ont déclenché cet évènement dans votre application ou sur votre site.

Par exemple, si vous définissez ce paramètre sur ADD_TO_CART, cela signifie que vous ciblez l’évènement de conversion Ajout au panier. Par défaut, le paramètre custom_event_type est défini sur PURCHASE. Pour en savoir plus sur les évènements standard et les valeurs possibles pour le paramètre custom_event_type, consultez la section Suivi des conversions Pixel Meta.

Pour optimiser vos conversions hors site, y compris celles générées par des évènements d’application et le pixel Facebook, et pour être facturé sur la base des impressions :

  • Définissez le paramètre optimization_goal sur OFFSITE_CONVERSIONS.
  • Définissez le paramètre billing_event sur IMPRESSIONS.

Des informations plus détaillées sur les combinaisons optimization_goal et billing_event valides sont disponibles dans la section Objectif d’optimisation et évènements de facturation.

Voici un exemple de création d’un ensemble de publicités dont la facturation s’effectue sur les IMPRESSIONS et qui optimise les enchères pour les 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 fait référence à une audience produits. Vous pouvez éventuellement omettre les dynamic_audience_ids de l’appel.

Pour les opérations de e-commerce, vous pouvez omettre les dynamic_audience_ids de l’appel et envoyer à la place les informations de ciblage comportemental pour les paramètres product_audience_specs ou excluded_product_audience_specs. Ces spécifications sont définies par les mêmes paramètres que ceux utilisés pour créer une audience produits.

Paramètres

NomDescription

product_set_id

chaîne numérique

Obligatoire.
Ensemble de produits que cette audience doit cibler.

inclusions

Objet JSON

Obligatoire.
Ensemble d’évènements à cibler. Au moins une inclusion est requise. Chacune doit contenir exactement un évènement event.

inclusions.retention_seconds

entier

Obligatoire.
Durée (en secondes) de rétention d’un compte d’Espace Comptes dans l’audience.

inclusions.rule

objet[]

Obligatoire.
Règle d’audience personnalisée de site web référençant un attribut event.

exclusions

objet JSON

Facultatif.
Ensemble d’évènements pour lesquels un compte Espace Comptes est exclu du ciblage.

exclusions.retention_seconds

entier

Obligatoire, si l’exclusion est spécifiée.
Durée (en secondes) de conservation de l’exclusion.

exclusions.rule

objet[]

Obligatoire, si l’exclusion est spécifiée.
Règle d’audience personnalisée du site web référençant un attribut event.

Chaque règle doit inclure un attribut event avec l’opérateur eq soit en tant que règle de niveau supérieur, soit en tant que partie d’une règle and de niveau supérieur.

Reciblage

Dans cet exemple, nous ciblons les personnes qui ont consulté des produits au cours des trois à cinq derniers jours, sans effectuer d’achat. Les publicités sont diffusées dans le fil sur mobile et sur l’Audience Network. Pour créer cette audience :

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

Vente croisée ou incitative

Exemple pour effectuer la promotion de produits que l’utilisateur·ice n’a pas consultés :

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

Pour favoriser la vente croisée entre des ensembles de produits :

  • Fournissez l’audience produits avec des règles d’évènement associées à l’ensemble de produits A.
  • Affichez l’ensemble de produits B dans la publicité en définissant le paramètre product_set_id sur l’ensemble de produits B au niveau du contenu publicitaire.

Prenons l’exemple suivant : une entreprise souhaite accroître les ventes de sacs à main de l’ensemble PRODUCT_SET_1 en ciblant les utilisatrices qui ont déjà manifesté de l’intérêt pour des chaussures de l’ensemble PRODUCT_SET_2. Définissez le paramètre product_set_id dans le champ product_audience_specs sur l’ID de PRODUCT_SET_2 (chaussures) et le paramètre product_set_id dans le champ promoted_object sur l’ID de PRODUCT_SET_1 (sacs à main).

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  

Enfin, définissez le paramètre product_set_id dans le contenu publicitaire sur l’ID de 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

Ciblage d’une audience large

En plus du reciblage et de la vente croisée auprès de votre clientèle existante, les publicités de catalogue Advantage+ peuvent être utilisées pour cibler des audiences larges en fonction de l’âge, du genre et d’autres critères démographiques. L’objectif ici est de promouvoir des articles pertinents de votre catalogue produits. En combinant les audiences larges aux enchères optimisées pour les conversions hors site, les publicités de catalogue Advantage+ vous permettent d’étendre efficacement la portée de vos publicités.

Pour cibler des audiences larges :

  • Créez une audience à partir de critères démographiques de base, par exemple « femmes âgées de plus de 18 ans résidant aux États-Unis ».
  • Incluez customOptimize pour OFFSITE_CONVERSIONS avec des signaux d’intention plus forts, tels que Purchase ou InitiateCheckout.

Dans cet exemple, nous créons un ensemble de publicités ciblant les femmes âgées de 30 à 65 ans aux États-Unis, mais excluant les clientes qui ont effectué un achat au cours des dix derniers jours. Nous définissons une enchère de 8 $ à l’aide de OFFSITE_CONVERSIONS pour les évènements 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

Catégories de publicités de catalogue Advantage+

Les annonceurs exécutant des publicités sur l’hébergement, l’emploi, l’obtention d’un crédit ou les problèmes de crédit, les élections et la politique sont soumis à des ensembles de restrictions différents. Pour plus d’informations, consultez la section Catégories publicitaires spéciales.

Deux nouvelles options de contenu publicitaire viennent compléter les catégories de la plateforme de publicités de catalogue Advantage+. Toutes deux peuvent être utilisées afin de personnaliser le contenu publicitaire pour les acheteurs et acheteuses qui se trouvent en amont dans leur parcours décisionnel. Grâce à cette fonctionnalité, vous pouvez créer un second catalogue d’images plus petit représentant chaque catégorie (en plus du catalogue que vous possédez déjà pour l’imagerie produit). Nous établirons alors une correspondance entre les catégories de produits et les personnes dans vos publicités de la même manière que nous établissons une correspondance entre les produits et les personnes.

Les catégories des publicités de catalogue Advantage+ peuvent être utilisées avec tout type d’option de ciblage dans les objectifs de Trafic, de Conversion ou de Ventes sur catalogue. Si vous ne disposez pas d’une image de haute qualité représentative de chaque catégorie ou marque, Facebook peut générer automatiquement un collage 2x2 des meilleurs produits pour chaque groupe de produits.

Lorsque vous mettez en correspondance ces nouvelles images sur les catalogues produits existants, vous pouvez utiliser l’une des trois colonnes de votre flux pour regrouper les articles : par marque, par type de produit et par catégorie de produits Google.

Si nous prenons l’exemple du catalogue ci-dessous, la colonne type de produit contient cinq valeurs uniques. L’annonceur peut fournir jusqu’à cinq collages ou images de style de vie, un pour chaque valeur unique de product_type. Le type de produit correspond aux critères de catégorisation de la catégorie, qui est le nom du champ de catalogue utilisé pour définir les catégories. La valeur du champ de catalogue correspond à la valeur des critères de la catégorie.

Une catégorie est identifiée de façon unique par :

  • ID de catalogue produits
  • Critères de catégorisation (marque, type de produit ou catégorie de produits Google)
  • Valeur de critères (extraite du catalogue)
Retailer ID Nom Prix Type de produit Marque Catégorie

prod_1

T-shirt

25 €

Vêtements

Marque A

Catégorie A

prod_2

Sweatshirt FB

30 €

Vêtements

Marque B

Catégorie A

prod_3

iPhone 6

800 €

Téléphone

Marque C

Catégorie B

prod_4

Samsung Galaxy S5

750 €

Téléphone

Marque C

Catégorie B

prod_5

Cuiseur à riz

120 €

Électroménager

Marque C

Catégorie C

prod_6

Canapé Parker

500 €

Électroménager

Marque D

Catégorie D

prod_7

Crème solaire

14 €

Soins personnels

Marque E

Catégorie E

Vous pouvez associer chaque catégorie (par exemple, chaque groupe de produits défini par des valeurs uniques dans l’une des colonnes spécifiées ci-dessus) à des ressources :

  • Nom : nom court de la catégorie destiné aux utilisateurs et utilisatrices (40 caractères maximum).
  • Description : description de la catégorie destinée aux utilisateurs et utilisatrices (20 caractères maximum).
  • destination_uri : URL de la page de destination lorsqu’un utilisateur ou une utilisatrice clique sur la catégorie.
  • image_url : facultatif. URL d’une image de style de vie représentant la catégorie. Si aucune image_url n’est fournie, nous générons automatiquement un collage des meilleurs produits de cette catégorie.

Au cours de la diffusion des publicités, nous associons de manière dynamique chaque compte Espace Comptes aux catégories auxquelles il est le plus susceptible de répondre en utilisant les mêmes modèles de machine learning qui alimentent les publicités de catalogue Advantage+ aujourd’hui.

API Categories Management

Les informations sur les catégories sont stockées au niveau du catalogue. Ainsi, les différentes publicités faisant la promotion des catégories du même catalogue partagent des ressources, de la même manière que les publicités faisant la promotion de produits partagent des ressources définies dans les catalogues. Nous acceptons des options de contenu publicitaire différentes en vue de la personnalisation de publicités de catégorie.

Les API permettant d’obtenir et de mettre à jour des informations sur les catégories sont répertoriées ci-dessous.

Lecture

Requête

  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

Nous lançons une requête pour tous les produits (le filtre facultatif est pris en charge) et trouvons les 1 000 premières catégories (ordonnées par nombre de produits).

Exemple de réponse

{
  "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"
    }
  ]
}

Mise à jour

Vous pouvez indiquer des informations de plusieurs catégories dans les données. Pour chaque catégorie, les champs categorization_criteria et criteria_value sont nécessaires, tandis que les champs name, description, destination_uri et image_url sont facultatifs. Lorsque vous mettez à jour les informations d’une catégorie pour la première fois, vous devez spécifier le champ destination_uri. Si vous souhaitez ignorer la diffusion d’une catégorie, définissez simplement le champ destination_uri comme étant vide.

Remarque : la suppression d’une catégorie n’est actuellement pas prise en charge.

Requête

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

Création de publicités

Les catégories de création de publicités de catalogue Advantage+ sont similaires à celles de création de publicités pour les autres publicités de catalogue Advantage+, à ceci près que la sélection de contenu publicitaire est légèrement différente. Vous continuez à promouvoir un ensemble de produits avec des publicités de catégories dynamiques. La différence réside dans le fait que nous montrons des contenus publicitaires de catégorie à la place.

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

Cela crée un contenu publicitaire de catégorie dont le rendu est au format carrousel :

Tokens de catégorie

Tokens de catégorie pris en charge :

  • category.name : nom de la catégorie dans l’ensemble de produits promus.
  • category.description : description de la catégorie dans l’ensemble de produits promus.
  • category.destination_uri : URI de destination de la catégorie.
  • category.min_price : prix minimum pour cette catégorie dans l’ensemble de produits promus. Les informations sont extraites du catalogue.

Paramètres

NomDescription

categorization_criteria

Indique quel type de catégorie utiliser.
Valeurs :

  • brand
  • product_type
  • google_product_category

category_media_source

Indique comment effectuer le rendu de la carte carrousel de catégorie.
Valeurs :

  • mixed (par défaut)
    Utilise l’image de la catégorie si elle existe ; sinon, revient à products_collage.
  • category
    Utilise la catégorie de l’image. Ignorez cette catégorie si elle ne possède aucune image.
  • products_collage
    Génère un collage 2x2 des images produit issues de cette catégorie.
  • products_slideshow
    Affiche un diaporama des produits de cette catégorie.

Lors de la création du contenu publicitaire d’une catégorie, nous recherchons des catégories de rendu possibles.

Remarque : Nous filtrons les catégories sans nom ni URL de destination. Nous filtrons également les catégories sans image si category_media_source = category.

Erreurs courantes

La création de contenu publicitaire échoue s’il y a moins de quatre catégories éligibles (par exemple, pour utiliser des catégories pour les publicités de catalogue Advantage+ en tant que contenu publicitaire pour une campagne donnée, il doit exister au moins quatre valeurs uniques dans une colonne donnée de votre fichier de flux de données).

Étape 3 : fournir un contenu publicitaire

Les modèles de publicités de catalogue Advantage+ utilisent des publications de Page en ligne pour créer des contenus publicitaires de modèle de catalogue Advantage+.

Créer un contenu publicitaire de modèle

Le processus de création d’un contenu publicitaire de modèle de publicité de catalogue Advantage+ est similaire au processus de création des autres contenus publicitaires. La différence réside dans le fait que vous pouvez ajouter des paramètres de modèle dont le rendu s’effectue au moment de l’exécution en fonction des données de votre fichier de flux de données.

Créez le modèle sur la base de l’objet template_data du paramètre object_story_spec à l’aide des champs suivants :

NomDescriptionAccepte les paramètres de modèle

call_to_action

objet

Objet call-to-action.
Le champ value doit être omis.

Non

message

chaîne

Message de votre publicité, visible sur Instagram.

Oui

link

chaîne

Lien vers votre site web, utilisé pour générer les sous-titres de la publicité.
Ce champ sera toujours remplacé par le champ link de votre fichier de flux de données, sauf pour la carte finale des publicités carrousel qui lui sera associée.
Remarque : il ne peut pas s’agir d’une URL Facebook.

Non

name

chaîne

Nom ou titre de votre publicité, visible sur Instagram.

Oui

description

chaîne

Description de votre publicité, visible sur Instagram.

Oui

force_single_link

booléen

Facultatif.
Force le rendu au format lien unique.
Lorsque ce paramètre est défini sur true, le contenu publicitaire sera une publicité pour une page web publiée par une Page et montant un seul produit. S’il est omis, vous obtenez une publicité carrousel. Facebook choisit le nombre de fiches de manière à optimiser les performances de votre publicité.

Non

show_multiple_images

booléen

Montre plusieurs images dans le carrousel pour un seul produit.
Remarque :force_single_link et multi_share_end_card doivent être définis respectivement sur true et false.

Non

multi_share_end_card

booléen

Facultatif.
La valeur par défaut est true.
À utiliser dans un format carrousel. S’il est défini sur false, la carte de fin qui montre l’icône de la Page est supprimée.

Non

additional_image_index

entier

Indique quelle image du tableau d’images supplémentaires doit être utilisée en tant qu’image publicitaire. Il s’agit d’un indice à base zéro allant de 0 à 19.
S’il n’y a pas d’image pour un produit donné à l’indice spécifié, utilisez l’image principale du produit.
Remarque : les URL des images supplémentaires doivent être uniques, car les doublons seront supprimés, ce qui affecte la numérotation de l’indice.

Non

child_attachments

tableau

Vous permet de fournir ou une plusieurs cartes statiques dans les publicités de catalogue Advantage+ pour le format carrousel.
Les cartes statiques apparaissent avant ou après toutes les publicités de catalogue Advantage+. Définissez le champ static_card sur true pour chaque carte statique sous child_attachments.

Non

image_layer_specs

AdCreativeLinkDataImageLayerSpecs

Indique comment transformer les images lorsqu’elles sont diffusées dans la publicité.
Une valeur AdCreativeLinkDataImageOverlaySpec est nécessaire pour chaque couche afin de définir le rendu de la couche. Le rendu des couches s’effectuera dans l’ordre des couches dans la liste.
Remarque : AdCreativeLinkDataImageLayerSpec est disponible de manière limitée. N’hésitez pas à contacter votre représentant ou représentante Facebook pour plus de détails.

Non

image_overlay_spec

AdCreativeLinkDataImageOverlaySpec

Spécifie comment rendre les superpositions sur une image pour un article dynamique.

Non

preferred_image_tags

tableau

Sélectionne l’image à utiliser si vous avez ajouté des tags à vos images.
Pour un article, nous choisissons l’image de la façon suivante : nous obtenons le premier tag dans preferred_image_tags qui possède au moins une image pour l’article, puis nous effectuons le rendu de cette première image pour le tag en question. Si aucun tag ne correspond à une image, nous diffusons la première image.

Non

Exemples

Créer un modèle de publicités de catalogue Advantage+ carrousel

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  

Utiliser un modèle de publicités de catalogue Advantage+ avec superpositions des images

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

Créer un modèle de publicités de catalogue Advantage+ pour un seul produit avec un 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  

Créer un modèle de publicités de catalogue Advantage+ carrousel dans lequel l’image publicitaire utilise la première image du tableau d’images supplémentaires

Pour afficher un aperçu des publicités de catalogue Advantage+ avec additional_image_index, vous devez transmettre le paramètre object_story_spec dans son intégralité au point de terminaison /generatepreviews. Si vous ne transmettez que le paramètre object_story_id, aucun aperçu n’est généré.

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  

Créer un modèle de publicités de catalogue Advantage+ carrousel pour un seul produit, où chaque image provient du tableau d’images supplémentaires du catalogue

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

Créer un modèle de publicités de catalogue Advantage+ carrousel avec pour première carte une carte statique « bon de réduction »

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  

Créer un diaporama carrousel à partir d’un modèle de publicités de catalogue Advantage+

Le rendu de chaque carte dynamique du carrousel est effectué sous la forme de diaporama. Chaque diaporama affiche des images d’un article dynamique si ce dernier contient plusieurs images. S’il ne contient qu’une seule image, le rendu de la carte s’effectue sous la forme d’une image statique.

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 réponse à ces appels correspond à l’ID d’un nouveau modèle de contenu publicitaire de publicités de catalogue Advantage+.

{"id":"creative_id"}

Importer un catalogue

Lors de l’importation d’un catalogue, vous pouvez spécifier des tags de chaîne alphanumérique arbitraires pour chaque image de chaque propriété.

<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>

Créer un contenu publicitaire

Lors de la création d’un contenu publicitaire, un tableau de preferred_image_tags peut être transmis dans 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

Activer la vidéo pour les publicités de catalogue Advantage+

Les principales étapes de la création de publicités de catalogue Advantage+ demeurent les mêmes. Pour activer la vidéo, vous devez inclure des données vidéo et fournir ces données au sein du catalogue. Reportez-vous au contenu ci-dessous pour voir les modifications nécessaires à effectuer lors de la création ou de la mise à jour de catalogues.

Étape 1 : configurer un catalogue

Cet exemple se base sur un fichier XML ; la procédure pour les autres formats devrait être similaire.

Les champs url et tag sont pris en charge lorsque vous ajoutez une vidéo à l’annonce. Pour l’instant, chaque produit ne prend en charge qu’une seule vidéo.

<?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>

Caractéristiques des vidéos

Étape 2 : utiliser l’API pour obtenir les métadonnées d’une vidéo à des fins de dépannage

Vous pouvez utiliser l’API pour contrôler les données importées. Autorisez l’interrogation des métadonnées vidéo pour chaque élément.

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

Exemple de réponse

Étape 3 : activer la vidéo dans le contenu publicitaire ou la publicité

Pour activer le contenu vidéo au niveau du produit dans les publicités, consultez la documentation Créer des publicités avec du contenu multimédia dynamique.

Suivi des clics et modèles

Si vous suivez les clics sur un lien au moyen d’un traceur tiers avant de rediriger vers l’URL du produit final, vous pouvez utiliser le champ template_url_spec dans le contenu publicitaire. Cela vous permet d’ajouter un modèle de traceur de clic au niveau de la publicité, sans avoir besoin de le coder en dur dans votre fichier de flux de données. Vous pouvez également utiliser ce champ pour créer des modèles de liens profonds.

Dans ce champ, vous avez la possibilité d’utiliser des champs dynamiques comme l’URL ou l’ID du produit, et ceux-ci doivent être encodés au format URL si leurs valeurs peuvent contenir des caractères susceptibles de rendre l’URL non valide.

Exemple

Pour créer un modèle de publicités de catalogue Advantage+ carrousel avec le paramètre 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  

Utiliser les données du fichier de flux de données dans votre modèle

Lorsqu’une publicité est affichée, Facebook remplace le contenu de la section {{ }} par les valeurs adéquates issues du fichier de flux de données. Les valeurs de modèle disponibles sont les suivantes :

NomDescription

brand

La valeur brand de l’article dans le fichier de flux de données.

current_price

Le prix de vente mis en forme, si un prix de vente a été indiqué pour le produit. Vous pouvez également spécifier des dates de début et de fin de vente pour un produit : le paramètre current_price indique alors le prix lorsque le produit est en vente. Si aucun prix de vente n’est spécifié ou si les dates de vente sont passées, le champ « price » est utilisé.

description

La valeur description de l’article dans le fichier de flux de données.

name

La valeur title de l’article dans le fichier de flux de données.

price

La colonne price mise en forme (par exemple, $1,234.56).

retailer_id

La valeur id de l’article dans le fichier de flux de données.

url

La valeur link de l’article dans le fichier de flux de données.

custom_label_0

La valeur custom_label_0 de l’article dans le fichier de flux de données.

custom_label_1

La valeur custom_label_1 de l’article dans le fichier de flux de données.

custom_label_2

La valeur custom_label_2 de l’article dans le fichier de flux de données.

custom_label_3

La valeur custom_label_3 de l’article dans le fichier de flux de données.

custom_label_4

La valeur custom_label_4 de l’article dans le fichier de flux de données.

Options

Des options peuvent être attribuées à certaines valeurs de modèle, dans n’importe quel ordre et dans le format suivant :

{{field option1 option2 ...}}

Les options suivantes sont disponibles :

OptionDescriptionAcceptée par

raw

Omet le symbole de la devise

price
current_price

strip_zeros

Omet les centimes dans la devise s’il s’agit de zéros

price
current_price

round

Omet le montant en centimes de la devise tout en arrondissant le prix

Tous les champs de prix

Transformations

Vous pouvez utiliser des valeurs de modèle avec des transformations qui ajustent votre valeur selon le format suivant :

{{field | transform}}

Utilisez l’une des transformations suivantes :

TransformationsDescription

number_format

Met en forme le nombre au format par défaut : avec une virgule (« , ») en tant que séparateur des milliers et arrondi au nombre entier le plus proche (par exemple : 1234.56->"1,235"). La valeur à mettre en forme doit être un nombre non mis en forme (« 1234 » et non « 1,234 »)

titleize

Met les mots en majuscule pour rendre un titre plus attrayant (par exemple : « boîte » -> « Boîte »)

urlencode

Encode la valeur en URL

Spécifier le comportement souhaité pour les clics sur des publicités depuis un appareil mobile

Avec un contenu publicitaire dynamique, vous pouvez spécifier le comportement souhaité lorsqu’une personne clique sur la publicité dans l’application Facebook native. Pour utiliser les liens profonds, vous devez remplir deux conditions :

  1. L’application mobile native sur laquelle l’utilisateur ou l’utilisatrice doit être envoyé·e prend en charge les liens profonds (iOS ou Android).
  2. Les liens profonds doivent être inclus dans le fichier de flux de données ou être disponibles via App Links.

Si ces deux conditions sont remplies, vous pouvez utiliser le champ applink_treatment lors de la création d’un contenu publicitaire pour spécifier le comportement souhaité lorsqu’une personne clique sur une publicité.

NomDescription

web_only

Renvoie toujours l’utilisateur ou l’utilisatrice vers l’URL web indiquée.

deeplink_with_web_fallback

Si l’application est installée sur le téléphone de l’utilisateur ou l’utilisatrice et que les liens profonds correspondants existent, renvoie l’utilisateur·ice vers l’application. Si l’une de ces conditions n’est pas remplie, renvoie l’utilisateur ou l’utilisatrice vers le site web.

deeplink_with_appstore_fallback

Utilisé par défaut lorsque des App Links sont présents pour le produit. Si l’application est installée sur le téléphone de l’utilisateur·ice et que les liens profonds correspondants existent, renvoie l’utilisateur·ice vers l’application. Si l’application n’est pas installée, renvoie l’utilisateur ou l’utilisatrice vers l’App Store pour la rechercher.

Exemples

Création d’un modèle de publicités de catalogue Advantage+ carrousel avec un call-to-action qui établit un lien profond renvoyant vers une application native le cas échéant ou vers le site 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  

Création d’un modèle de publicités de catalogue Advantage+ carrousel avec des tags d’URL qui établit un lien profond renvoyant vers une application native le cas échéant ou vers l’App Store pour rechercher l’application :

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

Créer un catalogue localisé pour les publicités de catalogue Advantage+

Pour plus d’informations, consultez le Catalogue localisé pour les publicités de catalogue Advantage+.

Étape 4 : créer une publicité

Enfin, vous pouvez créer une publicité. Celle-ci fait référence à un contenu publicitaire.

Exemple

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', })

Félicitations ! Vous avez créé votre première publicité de catalogue Advantage+. Activez-la pour en commencer la diffusion.

Lorsqu’elles sont publiées comme publicités de Stories Instagram, les publicités de catalogue Advantage+ sont rognées au format 1:1, quelles que soient les dimensions de l’image d’origine.

Étapes suivantes

Aperçu de publicités de catalogue Advantage+

Vous pouvez générer un aperçu de votre contenu publicitaire dynamique avec le point de terminaison Aperçu de la publicité. Indiquez le paramètre product_item_ids ou saisissez plusieurs product_item_ids pour afficher un aperçu de publicité carrousel.

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>'], })

Paramètres

NomDescription

product_item_ids

tableau[chaîne]

Liste des ID Facebook des produits ou tokens d’ID de produit codés au format URL Base64.
Chaque token se présente sous la forme catalog:{catalog_id}:{base64urlencode(retailer_id)}.

Obtenir des statistiques sur vos publicités pour des produits

Vous pouvez obtenir des statistiques par produit en envoyant un appel GET au point de terminaison Insights. Ajoutez product_id dans le paramètre fields.

Vous obtenez ainsi des statistiques pour tous les produits des ensembles de produits du compte mis en avant dans des publicités de catalogue Advantage+.

Exemple

Cet exemple renvoie les valeurs clicks, actions et impressions pour chaque product_id.

Requête
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
Réponse
{
 "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"
    }, 
 ], 
...
}

Récupérer des commentaires et des mentions J’aime

Vous pouvez récupérer les commentaires, les mentions J’aime et le paramètre product_id pour une publication de publicités de catalogue Advantage+. Envoyez un appel GET comme suit en incluant un paramètre post_id. post_id correspond au paramètre effective_object_story_id d’un contenu publicitaire au format PageID_PostID.

Remarque : vous ne pouvez pas utiliser ce point de terminaison pour récupérer des commentaires sur Instagram.

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

Cette API renvoie des objets publication dynamique.

Une fois que vous avez obtenu les publications dynamiques, vous pouvez récupérer les valeurs comments, likes, product_id et child_attachments pour le format carrousel, le cas échéant.

Les publicités de personnalisation des éléments de placement ne seront pas renvoyées par l’arête dynamic_posts.