WhatsApp 發訊廣告

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

WhatsApp 發訊廣告會將點擊廣告的用戶直接送到 WhatsApp 中,與商家進行對話。使用這類廣告可大量觸及用戶,並提供優質的個人化服務。

WhatsApp 發訊廣告支援附有圖像、影片、輪播或輕影片的廣告。您也可以在廣告中加入通話提示。

如果您有興趣建立將用戶傳送至 Messenger 或 Instagram 聊天室的廣告,請參閱 Messenger 發訊廣告Instagram 發訊廣告取得相關指南。您也可以建立選擇用戶最有可能回應的目的地廣告,請參閱多目的地發訊廣告,瞭解更多資訊。

廣告建立流程總覽

本文件說明設定 WhatsApp 發訊廣告整合所需遵循的步驟。

您需要:

  1. 建立廣告行銷活動
  2. 建立將廣告連結至廣告行銷活動的廣告組合
  3. 針對您想要投放的 WhatsApp 廣告類型建立廣告創意
  4. 將廣告創意連結至廣告組合,以建立廣告
  5. 發佈廣告至 Facebook、Instagram 和 Messenger

準備工作

本指南假設您已經具備下列條件:

為了成功呼叫本指南中的所有端點,您需要:

  • 可在粉絲專頁上執行 ADVERTIZE 任務之用戶所要求的粉絲專頁存取權杖
  • 您的應用程式用戶必須授予下列權限:
    • ads_management
    • pages_manage_ads
    • pages_read_engagement
    • pages_show_list

步驟 1:建立廣告行銷活動

首先建立您的廣告行銷活動。若要執行此作業,請發出 POST 要求至 /act_<AD_ACCOUNT_ID>/campaigns 端點,其中 <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>"
}

更新

您可以發出 POST 要求至 /<AD_CAMPAIGN_ID>,以更新行銷活動。

讀取

若要驗證您是否已成功建立 WhatsApp 發訊廣告行銷活動,您可以發出 GET 要求至 /<AD_CAMPAIGN_ID>。請參閱廣告行銷活動參考資料,取得完整的可用參數清單。

要求

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:建立廣告組合

有了廣告行銷活動後,請建立廣告組合。若要建立廣告組合,請發出 POST 要求至 /act_<AD_ACCOUNT_ID>/adsets 端點,其中 <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

日期時間

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

日期時間

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

status

列舉

選用項目。
廣告組合的狀態。這可能會因為其上層行銷活動而與有效狀態不同。若未提供值,此欄位預設為 ACTIVE
值:ACTIVEPAUSEDDELETEDARCHIVED

targeting

目標設定物件

必要項目。
WhatsApp 發訊廣告的目標設定結構。如需詳細資訊,請參閱目標設定

time_start

日期時間

選用項目。
可與 start_time 互換。

time_stop

日期時間

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

更新

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

讀取

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

要求

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:建立廣告創意

廣告創意可讓您新增素材至廣告。若要建立廣告創意,請發出 POST 要求至 /act_<AD_ACCOUNT_ID>/adcreatives 端點,其中 <AD_ACCOUNT_ID> 是 Meta 廣告帳號的編號。您的要求必須包含:

參數

名稱說明

name

字串

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

object_story_spec

必要項目。
包含訊息相關資訊的物件。如需詳細資訊,請參閱廣告創意物件動態規格


必要項目:

  • page_id:Facebook 粉絲專頁的編號

選用項目:

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

degrees_of_freedom_spec

選用項目。
如需詳細資訊,請參閱高效速成+ 廣告創意的標準強化效果

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

填寫粉絲專頁歡迎訊息

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

注意:如果您使用 WhatsApp 訊息觸發任何 Bot(機器人程式)流程,請務必與您的 BSP 和代理商合作進行更新,以確保流程不會中斷。

範例

新增含有問候訊息的自動填入訊息

"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

更新

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

讀取

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

要求

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:建立廣告

廣告可讓您將廣告創意資訊與廣告組合建立關聯。若要建立廣告,請發出 POST 要求至 /act_<AD_ACCOUNT_ID>/ads 端點,其中 <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>"
}

更新

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

讀取

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

要求

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 來發佈廣告。只要傳送 POST 要求至 /<AD_ID>,並將 status 參數設為 ACTIVE 即可,其中 <AD_ID> 是您要發佈的廣告。

Meta 會審查您的廣告,狀態會是 PENDING_REVIEW。通過審查後,狀態會自動更新為 ACTIVE,並開始投放您的廣告。