WhatsApp 發訊廣告

本指南說明如何使用推廣 API 建立和發佈 WhatsApp 發訊廣告。

用戶點擊您的 WhatsApp 發訊廣告後,系統會將用戶直接帶到 WhatsApp 中,讓他們與您的企業對話。您可以運用這種廣告大規模地接觸用戶,以及提供出色的個人化服務。

WhatsApp 發訊廣告支援在廣告中包含圖像、影片、輪播內容或微影片。您也可以在廣告中加入通話提示。

如果您有興趣建立廣告來將用戶帶到 Messenger 或 Instagram 中聊天,請參閱 Messenger 發訊廣告Instagram 發訊廣告以獲取有關指引。您還可以建立廣告來將用戶帶到最有可能吸引他們回應的應用程式,詳情請瀏覽多目的地發訊廣告

廣告建立流程概覽

本文件概述在設定 WhatsApp 發訊廣告的整合時,需要按照哪些步驟操作。

您需要執行以下操作:

  1. 建立廣告宣傳活動
  2. 建立廣告組合,以連結廣告與廣告宣傳活動
  3. 就您希望刊登的 WhatsApp 廣告類型建立廣告創意
  4. 連結廣告創意與廣告組合以建立廣告
  5. 在 Facebook、Instagram 及 Messenger 上發佈廣告

準備工作

本指南假設您符合以下條件:

如要成功呼叫本指南中的所有端點,您需要以下項目:

  • 專頁存取憑證,由可以在專頁上執行 ADVERTISE 任務的用戶所要求
  • 使用您應用程式的用戶必須向您授權以下權限:
    • ads_management
    • pages_manage_ads
    • pages_read_engagement
    • pages_show_list

第 1 步:建立廣告宣傳活動

首先建立廣告宣傳活動。請向 /act_<AD_ACCOUNT_ID>/campaigns 端點發出 POST 要求,其中 <AD_ACCOUNT_ID> 是您的 Meta 廣告帳戶編號。您的要求必須包括以下內容:

參數

名稱說明

name

字串

此為必要項目。
WhatsApp 發訊廣告宣傳活動的名稱。

objective

列舉

此為必要項目。
宣傳活動的目標。
支援的目標為 OUTCOME_ENGAGEMENTOUTCOME_SALESOUTCOME_TRAFFIC
備註:對於包含通話提示的宣傳活動,objective 必須為 OUTCOME_ENGAGEMENT

special_ad_categories

清單 <Object>

此為必要項目。
與 WhatsApp 發訊廣告宣傳活動相關的特殊廣告類別。詳情請參閱廣告宣傳活動參考資料

status

列舉

此為可選項目。
有效選項為 PAUSEDACTIVE
如果此狀態為 PAUSED,其所有刊登中的廣告組合和廣告都將暫停,有關的生效狀態也將為 CAMPAIGN_PAUSED

標準要求

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

通話宣傳活動要求

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

回應

成功的話,應用程式會收到 JSON 回應,內含您新建立宣傳活動的編號。

{
  "id": "<AD_CAMPAIGN_ID>"
}

更新

您可以向 /<AD_CAMPAIGN_ID> 發出 POST 要求來更新宣傳活動。

讀取

如要驗證是否成功建立 WhatsApp 發訊廣告宣傳活動,請向 /<AD_CAMPAIGN_ID> 發出 GET 要求。請參閱廣告宣傳活動參考資料,獲取可用參數的完整清單。

要求

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

回應

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

第 2 步:建立廣告組合

建立好廣告宣傳活動後,接下來請建立廣告組合。建立方法是向 /act_<AD_ACCOUNT_ID>/adsets 端點發出 POST 要求,其中 <AD_ACCOUNT_ID> 是您的 Meta 廣告帳戶編號。您的要求必須包括以下內容:

參數

名稱說明

bid_amount

未簽署的 int32

如果 bid_strategy 設為 LOWEST_COST_WITH_BID_CAPCOST_CAP,此參數為必要項目
您根據自己的 optimization_goal,願意為取得成效而付出的最高金額。

bid_strategy

列舉

此為可選項目。
因應您特定的業務目標,而為此宣傳活動選擇的相應出價策略。詳情請參閱廣告宣傳活動參考資料
值:LOWEST_COST_WITHOUT_CAPLOWEST_COST_WITH_BID_CAPCOST_CAP

billing_event

列舉

此為必要項目。
如果是 WhatsApp 發訊廣告,此參數必須設為 IMPRESSIONS。當您的廣告向用戶展示時,Meta 便會向您收費。

campaign_id

數字字串或整數

此為必要項目。
您希望將此廣告組合加入哪個有效的 WhatsApp 發訊廣告宣傳活動。

daily_budget

int64

如未設定 lifetime_budget,此參數為必要項目
以您帳戶貨幣計算的單日預算。僅適用於刊登時間(end_timestart_time 之差)超過 24 小時的廣告組合。
daily_budgetlifetime_budget 必須大於 0

destination_type

字串

此為必要項目。
如果是單一目的地 WhatsApp 發訊廣告,此參數會設為 WHATSAPP

end_time

datetime

如已指定 lifetime_budget,此參數為必要項目
建立設有 daily_budget 的廣告組合時,請指定 end_time=0,或將此欄位留空,以將此廣告組合設為一直刊登而沒有結束日期。
範例:2015-03-12 23:59:59-07:002015-03-12 23:59:59 PDT。UTC UNIX 時戳。

lifetime_budget

int64

如未設定 daily_budget,此參數為必要項目
以您帳戶貨幣計算的廣告組合總經費。如指定此欄位,您還必須指定 end_time
daily_budgetlifetime_budget 必須大於 0

name

字串

此為必要項目。
WhatsApp 發訊廣告組合的名稱。

optimization_goal

列舉

此為必要項目。
廣告組合的優化目標。根據宣傳活動的目標,廣告組合可能合資格使用不同的優化目標。


OUTCOME_ENGAGEMENT:如果選用「互動」目標,可以針對 CONVERSATIONSLINK_CLICKS 優化廣告。
OUTCOME_SALES:如果選用「銷售」目標,可以針對 CONVERSATIONSOFFSITE_CONVERSIONSLINK_CLICKSIMPRESSIONSREACH 優化廣告。
OUTCOME_TRAFFIC:如果選用「流量」目標,可以針對 CONVERSATIONSLANDING_PAGE_VIEWSLINK_CLICKSIMPRESSIONSREACHPOST_ENGAGEMENT 優化廣告。

promoted_object

此為必要項目。
廣告組合要透過其所有廣告推廣的物件。在 WhatsApp 發訊廣告中,promoted_object 設有以下條件:

必要項目:

  • page_id此為必要項目。Facebook 專頁編號。

選用項目:

  • whatsapp_phone_number:與 WhatsApp 發訊廣告組合相關的 WhatsApp 電話號碼。

詳情請參閱廣告組合:推廣的物件

start_time

datetime

此為可選項目。
廣告組合的開始時間。如果未有提供值,此欄位將預設使用目前時間。
範例:2015-03-12 23:59:59-07:002015-03-12 23:59:59 PDT。UTC UNIX 時戳。

status

列舉

此為必要項目。
廣告組合的狀態。此欄位可能因為所屬的宣傳活動,而有別於生效狀態。如果未有提供值,此欄位將預設使用 ACTIVE
值:ACTIVEPAUSEDDELETEDARCHIVED

targeting

鎖定受眾

此為必要項目。
WhatsApp 發訊廣告的受眾目標設定結構。詳情請參閱受眾目標設定

time_start

datetime

此為可選項目。
可與 start_time 互換。

time_stop

datetime

如已指定 lifetime_budget,此參數為必要項目
可與 end_time 互換。

請參閱廣告帳戶廣告組合參考資料,獲取可用參數的完整清單。

要求

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"

回應

{
  "id": "<AD_SET_ID>"
}

更新

您可以向 /<AD_SET_ID> 發出 POST 要求來更新廣告組合。

讀取

如要驗證是否成功建立 WhatsApp 發訊廣告組合,請向 /<AD_SET_ID> 發出 GET 要求。請參閱廣告組合參考資料,獲取可用參數的完整清單。

要求

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>

回應

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

第 3 步:建立廣告創意

透過建立廣告創意,您可以在廣告中加入各種資產。如要建立廣告創意,請向 /act_<AD_ACCOUNT_ID>/adcreatives 端點發出 POST 要求,其中 <AD_ACCOUNT_ID> 是您的 Meta 廣告帳戶編號。您的要求必須包括以下內容:

參數

名稱說明

name

字串

此為必要項目。
廣告創意的名稱。

object_story_spec

此為必要項目。
包含訊息相關資料的物件。詳情請參閱廣告創意物件動態規格


必要項目:

  • page_id:Facebook 專頁編號

選用項目:

  • link_data:連結專頁帖子或輪播廣告的規格
  • photo_data:相片專頁帖子的規格
  • text_data:文字專頁帖子的規格
  • video_data:影片專頁帖子的規格

degrees_of_freedom_spec

此為可選項目。
詳情請參閱適用於進階高效速成廣告創意的標準強化效果

請參閱廣告創意參考資料,獲取可用參數的完整清單。

填寫專頁歡迎訊息

顧客看到的預設訊息為「你好!能否提供更多相關資訊?」。您可以在 object_story_spec 下的 page_welcome_message 欄位中自訂廣告的問候訊息,在 WhatsApp 發訊廣告建立更度身而設的用戶體驗。

注意:如果您正在使用 WhatsApp 訊息來觸發任何 BOT(機械人程式)流程,請務必與您的商業解決方案供應商和代理商合作更新有關訊息,以確保流程不會中斷。

範例

以問候訊息加入開場白自動填入訊息

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

加入問候訊息作為開場白

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

加入通話提示訊息

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

回應

{
  "id": "<AD_CREATIVE_ID>"
}

廣告創意建立範例

要求

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"

回應

成功的話,應用程式會收到 JSON 回應,內含您新建立廣告創意的編號。

{
  "id": "<AD_CREATIVE_ID>"
}

使用 Instagram 內容建立廣告創意

您還可以將現有 Instagram 內容用於建立廣告創意。

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

更新

您可以向 /<AD_CREATIVE_ID> 發出 POST 要求來更新廣告創意

讀取

如要驗證是否成功建立 WhatsApp 發訊廣告創意,請向 /<AD_CREATIVE_ID> 發出 GET 要求。請參閱廣告創意,獲取可用參數的完整清單。

要求

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>

回應

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

第 4 步:建立廣告

您可以透過廣告,將廣告創意資料與廣告組合連結起來。如要建立廣告,請向 /act_<AD_ACCOUNT_ID>/ads 端點發出 POST 要求,其中 <AD_ACCOUNT_ID> 是您的 Meta 廣告帳戶編號。您的要求必須包括以下內容:

參數

名稱說明

name

字串

此為必要項目。
廣告的名稱。

adset_id

數字字串或整數

此為必要項目。
廣告組合的編號。

creative

此為必要項目。
要用於此廣告的廣告創意。您可以提供現有廣告創意的 creative_id,或透過在要求中加入所有必要欄位來建立新的廣告創意。詳情請參閱廣告創意

status

列舉

此為必要項目。
廣告的配置狀態。
值:ACTIVEPAUSEDDELETEDARCHIVED

要求

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"

回應

{
  "id": "<AD_ID>"
}

更新

您可以向 /<AD_ID> 發出 POST 要求來更新廣告

讀取

如要驗證是否成功建立 WhatsApp 發訊廣告,請向 /<AD_ID> 發出 GET 要求。請參閱廣告參考資料,獲取可用參數的完整清單。

要求

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

回應

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

第 5 步:發佈廣告

驗證廣告是否出現在廣告管理員中。當您準備好發佈變更時,請選擇您的宣傳活動、宣傳活動當中的廣告組合和所需廣告,然後點擊發佈按鈕。

您還可以使用 API 發佈廣告。只需向 /<AD_ID> 傳送 POST 要求,並將 status 參數設為 ACTIVE 即可,其中 <AD_ID> 是您要發佈的廣告。

Meta 會審查您的廣告,此時狀態會顯示為 PENDING_REVIEW。當廣告通過審查後,狀態會自動更新為 ACTIVE,此時廣告將會刊登。