Publicités clic vers WhatsApp

Ce guide explique comment créer et publier des publicités clic vers WhatsApp à l’aide de l’API Marketing.

Les publicités clic vers WhatsApp dirigent automatiquement les internautes qui cliquent sur vos publicités vers des conversations avec votre entreprise sur WhatsApp. Utilisez ces publicités pour toucher les internautes à grande échelle et leur offrir un service personnalisé de qualité.

Les publicités clic vers WhatsApp prennent en charge les publicités avec une image, une vidéo, un carrousel ou un diaporama. Vous pouvez également inclure des invites d’appel dans votre publicité.

Si vous souhaitez créer des publicités qui redirigent les internautes vers Messenger ou des discussions Instagram, consultez les procédures relatives aux Publicités clic vers Messenger ou Publicités clic vers Instagram. Vous pouvez également créer des publicités qui choisissent la destination la plus pertinente pour l’internaute. Pour plus d’informations, consultez la page relative aux Publicités qui renvoient à la multi-destination.

Présentation de la création de publicités

Ce document décrit les étapes à suivre pour configurer votre intégration pour les publicités clic vers WhatsApp.

Vous devez :

  1. Créer une campagne publicitaire
  2. Créer un ensemble de publicités qui associe vos publicités à votre campagne publicitaire
  3. Créer un contenu publicitaire pour le type de publicité WhatsApp que vous souhaitez diffuser
  4. Créer une publicité en liant votre contenu publicitaire à votre ensemble de publicités
  5. Publier votre publicité sur Facebook, Instagram et Messenger

Avant de commencer

Ce guide considère que vous disposez des éléments suivants :

Pour réussir les appels aux points de terminaison mentionnés dans ce guide, vous aurez besoin des éléments suivants :

  • Un token d’accès de Page demandé par un·e utilisateur·ice autorisé·e à effectuer la tâche ADVERTISE sur la Page
  • Les autorisations suivantes accordées à un·e internaute utilisant votre application :
    • ads_management
    • pages_manage_ads
    • pages_read_engagement
    • pages_show_list

Étape 1 : créer une campagne publicitaire

Commencez par créer votre campagne publicitaire. Pour ce faire, envoyez une requête POST au point de terminaison /act_<AD_ACCOUNT_ID>/campaigns<AD_ACCOUNT_ID> est l’ID de votre compte publicitaire Meta. Votre requête doit inclure :

Paramètres

NomDescription

name

chaîne

Obligatoire.
Nom de la campagne clic vers WhatsApp.

objective

énumération

Obligatoire.
Objectif de la campagne.
Objectifs pris en charge : OUTCOME_ENGAGEMENT, OUTCOME_SALES et OUTCOME_TRAFFIC.
Remarque : pour les campagnes dotées d’invites d’appel, objective doit être défini sur OUTCOME_ENGAGEMENT.

special_ad_categories

liste<Object>

Obligatoire.
Catégories publicitaires spéciales associées à la campagne clic vers WhatsApp. Consultez la section Campagne publicitaire, Référence pour de plus amples détails.

status

énumération

Facultatif.
Les options valides sont 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.

Requête standard

curl -X POST \
  -F 'name=Click to WhatsApp Campaign' \
  -F 'objective=OUTCOME_ENGAGEMENT' \
  -F 'status=ACTIVE' \
  -F 'special_ad_categories=[]' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/campaigns

Requête de campagne d’appel

curl -X POST \
  -F 'name=Click to WhatsApp Calling Campaign' \
  -F 'objective=OUTCOME_ENGAGEMENT' \
  -F 'status=PAUSED' \
  -F 'special_ad_categories=[]' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/campaigns

Réponse

Si la requête aboutit, votre application reçoit une réponse JSON contenant l’ID de la campagne que vous venez de créer.

{
  "id": "<AD_CAMPAIGN_ID>"
}

Mise à jour

Vous pouvez mettre à jour une campagne en envoyant une requête POST à /<AD_CAMPAIGN_ID>.

Lecture

Pour vérifier que vous avez bien créé une campagne clic vers WhatsApp, vous pouvez envoyer une requête GET à /<AD_CAMPAIGN_ID>. Consultez la section Campagne publicitaire, Référence pour obtenir la liste complète des paramètres disponibles.

Requête

curl -X GET -G \
  -d 'fields=name,status,objective' \
  -d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/<AD_CAMPAIGN_ID>

Réponse

{
  "name": "Click to WhatsApp Campaign",
  "status": "PAUSED",
  "objective": "OUTCOME_ENGAGEMENT",
  "id": "<AD_CAMPAIGN_ID>"
}

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

Une fois que vous disposez d’une campagne publicitaire, créez votre ensemble de publicités. Pour créer un ensemble de publicités, envoyez une requête POST au point de terminaison /act_<AD_ACCOUNT_ID>/adsets<AD_ACCOUNT_ID> est l’ID de votre compte publicitaire Meta. Votre requête doit inclure :

Paramètres

NomDescription

bid_amount

int32 non signé

Obligatoire si bid_strategy est défini sur LOWEST_COST_WITH_BID_CAP ou COST_CAP.
Montant maximum que vous voulez payer pour un résultat basé sur votre optimization_goal.

bid_strategy

énumération

Facultatif.
Stratégie d’enchère pour cette campagne spécifiquement adaptée à vos objectifs commerciaux. Consultez la section Campagne publicitaire, Référence pour de plus amples détails.
Valeurs : LOWEST_COST_WITHOUT_CAP, LOWEST_COST_WITH_BID_CAP, COST_CAP

billing_event

énumération

Obligatoire.
Doit être défini sur IMPRESSIONS pour les publicités clic vers WhatsApp. Meta vous facture lorsque les internautes voient votre publicité.

campaign_id

chaîne numérique ou nombre entier

Obligatoire.
Campagne clic vers WhatsApp valide à laquelle vous souhaitez ajouter cet ensemble de publicités.

daily_budget

int64

Obligatoire si lifetime_budget n’est pas défini.
Budget quotidien défini dans la devise de votre compte. Autorisé uniquement pour les ensembles de publicités dont la durée (différence entre end_time et start_time) dépasse 24 heures.
daily_budget ou lifetime_budget doit être supérieur à 0.

destination_type

chaîne

Obligatoire.
Doit être défini sur WHATSAPP pour les publicités clic vers WhatsApp mono-destination.

end_time

date/heure

Obligatoire lorsque lifetime_budget est spécifié.
Lors de la création d’un ensemble de publicités avec un daily_budget, spécifiez end_time=0 ou laissez ce champ vide pour définir l’ensemble de publicités comme étant en cours sans date de fin.
Exemple : 2015-03-12 23:59:59-07:00 ou 2015-03-12 23:59:59 PDT. Horodatage UTC UNIX.

lifetime_budget

int64

Obligatoire si daily_budget n’est pas défini.
Budget global de l’ensemble de publicités défini dans la devise de votre compte. S’il est spécifié, vous devez également indiquer une end_time.
daily_budget ou lifetime_budget doit être supérieur à 0.

name

chaîne

Obligatoire.
Nom de l’ensemble de publicités clic vers WhatsApp.

optimization_goal

énumération

Obligatoire.
Objectif d’optimisation de l’ensemble de publicités. Selon l’objectif de la campagne, l’ensemble de publicités peut être éligible pour différents objectifs d’optimisation.


OUTCOME_ENGAGEMENT : l’objectif Interaction peut être optimisé pour CONVERSATIONS et LINK_CLICKS.
OUTCOME_SALES : l’objectif Ventes peut être optimisé pour CONVERSATIONS, OFFSITE_CONVERSIONS, LINK_CLICKS, IMPRESSIONS et REACH.
OUTCOME_TRAFFIC : l’objectif Trafic peut être optimisé pour CONVERSATIONS, LANDING_PAGE_VIEWS, LINK_CLICKS, IMPRESSIONS, REACH et POST_ENGAGEMENT.

promoted_object

Obligatoire.
Objet dont cet ensemble de publicités effectue la promotion dans toutes ses publicités. Pour les publicités clic vers WhatsApp, promoted_object a les conditions suivantes :

Obligatoire :

  • page_id : obligatoire. ID de la page Facebook.

Facultatif :

  • whatsapp_phone_number : numéro de téléphone WhatsApp associé à l’ensemble de publicités clic vers WhatsApp.

Consultez la section Ensemble de publicités, objet promu pour de plus amples détails.

start_time

date/heure

Facultatif.
Heure de début de l’ensemble de publicités. Ce champ indiquera par défaut l’heure actuelle si aucune valeur n’est fournie.
Exemple : 2015-03-12 23:59:59-07:00 ou 2015-03-12 23:59:59 PDT. Horodatage UTC UNIX.

status

énumération

Facultatif.
Statut de l’ensemble de publicités. Il peut être différent du statut effectif en raison de sa campagne parente. Si aucune valeur n’est définie, la valeur par défaut sera ACTIVE.
Valeurs :ACTIVE, PAUSED, DELETED et ARCHIVED

targeting

objet de ciblage

Obligatoire.
Structure de ciblage d’une publicité clic vers WhatsApp. Consultez la section Ciblage pour de plus amples détails.

time_start

date/heure

Facultatif.
Interchangeable avec start_time.

time_stop

date/heure

Obligatoire lorsque lifetime_budget est spécifié.
Interchangeable avec end_time.

Consultez la section Référence sur le compte publicitaire d’un ensemble de publicités pour obtenir la liste complète des paramètres disponibles.

Requête

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "access_token":"<ACCESS_TOKEN>",
    "bid_amount":"<BID_AMOUNT>",
    "billing_event":"IMPRESSIONS",
    "campaign_id":"<CAMPAIGN_ID>",
    "daily_budget":"<DAILY_BUDGET>",
    "destination_type":"WHATSAPP",
    "name": "<AD_SET_NAME>",
    "optimization_goal": "IMPRESSIONS",
    "promoted_object": {
      "page_id": "<PAGE_ID>"
    },
    "status": "PAUSED",
    "start_time": "<START_TIME>",
    "targeting": { 
      "geo_locations": { "countries":["US","CA"] },
      "device_platforms": ["mobile", "desktop"]
    } 
  }' \
"https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adsets"

Réponse

{
  "id": "<AD_SET_ID>"
}

Mise à jour

Vous pouvez mettre à jour un ensemble de publicités en envoyant une requête POST à /<AD_SET_ID>.

Lecture

Pour vérifier que vous avez bien créé un ensemble de publicités clic vers WhatsApp, vous pouvez envoyer une requête GET à /<AD_SET_ID>. Consultez la section Ensemble de publicités, Référence pour obtenir la liste complète des paramètres disponibles.

Requête

curl -X GET -G \
  -d 'fields=name,destination_type,optimization_goal,bid_strategy,status' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/<AD_SET_ID>

Réponse

{
  "name": "Click to WhatsApp Campaign",
  "status": "PAUSED",
  "objective": "OUTCOME_ENGAGEMENT",
  "id": "<AD_SET_ID>"
}

Étape 3 : créer un contenu publicitaire

Le contenu publicitaire vous permet d’ajouter des éléments à vos publicités. Pour créer un contenu publicitaire, envoyez une requête POST au point de terminaison /act_<AD_ACCOUNT_ID>/adcreatives<AD_ACCOUNT_ID> est l’ID de votre compte publicitaire Meta. Votre requête doit inclure :

Paramètres

NomDescription

name

chaîne

Obligatoire.
Nom de votre contenu publicitaire.

object_story_spec

Obligatoire.
Objet contenant des informations sur un message. Consultez la section Spécification de story d’objet de contenu publicitaire pour de plus amples détails.


Obligatoire :

  • page_id : ID de la page Facebook

Facultatif :

  • link_data : spécification de publication d’une page Web ou publicité carrousel
  • photo_data : spécification de publication d’une page photo
  • text_data : spécification de publication d’une page texte
  • video_data : spécification de publication d’une page vidéo

degrees_of_freedom_spec

Facultatif.
Consultez la section Améliorations standard pour le contenu publicitaire Advantage+ pour de plus amples détails.

Consultez la section Référence sur les contenus publicitaires pour obtenir la liste complète des paramètres disponibles.

Rédaction d’un message de bienvenue de la Page

Par défaut, le message visible par les internautes sera « Bonjour ! Puis-je en savoir plus à ce sujet ? ». Vous pouvez créer des expériences d’utilisation plus adaptées pour vos publicités clic vers WhatsApp en personnalisant le message d’accueil de vos publicités dans le champ page_welcome_message sous object_story_spec.

Note : si vous utilisez le message WhatsApp pour déclencher des flux de bot, veillez à travailler avec votre BSP et vos agences pour le mettre à jour afin que les flux ne soient pas perturbés.

Exemple

Ajout d’un message de saisie automatique à un message d’accueil

"page_welcome_message": {
  "type": "VISUAL_EDITOR",
  "version": 2,
  "landing_screen_type": "welcome_message",
  "media_type": "text",
  "text_format": {
    "customer_action_type": "autofill_message",
    "message": {
      "autofill_message": {
        "content": "<AUTOFILL_MESSAGE>"
      },
      "text": "<GREETING_MESSAGE>"
    }
  }
}

Ajout de prises de contact à un message d’accueil

"page_welcome_message": {
  "type": "VISUAL_EDITOR",
  "version": 2,
  "landing_screen_type": "welcome_message",
    "media_type": "text",
    "text_format": {
      "customer_action_type": "ice_breakers",
      "message": {
        "text": "<GREETING_MESSAGE>",
        "ice_breakers": [
          {
            "title": "<ICEBREAKER>"
          },
          {
            "title": "<ICEBREAKER>"
          },
          {
            "title": "<ICEBREAKER>"
          }
        ]
      }
    }
  }
}

Ajout d’un message avec une invite d’appel

curl \
  -F 'object_story_spec={
      "page_id": "<PAGE_ID>"
      "link_data": {
     "image_hash":<IMAGE_HASH>
            "call_to_action": {
              	"type": "WHATSAPP_MESSAGE",
              	"value": {
                  	"app_destination": "WHATSAPP"
             	 }
          },
          "link": "https://api.whatsapp.com/send",
          "name": <AD_HEADLINE>",
          "page_welcome_message":
       "type": "VISUAL_EDITOR",
        "version": 2,
        "landing_screen_type": "ctwa_call_prompt",
        "media_type": "text",
        "text_format": {
          "message": {
            "text": "<MESSAGE>"", 
            "call_prompt_data": {
              "call_prompt_message": "<CALL_PROMPT_MESSAGE>"
            }
          }
        },
        "user_edit": false
      },
  https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives

Réponse

{
  "id": "<AD_CREATIVE_ID>"
}

Exemples de création de contenu publicitaire

Requête

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
        "name": "Sample ad creative",
        "object_story_spec": {
          "page_id": "<PAGE_ID>",
          "link_data": {
            "name": "<AD_HEADLINE>",
            "message": "<AD_PRIMARY_TEXT>",
            "description": "<AD_DESCRIPTION>",
            "image_hash": "<IMAGE_HASH>",
            "link": "https://api.whatsapp.com/send",
            "page_welcome_message": "<PAGE_WELCOME_MESSAGE>",
            "call_to_action": {
              "type": "WHATSAPP_MESSAGE",
              "value": {
                "app_destination": "WHATSAPP"
              }
            }
          }
        },
        "degrees_of_freedom_spec": {
          "creative_features_spec": {
            "standard_enhancements": {
              "enroll_status": "OPT_IN"
            }
          }
        }
      }' \
"https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives"

Réponse

Si la requête aboutit, votre application reçoit une réponse JSON contenant l’ID du contenu publicitaire que vous venez de créer.

{
  "id": "<AD_CREATIVE_ID>"
}

Création de contenus publicitaires à l’aide de contenus Instagram

Vous pouvez également utiliser votre contenu Instagram existant pour vos contenus publicitaires.

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
        "source_instagram_media_id": "<INSTAGRAM_MEDIA_ID>",
        "instagram_user_id": "<INSTAGRAM_USER_ID>",
        "object_id": "<PAGE_ID>",
        "call_to_action": {
          "type": "WHATSAPP_MESSAGE",
            "value": {
              "link": "https://api.whatsapp.com/send",
              "app_destination": "WHATSAPP"
            }
          }
        },
        "degrees_of_freedom_spec": {
          "creative_features_spec": {
            "standard_enhancements": {
              "enroll_status": "OPT_IN"
            }
          }
        }
      }' \
  https://graph.facebook.com/latest-api-version />/act_<AD_ACCOUNT_ID>/adcreatives

Mise à jour

Vous pouvez mettre à jour un contenu publicitaire en envoyant une requête POST à /<AD_CREATIVE_ID>.

Lecture

Pour vérifier que vous avez bien créé un contenu publicitaire clic vers WhatsApp, vous pouvez envoyer une requête GET à /<AD_CREATIVE_ID>. Consultez la section Contenu publicitaire pour obtenir la liste complète des paramètres disponibles.

Requête

curl -X GET -G \
  -d 'fields=name,object_story_spec{link_data{call_to_action,page_welcome_message}}' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/<AD_CREATIVE_ID>

Réponse

{
  "name": "Sample ad creative",
  "object_story_spec" {
    "page_welcome_message": {
      "type": "VISUAL_EDITOR",
      "version": 2,
      "landing_screen_type": "welcome_message",
      "media_type": "text",
      "text_format": {
        "customer_action_type": "autofill_message",
        "message": {
          "autofill_message": {
            "content": "Sample autofill message"
          },
        "text": "Sample greeting message"
        }
      }
    }
  },
  "id": "<AD_CREATIVE_ID>"
}

Étape 4 : créer une publicité

Les publicités vous permettent d’associer des informations de contenus publicitaires à vos ensembles de publicités. Pour créer une publicité, envoyez une requête POST au point de terminaison /act_<AD_ACCOUNT_ID>/ads<AD_ACCOUNT_ID> est l’ID de votre compte publicitaire Meta. Votre requête doit inclure :

Paramètres

NomDescription

name

chaîne

Obligatoire.
Nom de votre publicité.

adset_id

chaîne numérique ou nombre entier

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

creative

Obligatoire.
Contenu publicitaire à utiliser par cette publicité. Vous pouvez fournir le creative_id d’un contenu publicitaire existant ou créer un nouveau contenu publicitaire en incluant tous les champs requis. Consultez la section Contenu publicitaire pour de plus amples détails.

status

énumération

Obligatoire.
Statut configuré de la publicité.
Valeurs : ACTIVE, PAUSED, DELETED, ARCHIVED

Requête

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
        "name": "Sample ad",
        "adset_id": "<AD_SET_ID>",
        "creative": {
          "creative_id": "<AD_CREATIVE_ID>"
        },
        "status": "PAUSED"
     }' \
  "https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/ads"

Réponse

{
  "id": "<AD_ID>"
}

Mise à jour

Vous pouvez mettre à jour une publicité en envoyant une requête POST à /<AD_ID>.

Lecture

Pour vérifier que vous avez bien créé une publicité clic vers WhatsApp, vous pouvez envoyer une requête GET à /<AD_ID>. Consultez la section Référence sur les publicités pour obtenir la liste complète des paramètres disponibles.

Requête

curl -X GET -G \
  -d 'fields=status,adset_id,campaign_id \
  -d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/<AD_ID>

Réponse

{
  "status": "PAUSED",
  "adset_id": "<AD_SET_ID>",
  "campaign_id": "<AD_CAMPAIGN_ID>",
  "id": "<AD_ID>"
}

Étape 5 : publier votre publicité

Vérifiez que votre publicité existe bien dans le Gestionnaire de publicités. Lorsque vous êtes prêt à publier vos modifications, sélectionnez votre campagne, l’ensemble de publicités correspondant ainsi que la publicité, et cliquez sur le bouton Publier.

Vous pouvez également publier votre publicité en utilisant l’API. Envoyez simplement une requête POST à /<AD_ID> avec le paramètre status défini sur ACTIVE<AD_ID> est la publicité que vous souhaitez publier.

En attendant la vérification par Meta, le statut passe à PENDING_REVIEW. Une fois la publicité approuvée, son statut passera automatiquement à ACTIVE et elle sera diffusée.