請按照以下步驟,使用推廣 API 建立您的第一個廣告。
使用 Campaign
類別開始建立新宣傳活動物件的流程。在此階段中,您需要為自己的廣告設定一個目標,也是您宣傳活動的整體目標。我們建議您先建立一個 PAUSED
宣傳活動,以免在測試期間產生費用。
curl -X POST \
-F 'name="My campaign"' \
-F 'objective="OUTCOME_TRAFFIC"' \
-F 'status="PAUSED"' \
-F 'special_ad_categories=[]' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/campaigns
一旦成功,我們便會為您新建立的廣告宣傳活動傳回編號。請記住儲存此編號。您還可以在廣告管理員中驗證已建立的廣告宣傳活動。
在開始建立廣告組合之前,您需要定義自己的目標廣告受眾。在下一個步驟中,您將會建立廣告組合並指定廣告受眾的歸因。
您有多個目標選項。在此範例中,我們會使用目標搜尋來尋找可用於設定廣告受眾的預先定義值。
首先,讓我們看看包含「united」一詞的可用國家/地區:
curl -G \ -d 'location_types=["country"]' \ -d 'type=adgeolocation' \ -d 'q=united' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v<API_VERSION>/search Open In Graph API ExplorerOpen In Postman
然後,我們可以尋找包含「movie」一詞的興趣:
curl -G \ -d 'type=adinterest' \ -d 'q=movie' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v<API_VERSION>/search
根據上述呼叫傳回的值,我們就可以將一群興趣為電影的美國用戶建立為受眾。目標規格如下所示:
targeting={ "geo_locations": {"countries":["US"]}, "interests": [{id: 6003139266461, 'name': 'Movies'}] }
廣告組合是一組共享相同單日預算或總經費、預定時間、帳單、優化目標及目標指定資料的廣告。在此步驟中,您需要從 AdSet
類別中建立一個新物件,並指定以下項目:
start_time
和 end_time
以設定此項目。optimization_goal
以設定此項目。billing_event
。bid_amount
欄位。如要建立廣告組合,您還需要使用在第 1 步中儲存的廣告宣傳活動編號:
curl -X POST \
-F 'name="My Reach Ad Set"' \
-F 'optimization_goal="REACH"' \
-F 'billing_event="IMPRESSIONS"' \
-F 'bid_amount=2' \
-F 'daily_budget=1000' \
-F 'campaign_id="<AD_CAMPAIGN_ID>"' \
-F 'targeting={
"geo_locations": {
"countries": [
"US"
]
},
"facebook_positions": [
"feed"
]
}' \
-F 'status="PAUSED"' \
-F 'promoted_object={
"page_id": "<PAGE_ID>"
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adsets
我們建議您建立狀態為 PAUSED
的廣告組合,以免在測試期間產生費用。
在此步驟中,您將使用物件 AdCreative
提供廣告的視覺元素。您需要提供的資訊取決於您的目的,但是常見的屬性如下:
根據不同的廣告目標,您可能需要提供進階欄位。例如,iOS 應用程式的廣告必須提供 App Store 的網址。
您可以將廣告創意定義為廣告組合的一部分或獨立廣告。無論在以上何種情況下,我們都會將您的廣告創意儲存在您廣告帳戶當中用於廣告的廣告創意資料。
此範例展示如何提供圖像和建立 AdCreative
物件。
首先,從圖片檔案中建立 AdImage
物件:
curl \ -F 'filename=@<IMAGE_PATH>' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v<API_VERSION>/act_<AD_ACCOUNT_ID>/adimages
之後,使用圖像雜湊來建立 AdCreative
:
curl -X POST \ -F 'name="Sample Creative"' \ -F 'object_story_spec={ "page_id": "<PAGE_ID>", "link_data": { "image_hash": "<IMAGE_HASH>", "link": "https://facebook.com/<PAGE_ID>", "message": "try it out" } }' \ -F 'degrees_of_freedom_spec={ "creative_features_spec": { "standard_enhancements": { "enroll_status": "OPT_IN" } } }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives Open In Graph API ExplorerOpen In Postman
前往廣告管理員中的影音資料庫以驗證您上載的圖像。
此時,您還未能在廣告管理員中看到含有連結的 AdCreative
。預訂廣告之後,您才能看到這項資料。您可以使用 Graph API 測試工具來為廣告創意偵錯,並且指定任何您想讀取的欄位:
GET /{my-creative-id} HTTP/1.1
Host: graph.facebook.com/?fields=object_story_spec
最後,建立廣告物件,以將 AdCreative
和 AdSet
連結起來。將 Ad
的 status
設定為 paused
,以免即時建立訂單。
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/v21.0/act_<AD_ACCOUNT_ID>/ads
在廣告管理員驗證您的廣告是否確實存在。點擊您剛剛建立的宣傳活動,然後點擊廣告組合和廣告。
在您有信心使用 API 預訂廣告時,將狀態改為 active
。廣告會先經過廣告審查程序,而且狀態將是 PENDING_REVIEW
。審查完成後,廣告狀態就會回到 ACTIVE
狀態。
此外,您亦可複製現有的廣告、廣告素材或宣傳活動。這樣您就可以快速複製宣傳活動,變更其配置或建立測試群組,以收集成效資訊。如需詳細資訊,請參閱: