Campagnes d’app Advantage+

Les campagnes d’app Advantage+ (anciennement dénommées Publicités automatisées pour une application) tirent parti du machine learning et des systèmes automatisés pour optimiser les résultats de vos publicités d’installation d’application. Cette solution vous aide à élargir la portée de vos campagnes et, au final, à travailler de manière plus efficace.

Comparatif entre les publicités pour applications standard et les campagnes d’app Advantage+ :

Publicités manuelles pour une applicationCampagnes d’app Advantage+
Une campagne
Plusieurs ensembles de publicités
Plusieurs publicités
Une campagne
Un ensemble de publicités
Plusieurs publicités

Reposent sur des ajustements manuels.

Reposent sur des ajustements de machine learning.

Permettent de tester manuellement jusqu’à 50 combinaisons de contenus publicitaires.

Permettent de tester manuellement jusqu’à 50 combinaisons de contenus publicitaires.

Les campagnes d’app Advantage+ SKAdNetwork ciblant les utilisateur·ices iOS 14 sont désormais disponibles.

Avant de commencer

Pour utiliser les campagnes d’app Advantage+, vous devez disposer des éléments suivants :

  • Un compte de développeur·se Facebook
  • Les autorisations suivantes : ads_management et ads_read

Vous devez être autorisé·e à adresser des appels GET et POST au compte publicitaire utilisé pour financer vos publicités.

Étape 1 : Créer une campagne

Envoyez une requête POST à /act_{ad_account_id}/campaigns avec les paramètres obligatoires et facultatifs suivants :

ParamètreDescription
adlabels
liste d’objets

Étiquettes publicitaires associées à la campagne d’app Advantage+. Facultatif.

buying_type
chaîne

Pour l’instant, les campagnes d’app Advantage+ prennent uniquement en charge la valeur buying_type AUCTION. Obligatoire.

execution_options
liste d’énumérations

Valeur par défaut : set. Les autres options possibles sont les suivantes :

  • validate_only : si cette option est spécifiée, l’appel d’API n’effectuera pas la mutation, mais s’exécutera par le biais des règles de validation sur les valeurs de chaque champ.
  • include_recommendations : cette option n’est pas utilisable seule. Si cette option est utilisée, les recommandations en matière de configuration d’objets publicitaires seront incluses. Une section de recommandations distincte figurera dans la réponse, mais uniquement si des recommandations existent pour cette spécification.

Si le processus de validation ou d’examen de l’appel réussit, la réponse sera {"success": true}. S’il échoue, le système renvoie une erreur avec des détails. Facultatif.

is_skadnetwork_attribution
chaîne

Identification d’une campagne SKAdsNetwork. Facultatif

name
chaîne

Nom de la campagne d’app Advantage+.

objective
énumération

Objectif de la campagne. Spécifiez APP_INSTALLS pour ce type de publicités. Obligatoire.

promoted_object
objet

Objet dont cet ensemble de publicités effectue la promotion dans toutes ses publicités. Dans le cas des campagnes d’app Advantage+, spécifiez application_id et object_store_url.


Si votre objectif d’optimisation n’est pas APP_INSTALLS, spécifiez :

Évènements standardÉvènements personnalisés

application_id, object_store_url et custom_event_type

application_id, object_store_url, custom_event_str et spécifiez custom_event_type = OTHER

Obligatoire si le paramètre « is_skadnetwork_attribution » est défini sur « true ».

smart_promotion_type
liste d’objets

Pour spécifier qu’il s’agit d’une campagne d’app Advantage+, définissez le type de promotion intelligente sur SMART_APP_PROMOTION. Facultatif.

special_ad_categories
liste d’objets

Pour l’instant, les campagnes d’app Advantage+ ne prennent pas en charge les catégories publicitaires spéciales. Définissez ce paramètre comme une liste vide, sous la forme []. Obligatoire.

status
énumération

Les options valides sont les suivantes : PAUSED et ACTIVE.

Si ce statut présente la valeur PAUSED, la totalité de ses publicités et ensembles de publicités actifs seront mis en pause et prendront le statut effectif CAMPAIGN_PAUSED. Obligatoire.

topline_id
chaîne numérique ou entier

ID Topline. Facultatif.

Exemple d’appel de création de campagnes

curl -X POST \
  -F 'name=Advantage+ app campaigns sample campaign' \
  -F 'objective=APP_INSTALLS' \
  -F 'status=ACTIVE' \
  -F 'special_ad_categories=[]' \
  -F 'smart_promotion_type=SMART_APP_PROMOTION' \
  -F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_{ad-account-id}/campaigns

Si vous disposez déjà d’une campagne et que vous voulez la mettre à jour, consultez la section Après le lancement, Mettre à jour les campagnes.

Étape 2 : Vérifier qu’une campagne a été créée (facultatif)

Vous avez la possibilité de vérifier si votre campagne d’app Advantage+ a bien été créée. Pour ce faire, adressez une requête GET à /{ad-campaign-id} avec le champ smart_promotion_type. Si la campagne d’app Advantage+ est valide, elle renvoie la valeur SMART_APP_PROMOTION.

Exemple d’appel de vérification de campagne

curl -X GET -G \
  -d 'fields="smart_promotion_type"' \
  -d 'access_token={access-token}' \
https://graph.facebook.com/v21.0/{ad-campaign-id}

Exemple de réponse, si une campagne d’app Advantage+ valide a été créée :

{
  "smart_promotion_type": "SMART_APP_PROMOTION",
  "id": {ad-campaign-id}
}

Étape 3 : Créer un ensemble de publicités

Une fois que vous disposez d’une campagne publicitaire, créez votre ensemble de publicités. Un ensemble de publicités est un groupe de publicités dont le budget quotidien ou global, le calendrier, le type d’enchère, les informations d’enchère et les données de ciblage sont les mêmes.

Pour créer un ensemble de publicités, adressez une requête POST à /act_{ad_account_id}/adsets. Vous pouvez y inclure les paramètres suivants :

ParamètreDescription

adlabels

liste d’objets

Liste d’étiquettes à associer à cet objet.

Facultatif.

bid_amount

entier

Obligatoire si bid_strategy est défini sur LOWEST_COST_WITH_BID_CAP.

Limite d’enchère ou coût cible pour cet ensemble de publicités. La limite d’enchère utilisée dans une stratégie d’enchère au coût le plus bas est définie comme l’enchère maximale que vous êtes disposé·e à payer pour un résultat en fonction de votre optimization_goal. Le coût cible utilisé dans une stratégie d’enchère au coût cible permet à Facebook d’enchérir conformément à votre coût cible moyen et de stabiliser les coûts dans le cadre de vos dépenses.


Si un paramètre bid_amount est spécifié au niveau de la publicité, la mise à jour de cette valeur écrasera la précédente enchère au niveau de la publicité.


L’unité du montant de l’enchère est le cent pour les devises comme le dollar des États-Unis (USD) ou l’euro (EUR), et l’unité de base pour les devises telles que le yen (JPY) ou le won (KRW). Le montant de l’enchère s’applique à chaque occurrence, et présente une valeur minimale de 1 cent de dollar des États-Unis. Les valeurs des montants d’enchère minimaux des autres devises sont équivalentes aux valeurs spécifiées en dollars des États-Unis.

bid_constraints

liste d’objets

Obligatoire si bid_strategy est défini sur lowest_cost_with_min_roas.

Comparable au budget d’un ensemble de publicités, l’enchère basée sur un retour sur dépenses publicitaires (ROAS) minimum utilise ce paramètre pour déterminer le plancher ROAS, mais vous ne pouvez pas utiliser bid_amount avec bid_constraints.

bid_strategy

énumération

Choisissez une stratégie d’enchère pour cet ensemble de publicités spécifiquement adaptée à vos objectifs commerciaux. Chaque stratégie implique des compromis et peut être disponible pour certains optimization_goals. Pour en savoir plus, consultez la page Présentation des enchères, Stratégies d’enchère.


Dans le cas des campagnes d’app Advantage+, les stratégies disponibles sont les suivantes :

  • LOWEST_COST_WITHOUT_CAP
  • LOWEST_COST_WITH_BID_CAP
  • LOWEST_COST_WITH_MIN_ROAS
Obligatoire.
billing_event
énumération

Évènement de facturation utilisé par cet ensemble de publicités. Dans le cas des publicités automatisées pour une application, spécifiez IMPRESSIONS. Obligatoire.

campaign_id
chaîne numérique ou entier

ID d’une campagne valide de publicités de campagne d’app Advantage+ à laquelle vous voulez ajouter cet ensemble de publicités. Obligatoire.

campaign_attribution

énumération

Type d’attribution de campagne utilisé par cet ensemble de publicités.


  • Pour utiliser le protocole de mesure agrégée des évènements de Meta, définissez ce champ sur AEM.
  • Pour utiliser l’API SKAdNetwork d’Apple, définissez ce champ sur SKADNETWORK.

Lorsqu’une campagne comporte plusieurs ensembles de publicités, le type d’attribution de campagne doit être le même pour tous les ensembles de publicités.

Ce champ est obligatoire lors de la création d’une campagne iOS 14 et versions ultérieures.

daily_budget

int64

Budget quotidien défini dans la devise de votre compte, uniquement autorisé pour les ensembles de publicités dont la durée (différence entre end_time et start_time) est supérieure à 24 heures.

Soit daily_budget, soit lifetime_budget doit présenter une valeur supérieure à 0.

Facultatif.

end_time

dateheure

Obligatoire lorsque le paramètre lifetime_budget est spécifié.

Lorsque vous créez un ensemble de publicités avec un paramètre daily_budget, spécifiez end_time=0 pour définir cet ensemble comme continu et dépourvu de date de fin. Ce paramètre doit être fourni sous la forme d’un horodatage UNIX UTC.


Par exemple : 2015-03-12 23:59:59-07:00 ou 2015-03-12 23:59:59 PDT.

lifetime_budget

int64

Budget global, défini dans la devise de votre compte. Si ce paramètre est spécifié, vous devez également indiquer une valeur end_time.

Soit daily_budget, soit lifetime_budget doit présenter une valeur supérieure à 0.

Facultatif.
name
chaîne

Nom de l’ensemble de publicités associé aux campagnes d’app Advantage+. Obligatoire.

optimization_goal
énumération

Objectif d’optimisation de l’ensemble de publicités. Les campagnes d’app Advantage+ prennent en charge les objectifs d’optimisation suivants :

  • APP_INSTALLS : optimisation pour les personnes les plus susceptibles d’installer votre application.
  • OFFSITE_CONVERSIONS : optimisation pour les personnes les plus susceptibles d’effectuer une conversion sur votre site.
  • APP_INSTALLS_AND_OFFSITE_CONVERSIONS : optimisation pour les personnes les plus susceptibles d’installer votre application et d’effectuer une conversion sur votre site.
  • VALUE : optimisation pour la valeur d’achat totale maximale dans la fenêtre d’attribution spécifiée.
Obligatoire.
promoted_object
objet

Objet dont cet ensemble de publicités effectue la promotion dans toutes ses publicités. Dans le cas des campagnes d’app Advantage+, spécifiez application_id et object_store_url.


Si votre objectif d’optimisation n’est pas APP_INSTALLS, spécifiez :

Évènements standardÉvènements personnalisés

application_id, object_store_url et custom_event_type

application_id, object_store_url, custom_event_str et spécifiez custom_event_type = OTHER

Obligatoire pour toutes les campagnes, à l’exception des campagnes SKAdNetwork. Facultatif pour les campagnes SKAdNetwork.

status

énumération

Seules les valeurs ACTIVE et PAUSED sont valides dans le cadre d’une création. Les autres statuts sont utilisables pour les mises à jour. Si un ensemble de publicités est défini sur PAUSED, toutes ses publicités actives seront mises en pause et prendront le statut effectif ADSET_PAUSED.

Obligatoire.

start_time

dateheure

Heure de début de l’ensemble. Par exemple : 2015-03-12 23:59:59-07:00 ou 2015-03-12 23:59:59 PDT. Ce paramètre doit être fourni sous la forme d’un horodatage UNIX UTC.

targeting

objet de ciblage

Structure de ciblage d’un ensemble de publicités de campagne d’app Advantage+. Les options de ciblage valides sont geo_locations et locales. Consultez la section Champs de ciblage.


Par exemple :

{
   "geo_location": {
     "countries": [“US”]
     },
   "locales": [8]
}

Les campagnes d’app Advantage+ ne prennent pas en charge le ciblage de systèmes d’exploitation ; toutefois, les campagnes d’app Advantage+ SKAdsNetwork cibleront uniquement les utilisateur·ices iOS 14.5 et versions ultérieures.

Obligatoire.

time_start

dateheure

Heure de début de diffusion de cet ensemble de publicités.

time_stop

dateheure

Heure de fin de diffusion de cet ensemble de publicités.

Champs de ciblage

ParamètreDescription

geo_locations

tableau

Permet de limiter l’audience de l’ensemble de publicités via les pays de l’argument obligatoire. Valeur valide : countries. Tableau de codes à 2 chiffres au format ISO 3166.

Obligatoire.

locales

tableau

Permet de cibler les personnes dont la langue diffère de la langue communément associée à un lieu. Pour utiliser ce champ, fournissez un ID pour la langue ; par exemple, 5 pour l’allemand. Pour en savoir plus, consultez la page Recherche de ciblage, Paramètres régionaux.

Exemple d’appel de création d’ensembles de publicités

curl -X POST \
  -F 'name=Advantage+ app campaigns sample ad set' \
  -F 'campaign_id={campaign-id}' \
  -F 'optimization_goal=APP_INSTALLS' \
  -F 'promoted_object={ "application_id": "{app-id}", "object_store_url": "{store-object-id} }' \
  -F 'daily_budget=<num>' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'targeting={"geo_locations": {"countries": ["US"]}}' \
  -F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_{ad-account-id}/adsets

Si vous disposez déjà d’un ensemble de publicités et que vous voulez le mettre à jour, consultez la section Après le lancement, Mettre à jour les ensembles de publicités.

Compatibilité d’optimisation

Au niveau de l’ensemble de publicités, vous devez spécifier l’objectif d’optimisation, la stratégie d’enchère et le type d’évènement personnalisé. Le tableau suivant présente les combinaisons possibles de ces champs.

Objectif d’optimisationStratégie d’enchèreType d’évènement personnalisé

APP_INSTALLS

LOWEST_COST_WITHOUT_CAP et LOWEST_COST_WITH_BID_CAP

Sans objet.

APP_INSTALLS_AND_OFFSITE_CONVERSIONS

LOWEST_COST_WITHOUT_CAP

PURCHASE

OFFSITE_CONVERSIONS

LOWEST_COST_WITHOUT_CAP et LOWEST_COST_WITH_BID_CAP

Tous les évènements d’application standard, tels que PURCHASE, ADD_TO_CART, INITIATED_CHECKOUT, etc.

VALUE

LOWEST_COST_WITHOUT_CAP et LOWEST_COST_WITH_MIN_ROAS

PURCHASE

Exemple d’appel de création d’ensembles SKAdNetwork

curl -X POST \
  -F 'name=Advantage+ app campaigns sample campaign' \
  -F 'objective=APP_INSTALLS' \
  -F 'status=ACTIVE' \
  -F 'special_ad_categories=[]' \
  -F 'smart_promotion_type=SMART_APP_PROMOTION' \
  -F 'is_skadnetwork_attribution=true' \
  -F 'promoted_object={ "application_id": "{app-id}", "object_store_url": "{object-store-url}" }' \ 
  -F 'access_token={access-token}' \
https://graph.facebook.com/act_{ad-account-id}/campaigns

Étape 4 : Fournir un contenu publicitaire et créer des publicités

Une fois que vous disposez d’un ensemble de publicités, vous pouvez créer votre publicité en la publiant sur le point de terminaison /act_{ad_account_id}/ads. Vous pouvez y inclure les paramètres suivants :

ParamètreDescription

adset_id

int64

Obligatoire.
ID de l’ensemble de publicités.

adlabels

liste d’objets

Facultatif.
Étiquettes publicitaires associées à cette publicité.

creative

contenu publicitaire

Obligatoire.
Spécification du contenu publicitaire que la publicité doit utiliser. Les champs possibles sont object_story_spec, asset_feed_spec et use_page_actor_override. Pour en savoir plus, consultez la section Champs de contenu publicitaire.


Vous pouvez indiquer le contenu publicitaire au format suivant :

{
  "creative_id":  {creative-id}
}

Fournissez une spécification de contenu publicitaire :

{
  "creative": {
    \"name\": \"<NAME>\", 
    \"object_story_spec\": <SPEC>
  }
}

execution_options

liste d’énumérations

Facultatif.
Valeur par défaut : set.
Les autres options possibles sont les suivantes :

  • validate_only : si cette option est spécifiée, l’appel d’API n’effectue pas la mutation, mais s’exécute par le biais des règles de validation sur les valeurs de chaque champ.
  • synchronous_ad_review : cette option ne doit pas être utilisée seule. Elle doit toujours être spécifiée avec l’option validate_only. Lorsque ces options sont spécifiées, l’appel d’API effectue les validations d’intégrité des publicités, qui comprennent la vérification de la langue du message, la règle des 20 % de texte pour les images, etc., ainsi que les logiques de validation.
  • include_recommendations : cette option n’est pas utilisable seule. Si cette option est utilisée, les recommandations en matière de configuration d’objets publicitaires seront incluses. Une section de recommandations distincte figurera dans la réponse, mais uniquement si des recommandations existent pour cette spécification.

Si le processus de validation ou d’examen de l’appel réussit, la réponse sera {"success": true}. S’il échoue, le système renverra une erreur avec des détails.

name

chaîne

Obligatoire.
Nom de la publicité.

status

contenu publicitaire

type : énumération

Obligatoire.
Les options possibles pendant la création sont les suivantes : ACTIVE et PAUSED. Dans le cadre des tests, il est recommandé de définir les publicités sur le statut PAUSED afin de ne pas entraîner de dépenses accidentelles.

Champs de contenu publicitaire

ParamètreDescription

asset_feed_spec

spécification de fil de ressources publicitaires

Obligatoire en cas d’utilisation de /adcreatives.

Utilisé pour la personnalisation des éléments en fonction du placement et les publicités multilingues afin de personnaliser les éléments de contenu publicitaire affichés dans différents placements publicitaires ou en diverses langues. Indiqué sous la forme d’une chaîne JSON.


Champs disponibles :

  • images
  • videos
  • carousels
  • bodies
  • call_to_action_types
  • titles
  • descriptions
  • link_urls
  • ad_formats
  • optimization_type
  • asset_customization_rules

Consultez la section Asset Feed Options (Options de fil de ressources) pour plus d’informations sur chaque champ.

object_story_spec

spécification de story d’objet de contenu publicitaire
Obligatoire.

Utilisez ce paramètre si vous voulez joindre des images ou des vidéos à une publicité ou employer le format carrousel pour les publicités. Vous pouvez également l’utiliser pour créer une publication de Page non publiée et la convertir en publicité.


Champs disponibles :

use_page_actor_override

contenu publicitaire

Si ce paramètre est défini sur true, nous affichons la Page Facebook associée aux publicités pour applications.

Exemple d’appel de création de publicités

Si vous fournissez votre contenu publicitaire sous la forme d’une spécification de contenu publicitaire :

curl -X POST \
  -F 'name=Advantage+ app campaigns sample ad' \
  -F 'adset_id={adset-id}' \
  -F 'creative={"name": {name}, "object_story_spec": {specifications}}' \
  -F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_{ad-account-id}/ads

Pour utiliser creative_id, vous devez d’abord indiquer un appel /adcreatives pour votre contenu publicitaire :

curl -X POST \
-F 'object_story_spec={object-story-specifications}' \
-F 'asset_feed_spec={asset-feed-specifications}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_act_{ad-account-id}/adcreatives

Si l’appel précédent réussit, il renvoie un creative_id utilisable dans l’appel /ads :

curl -X POST \
  -F 'name=Advantage+ app campaigns sample ad' \
  -F 'adset_id={adset-id}' \
  -F 'creative={creative-id}' \
  -F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_{ad-account-id}/ads

Si vous disposez déjà d’une publicité et que vous voulez la mettre à jour, consultez la section Après le lancement, Mettre à jour les publicités.

Exemple d’image statique ou de vidéo

curl -X POST \
  -F 'name=Advantage+ app campaigns static image/video sample ad' \
  -F 'adset_id={adset-id}' \
  -F 'creative={
        "media_type": "SINGLE_IMAGE",
        "object_story_spec": {
          "instagram_actor_id": "{instagram-actor-id}",
          "page_id": "{page-id}",
          "link_data": {
            "call_to_action": {
              "type": "INSTALL_MOBILE_APP"
            },
            "image_hash": "{image-hash}",
            "link": "{link}",
            "message": "{message}",
            "name": "{name}"
          }
        }
      }' \
  -F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_{ad-account-id}/ads

Exemple de personnalisation des éléments en fonction du placement

Pour personnaliser les éléments de contenu publicitaire affichés dans différents placements publicitaires. Consultez la page Placement Asset Customization (Personnalisation des éléments en fonction du placement) pour plus d’informations.

curl -X POST \
-F 'object_story_spec={
  "instagram_actor_id": "{instagram-actor-id}",
  "page_id": "{page-id}"
    }' \
-F 'asset_feed_spec={
  "ad_formats": [
    "SINGLE_IMAGE"
  ],
  "asset_customization_rules": [
    {
      "customization_spec": {
        "publisher_platforms": [
          "facebook"
        ],
        "facebook_positions": [
          "feed",
          "instream_video"
        ]
      },
      "image_label": {
        "name": "{image-label1}"
      }
    },
    {
      "customization_spec": {
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ]
      },
      "image_label": {
        "name": "{image-label2}"
      }
    }
  ],
  "bodies": [
    {
      "text": "{text}"
    }
  ],
  "call_to_action_types": [
    "INSTALL_MOBILE_APP"
  ],
  "images": [
    {
      "hash": "{image-hash1}",
      "adlabels": [
        {
          "name": "{image-label1}"
        }
      ]
    },
    {
      "hash": "{image-hash2}",
      "adlabels": [
        {
          "name": "{image-label2}"
        }
      ]
    }
  ],
  "link_urls": [
    {
      "website_url": "{website-url}",
      "display_url": "{display-url}",
      "deeplink_url": "{deeplink-url}"
    }
  ],
  "titles": [
    {
      "text": "{title}"
    }
  ]
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_act_{ad-account-id}/adcreatives

Exemple de publicités multilingues

Pour personnaliser différentes parties d’un contenu publicitaire, comme l’image, la vidéo, le texte et le corps d’une publicité, afin qu’il touche des publics de langues différentes. Consultez la page Multi-Language Ads (Publicités multilingues) pour plus d’informations.

curl -X POST \
-F 'object_story_spec={
  "instagram_actor_id": "{instagram-actor-id}",
  "page_id": "{page-id}"
    }' \
-F 'asset_feed_spec={
  "ad_formats": [
    "SINGLE_IMAGE"
  ],
  "asset_customization_rules": [
    {
      "is_default": true,
      "customization_spec": {
        "locales": [
          24
        ]
      },
      "title_label": {
        "name": "{title-label-english}"
      },
      "body_label": {
        "name": "{body-label-english}"
      },
      "link_url_label": {
        "name": "{link-label-english}"
      },
      "image_label": {
        "name": "{image-label1}"
      }
    },
    {
      "customization_spec": {
        "locales": [
          9,
          44
        ]
      },
      "title_label": {
        "name": "{title-label-french}"
      },
      "body_label": {
        "name": "{body-label-french}"
      },
      "link_url_label": {
        "name": "{link-label-french}"
      },
      "image_label": {
        "name": "{image-label2}"
      }
    }
  ],
  "bodies": [
    {
      "text": "Primary Text in English",
      "adlabels": [
        {
          "name": "{body-label-english}"
        }
      ]
    },
    {
      "text": "Primary Text in French",
      "adlabels": [
        {
          "name": "{body-label-french}"
        }
      ]
    }
  ],
  "call_to_action_types": [
    "INSTALL_MOBILE_APP"
  ],
  "images": [
    {
      "hash": "{image-hash1}",
      "adlabels": [
        {
          "name": "{image-label1}"
        }
      ]
    },
    {
      "hash": "{image-hash2}",
      "adlabels": [
        {
          "name": "{image-label2}"
        }
      ]
    }
  ],
  "link_urls": [
    {
      "website_url": "{website-url}",
      "display_url": "{display-url}",
      "deeplink_url": "{deeplink-url}",
      "adlabels": [
        {
          "name": "{link-label-english}"
        }
      ]
    },
    {
      "website_url": "{website-url}",
      "display_url": "{display-url}",
      "deeplink_url": "{deeplink-url}",
      "adlabels": [
        {
          "name": "{link-label-french}"
        }
      ]
    }
  ],
  "titles": [
    {
      "text": "English Title",
      "adlabels": [
        {
          "name": "{title-label-english}"
        }
      ]
    },
    {
      "text": "French Title",
      "adlabels": [
        {
          "name": "{title-label-french}"
        }
      ]
    }
  ]
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_act_{ad-account-id}/adcreatives

Exemple à textes multiples

Pour fournir plusieurs textes principaux ou titres.

curl -X POST \
-F 'object_story_spec={
  "instagram_actor_id": "{instagram-actor-id}",
  "page_id": "{page-id}"
    }' \
-F 'asset_feed_spec={
  "asset_feed_spec": {
    "optimization_type": "DEGREES_OF_FREEDOM",
    "bodies": [
      {
        "text": "Primary Text 1"
      },
      {
        "text": "Primary Text 2"
      },
      {
        "text": "Primary Text 3"
      },
      {
        "text": "Primary Text 4"
      },
      {
        "text": "Primary Text 5"
      }
    ],
    "call_to_action_types": [
      "INSTALL_MOBILE_APP"
    ],
    "images": [
      {
        "hash": "{image-hash}"
      }
    ],
    "link_urls": [
      {
        "website_url": "{website-url}",
        "display_url": "{display-url}",
        "deeplink_url": "{deeplink-url}"
      }
    ],
    "titles": [
      {
        "text": "Title 1"
      },
      {
        "text": "Title 2"
      },
      {
        "text": "Title 3"
      },
      {
        "text": "Title 4"
      },
      {
        "text": "Title 5"
      }
    ]
  }
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_act_{ad-account-id}/adcreatives

Personnalisation des éléments en fonction du placement + Exemple à textes multiples

curl -X POST \
-F 'object_story_spec={
  "instagram_actor_id": "{instagram-actor-id}",
  "page_id": "{page-id}"
    }' \
-F 'asset_feed_spec={
  "ad_formats": [
    "SINGLE_IMAGE"
  ],
  "asset_customization_rules": [
    {
      "customization_spec": {
        "publisher_platforms": [
          "facebook"
        ],
        "facebook_positions": [
          "feed",
          "instream_video"
        ]
      },
      "image_label": {
        "name": "{image-label1}"
      },
      "body_label": {
        "name": "{body-label1}"
      },
      "title_label": {
        "name": "{title-label1}"
      }
    },
    {
      "customization_spec": {
        "publisher_platforms": [
          "instagram"
        ],
        "instagram_positions": [
          "stream"
        ]
      },
      "image_label": {
        "name": "{image-label2}"
      },
      "body_label": {
        "name": "{body-label2}"
      },
      "title_label": {
        "name": "{title-label2}"
      }
    }
  ],
  "bodies": [
    {
      "text": "Primary Text 1",
      "adlabels": [
        {
          "name": "{body-label1}"
        },
        {
          "name": "{body-label2}"
        }
      ]
    },
    {
      "text": "Primary Text 2",
      "adlabels": [
        {
          "name": "{body-label1}"
        },
        {
          "name": "{body-label2}"
        }
      ]
    },
    {
      "text": "Primary Text 3",
      "adlabels": [
        {
          "name": "{body-label1}"
        },
        {
          "name": "{body-label2}"
        }
      ]
    },
    {
      "text": "Primary Text 4",
      "adlabels": [
        {
          "name": "{body-label1}"
        },
        {
          "name": "{body-label2}"
        }
      ]
    },
    {
      "text": "Primary Text 5",
      "adlabels": [
        {
          "name": "{body-label1}"
        },
        {
          "name": "{body-label2}"
        }
      ]
    }
  ],
  "call_to_action_types": [
    "INSTALL_MOBILE_APP"
  ],
  "images": [
    {
      "hash": "{image-hash1}",
      "adlabels": [
        {
          "name": "{image-label1}"
        }
      ]
    },
    {
      "hash": "{image-hash2}",
      "adlabels": [
        {
          "name": "{image-label2}"
        }
      ]
    }
  ],
  "link_urls": [
    {
      "website_url": "{website-url}",
      "display_url": "{display-url}",
      "deeplink_url": "{deeplink-url}"
    }
  ],
  "titles": [
    {
      "text": "Title 1",
      "adlabels": [
        {
          "name": "{title-label1}"
        },
        {
          "name": "{title-label2}"
        }
      ]
    },
    {
      "text": "Title 2",
      "adlabels": [
        {
          "name": "{title-label1}"
        },
        {
          "name": "{title-label2}"
        }
      ]
    },
    {
      "text": "Title 3",
      "adlabels": [
        {
          "name": "{title-label1}"
        },
        {
          "name": "{title-label2}"
        }
      ]
    },
    {
      "text": "Title 4",
      "adlabels": [
        {
          "name": "{title-label1}"
        },
        {
          "name": "{title-label2}"
        }
      ]
    },
    {
      "text": "Title 5",
      "adlabels": [
        {
          "name": "{title-label1}"
        },
        {
          "name": "{title-label2}"
        }
      ]
    }
  ]
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/act_act_{ad-account-id}/adcreatives

Après le lancement

Après avoir lancé vos campagnes d’app Advantage+, vous pouvez avoir besoin de mettre à jour ou de lire vos objets publicitaires. Pour savoir comment procéder, consultez les sections ci-dessous. Pour plus d’informations sur les statistiques publicitaires, consultez notre documentation Asset Feed Spec, Insights (Spécification de fil de ressources, Statistiques).

Mettre à jour les campagnes

Si vous avez besoin de mettre à jour une campagne de publicités automatisées pour une application, adressez une requête POST à /{campaign_id}. Vous pouvez utiliser les paramètres suivants dans votre appel d’API :

ParamètreDescription

adlabels

liste d’objets

Étiquettes publicitaires à associer à la campagne d’app Advantage+.

execution_options

liste d’énumérations

Valeur par défaut : set. Les autres options disponibles sont les suivantes :

  • validate_only : si cette option est spécifiée, l’appel d’API n’effectuera pas la mutation, mais s’exécutera par le biais des règles de validation sur les valeurs de chaque champ.
  • include_recommendations : cette option n’est pas utilisable seule. Si cette option est utilisée, les recommandations en matière de configuration d’objets publicitaires seront incluses. Une section de recommandations distincte figurera dans la réponse, mais uniquement si des recommandations existent pour cette spécification.

Si le processus de validation ou d’examen de l’appel réussit, la réponse est {"success": true}. S’il échoue, le système renvoie une erreur avec des détails.

name

chaîne

Nouveau nom que vous souhaitez attribuer à votre campagne d’app Advantage+.

status

énumération

Vous pouvez utiliser l’un des stauts suivants pour un appel d’API de mise à jour :

  • ACTIVE
  • PAUSED
  • DELETED
  • ARCHIVED

Si une campagne publicitaire est définie sur PAUSED, tous ses objets enfants actifs seront mis en pause et prendront le statut effectif CAMPAIGN_PAUSED.

topline_id

chaîne numérique ou entier

ID Topline.

Exemple de mise à jour d’une campagne

curl -X POST \
-F 'name=Advantage+ app campaigns Update Sample Campaign' \
-F 'status=PAUSED' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/{campaign-id}

Mettre à jour les ensembles de publicités

Si vous avez besoin de mettre à jour un ensemble de publicités au sein de publicités automatisées pour une application, adressez une requête POST à /{ad_set_id}. Vous pouvez utiliser les paramètres suivants dans votre appel d’API :

ParamètreDescription

adlabels

liste d’objets

Liste d’étiquettes à associer à cet objet. Facultatif.

bid_amount

entier

Obligatoire si bid_strategy est défini sur LOWEST_COST_WITH_BID_CAP.

Limite d’enchère ou coût cible pour cet ensemble de publicités. La limite d’enchère utilisée dans une stratégie d’enchère au coût le plus bas est définie comme l’enchère maximale que vous êtes disposé·e à payer pour un résultat en fonction de votre optimization_goal. Le coût cible utilisé dans une stratégie d’enchère au coût cible permet à Facebook d’enchérir conformément à votre coût cible moyen et de stabiliser les coûts dans le cadre de vos dépenses.


Si un paramètre bid_amount est spécifié au niveau de la publicité, la mise à jour de cette valeur écrasera la précédente enchère au niveau de la publicité.


L’unité du montant de l’enchère est le cent pour les devises comme le dollar des États-Unis (USD) ou l’euro (EUR), et l’unité de base pour les devises telles que le yen (JPY) ou le won (KRW). Le montant de l’enchère s’applique à chaque occurrence, et présente une valeur minimale de 1 cent de dollar des États-Unis. Les valeurs des montants d’enchère minimaux des autres devises sont équivalentes aux valeurs spécifiées en dollars des États-Unis.

bid_strategy

énumération

Choisissez une stratégie d’enchère pour cet ensemble de publicités spécifiquement adaptée à vos objectifs commerciaux. Chaque stratégie implique des compromis et peut être disponible pour certains optimization_goals. Pour en savoir plus, consultez la page Présentation des enchères, Stratégies d’enchère.

Pour la mise à jour des ensembles de campagne d’app Advantage+, les stratégies disponibles sont les suivantes :

  • LOWEST_COST_WITHOUT_CAP
  • LOWEST_COST_WITH_BID_CAP

Si vous activez l’optimisation du budget de campagne, définissez bid_strategy au niveau de la campagne parente.

daily_budget

int64

Budget quotidien défini dans la devise de votre compte, uniquement autorisé pour les ensembles de publicités dont la durée (différence entre end_time et start_time) est supérieure à 24 heures. Soit daily_budget, soit lifetime_budget doit présenter une valeur supérieure à 0.

end_time

dateheure

Heure de fin, obligatoire lorsque le paramètre lifetime_budget est spécifié. Ce paramètre doit être fourni sous la forme d’un horodatage UNIX UTC. Par exemple : 2015-03-12 23:59:59-07:00 ou 2015-03-12 23:59:59 PDT.


Lorsque vous créez un ensemble de publicités avec un budget quotidien, spécifiez end_time=0 pour définir cet ensemble comme continu et dépourvu de date de fin.

execution_options

liste d’énumérations

Facultatif.

Valeur par défaut : set. Les autres options possibles sont les suivantes :

  • validate_only : si cette option est spécifiée, l’appel d’API n’effectuera pas la mutation, mais s’exécutera par le biais des règles de validation sur les valeurs de chaque champ.
  • include_recommendations : cette option n’est pas utilisable seule. Si cette option est utilisée, les recommandations en matière de configuration d’objets publicitaires seront incluses. Une section de recommandations distincte figurera dans la réponse, mais uniquement si des recommandations existent pour cette spécification.

Si le processus de validation ou d’examen de l’appel réussit, la réponse est {"success": true}. S’il échoue, le système renvoie une erreur avec des détails.

lifetime_budget

int64

Budget global, défini dans la devise de votre compte. Si ce paramètre est spécifié, vous devez également indiquer une valeur end_time. Soit daily_budget, soit lifetime_budget doit présenter une valeur supérieure à 0.

promoted_object

objet

Obligatoire avec certains objectifs de la campagne.

Objet dont cet ensemble de publicités effectue la promotion dans toutes ses publicités.


Si votre objectif d’optimisation n’est pas APP_INSTALLS, les options suivantes sont disponibles :

  • custom_event_type
  • custom_event_str (si custom_event_type = OTHER)

start_time

dateheure

Heure de début de l’ensemble. Ce paramètre doit être fourni sous la forme d’un horodatage UNIX UTC. Par exemple : 2015-03-12 23:59:59-07:00 ou 2015-03-12 23:59:59 PDT.

status

énumération

Options disponibles pour les mises à jour :

  • ACTIVE
  • PAUSED
  • DELETED
  • ARCHIVED

time_start

dateheure

Heure de début de diffusion de cet ensemble de publicités.

time_stop

dateheure

Heure de fin de diffusion de cet ensemble de publicités.

Exemple de mise à jour d’un ensemble de publicités

curl -X POST \
  -F 'name=Advantage+ app campaigns sample updated ad set' \
  -F 'bid_strategy=LOWEST_COST_WITH_BID_CAP' \
  -F 'bid_amount=200' \
  -F 'access_token={access-token}' \
https://graph.facebook.com/v21.0/{ad-set-id}

Mettre à jour les publicités

Si vous avez besoin de mettre à jour une publicité au sein de publicités automatisées pour une application, adressez une requête POST à /{ad_id}. Vous pouvez utiliser les paramètres suivants dans votre appel d’API :

ParamètreDescription

name

chaîne

Nom de la publicité.

adlabels

liste d’objets

Étiquettes publicitaires associées à cette publicité.

execution_options

liste d’énumérations

Facultatif.

Valeur par défaut : set. Les autres options possibles sont les suivantes :

  • validate_only : si cette option est spécifiée, l’appel d’API n’effectue pas la mutation, mais s’exécute par le biais des règles de validation sur les valeurs de chaque champ.
  • synchronous_ad_review : cette option ne doit pas être utilisée seule. Elle doit toujours être spécifiée avec l’option validate_only. Lorsque ces options sont spécifiées, l’appel d’API effectue les validations d’intégrité des publicités, qui comprennent la vérification de la langue du message, la règle des 20 % de texte pour les images, etc., ainsi que les logiques de validation.
  • include_recommendations : cette option n’est pas utilisable seule. Si cette option est utilisée, les recommandations concernant la configuration d’un objet sont incluses. Une section de recommandations distincte figure dans la réponse, mais uniquement si des recommandations existent pour cette spécification.

Si le processus de validation ou d’examen de l’appel réussit, la réponse est {"success": true}. S’il échoue, le système renvoie une erreur avec des détails.

status

énumération

Les options possibles sont les suivantes :

  • ACTIVE
  • PAUSED
  • DELETED
  • ARCHIVED

Dans le cadre des tests, il est recommandé de définir les publicités sur le statut PAUSED afin de ne pas entraîner de dépenses accidentelles.

creative

contenu publicitaire

Spécification du contenu publicitaire à utiliser par cette publicité. Les champs possibles sont décrits à la section Champs de contenu publicitaire. Fournissez la spécification de contenu publicitaire comme suit :

{
  "creative": {
    \"name\": \"<NAME>\", 
    \"object_story_spec\": <SPEC>
   }
}

Exemple de mise à jour d’une publicité

curl -X POST \
-F 'name=Advantage+ app campaigns sample update ad' \
-F 'creative={"name": {name}, "object_story_spec": {specifications}}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/{ad-id}