為協助商家因應新冠病毒(COVID-19),來店客流量目標在執行時有一些暫時變動。瞭解詳情。
來店客流量目標可讓您建立 Facebook 廣告行銷活動,以增加您實體店面的來店人潮並提升銷售量。如果您的企業擁有多家分店,而且您已在 Facebook 新增分店地點,就可以為您的行銷活動選擇來店客流量目標。
深入瞭解來店客流量目標(廣告使用說明)。
適用於桌面版和行動版 Facebook(動態消息、限時動態和 Marketplace)與 Instagram(動態消息和限時動態)。
若要針對此目標建立高效速成+ 目錄廣告,您的粉絲專頁必須使用 Facebook 分店管理工具。
objective
設定為 STORE_VISITS
。promoted_object
設定為對應的 <PARENT_PAGE_ID>
。promoted_object
和 targeting
必須包含 <PAGE_SET_ID>
的 place_page_set_id
optimization_goal
必須設定為 REACH
billing_event
應為 IMPRESSIONS
PageSet
Facebook 使用 PageSet
來設定廣告目標,並且在您的廣告中用它來做為推廣的物件。
若要建立 PageSet
:
PageSet
。<PARENT_PAGE_ID>
是您所有分店地點主要粉絲專頁的粉絲專頁編號。它會擷取屬於主要粉絲專頁的所有分店粉絲專頁和地點,並傳回每個地點的經度和緯度:
curl -X GET \ -d 'fields="location{latitude,longitude},is_permanently_closed"' \ -d 'limit=30000' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v20.0/{page-id}/locations
匯出項目範例
{ "data": [ { "location": { "latitude": 29.173384, "longitude": 48.098807 }, "is_permanently_closed": false, "id": "1788030244802584" }, { "location": { "latitude": 29.303635, "longitude": 47.937725 }, "is_permanently_closed": false, "id": "261533444245300" }, { "location": { "latitude": 29.302303, "longitude": 47.933178 }, "is_permanently_closed": false, "id": "179435399132774" }, { "location": { "latitude": 29.302591, "longitude": 47.931801 }, "is_permanently_closed": false, "id": "1790317704582144" } ], "paging": { "cursors": { "before": "MTc4ODAzMDI0NDgwMjU4NAZDZD", "after": "MTA4MTU4NjU5NjA5MDA4" } } }
逐一瀏覽傳回結果中的每個項目,並查看 is_permanently_closed
欄位,確認每個地點都有營業。
使用兩個 GET
要求來取得預估半徑範圍,以獲得 radius
和 distance_unit
參數。或者,您也可以發出批次 API 呼叫來產生下方的值。
您應使用主要粉絲專頁傳回的 JSON 結果中各分店粉絲專頁的緯度和經度來發出此要求。這會傳回每個地點的預估半徑範圍。
curl -X GET \ -d 'type="adradiussuggestion"' \ -d 'latitude=51.5152253' \ -d 'longitude=-0.1423029' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v20.0/search/
您也可以將多個要求合併成單一批次要求。
curl \ -F "access_token=<ACCESS_TOKEN>" \ -F "include_headers=false" \ -F "batch=[ { \"method\": \"GET\", \"relative_url\": \"/<API_VERSION>/search?type=adradiussuggestion&latitude=29.173384&longitude=48.098807\" }, { \"method\": \"GET\", \"relative_url\": \"/<API_VERSION>/search?type=adradiussuggestion&latitude=29.303635&longitude=47.937725\" } ]" \ "https://graph.facebook.com"
若要建立最後的地點 JSON 結構,請使用先前呼叫取得的 radius
和 distance_unit
參數,並以每個地點的 <CHILD_LOCATION_ID>
做為 page_id
。
[ { "page_id": 1788030244802584, "radius": 1, "distance_unit": "mile" }, { "page_id": 261533444245300, "radius": 1, "distance_unit": "mile" } ]
Pageset
PageSet
端點目前僅適用於許可清單上的合作夥伴。若要申請使用權限,請聯絡您的 Facebook 業務代表。
您現在可以使用地點 JSON 結構中的資訊來建立 PageSet
。
PageSet
中可使用的地點數量上限為 10,000。
您可以發出非同步要求來建立 PageSet
。如此可讓您建立具有超過 1,000 個地點的大型 PageSets
,而不會發生逾時。建議您在建立具有超過 50 個地點的 Pageset
時,都使用非同步要求。
要求
curl -X POST \ -d 'name=test_2' \ -d 'parent_page=ID_1' \ -d 'pages=[{\'page_id':ID_2}]' \ -d 'metadata={"audience":{"size":5000}}' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ad_place_page_sets_async/
注意:您可以使用 /ad_place_page_sets
來發出同步要求,但若有超過 50 個地點,則應使用非同步要求。
參數格式與您用於同步要求的參數格式相同。
您可以在 PageSet
內使用 metadata
欄位指定每個地點的固定半徑範圍來進行廣告投遞,或是達到特定廣告受眾規模。如果您選擇後者,Facebook 會自動計算每個地點的半徑範圍,以達到該帳號管理中心帳號的數量。
在此範例中,metadata
欄位設定為所需的 audience
規模(說明如下)。請參閱半徑範圍的 metadata
。這會傳回 ad_place_page_set_async_request
編號。
{ "id": "405738580111111" }
您稍後可以使用 ads_read
權限來查詢該編號,以取得 PageSet
編號。
curl -i -X GET \ "https://graph.facebook.com/<API_VERSION>/405738580111111?access_token=ACCESS_TOKEN"
回應
{ "id": "405738580111111", "place_page_set": { "id": "555555791481678", "name": "test_2" }, "progress": 1 }
其中 progress
為 0.0
至 1
,而 1
代表我們已完成要求,並已建立 PageSet
。
metadata
做為半徑範圍metadata
欄位告訴 Facebook 您想要使用地點的固定半徑範圍,或是您想要讓 Facebook 依據給定的廣告受眾規模,自動計算每個地點的半徑範圍。
範例
若要使用同步要求來指定固定半徑範圍:
curl -X POST \ -d 'name=test_2' \ -d 'parent_page=238219010666666' \ -d 'pages=[{\'page_id':405936056444444}]' \ -d 'metadata={"fixed_radius":{"value":5,"distance_unit":"mile"}}' \ -d 'access_token=ACCESS_TOKEN' \ "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ad_place_page_sets/"
這表示您希望 Facebook 將廣告投遞給 PageSet
中所有地點半徑範圍 5 英里以內的用戶。
回應
{ "id": "1618547271777777" }
注意:metadata
欄位應為 fixed_radius
或 audience
。
如果您使用 fixed_radius
,必須提供 distance_unit
和 value
:
{ "fixed_radius": { "distance_unit": "<distance_unit>" "value": <distance> } }
如果您使用 audience
,必須提供 size
,其中 max_radius
為選填:
{ "audience": { "size": <audience size> "max_radius": { // optional "distance_unit": "<distance_unit>" "value": <distance> } } }
metadata
的最佳作法
locations
,但請勿在其中指定半徑範圍。或者,如果您使用 locations
參數並提供半徑範圍,則不應也為 metadata
提供半徑範圍。distance_unit
必須是 mile
或 kilometer
,value
必須在 0.7
至 50
之間(若為 mile
),或在 1
至 80
之間(若為 kilometer
)。1
至 80
公里的範圍內,則 audience
中的 size
參數為半徑範圍內的帳號管理中心帳號數。如果您提供 max_radius
,則我們計算的實際半徑範圍會在 1
至 max_radius
之間變化。metadata
指定 audience
,則必須以非同步端點發出要求(ad_account_ID/ad_place_page_set_async
)。您還是可以使用同步要求來建立 PageSet
。
curl -X POST \ -d "name=My Grand Pageset" \ -d "parent_page=<PARENT_PAGE_ID>" \ -d "pages=<LOCATIONS_JSON_STRUCTURE>" \ -d "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ad_place_page_sets
這會傳回您稍後要使用的 PageSet
編號。
{ "id": <PAGE_SET_ID> }
如果頁面數量太多,而無法進行 cURL
呼叫,您可以建立包含地點 JSON 結構的文字檔案,然後使用 -F "pages=<locations_json_structure.txt"
將其傳遞至 pages
屬性。
建立廣告行銷活動,將目標設定為 STORE_VISITS
,並以主要粉絲專頁編號做為推廣物件。
請參閱廣告行銷活動參考資料。
建立廣告組合來包含您的廣告。請參閱廣告組合參考資料、目標設定規格參考資料和粉絲專頁地點參考資料。
在投遞時,Facebook 會停用距離最近粉絲專頁地點(即本地粉絲專頁)50 英里以外的任何廣告目標設定地點。
curl \ -F 'name=Store Visits Ad Set' \ -F 'promoted_object={"place_page_set_id":"<PAGE_SET_ID>"}' \ -F 'optimization_goal=STORE_VISITS' \ -F 'billing_event=IMPRESSIONS' \ -F 'is_autobid=true' \ -F 'daily_budget=1000' \ -F 'campaign_id=<CAMPAIGN_ID>' \ -F "targeting={ 'place_page_set_ids': ['<PAGE_SET_ID>'], 'device_platforms': ['mobile','desktop'], 'facebook_positions': ['feed'] }" \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adsets
您也可以依照來店客流量行銷活動中的 geo_locations
來設定目標。
注意:針對此目標,您在廣告組合目標設定中只能使用 geo_locations
或place_page_set_ids
。
我們支援進階目標設定和版位中所有類型的 geo_location
目標設定,包括依國家/地區、城市和郵遞區號進行目標設定。您也可以選擇 location_types
,例如 recent
、home
或 travel_in
。
您仍應該在 promoted_object
中提供 place_page_set_id
。這個 PageSet
必須是不含任何明確地點組合的粉絲專頁組合。請參閱使用地點 JSON 結構來建立 PageSet,以建立這個 PageSet
。不過,在此情況下,請勿傳遞參數頁面。
首先,建立您稍後要在推廣物件中提供的 PageSet
:
curl -X POST \ -d "name=My geo targeting page set" \ -d "parent_page=<PARENT_PAGE_ID>" \ -d "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ad_place_page_sets/
注意:您不需要像平常一樣提供 pages
參數。
接著,使用目標設定為 geo_locations
的來店客流量目標來建立廣告組合:
curl \ -F 'name=Store Traffic Ad Set' \ -F 'promoted_object={"place_page_set_id":"<PAGE_SET_ID>"}' \ -F 'optimization_goal=STORE_VISITS' \ -F 'billing_event=IMPRESSIONS' \ -F 'is_autobid=true' \ -F 'daily_budget=1000' \ -F 'campaign_id=<CAMPAIGN_ID>' \ -F "targeting={ 'geo_locations': {"countries":["US"],"location_types": ["home"]}, 'device_platforms': ['mobile','desktop'], 'facebook_positions': ['feed'] }" \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adsets
我們會依據離瀏覽廣告者最近的商店自動投遞廣告。
您可以依據用戶所在的地點,動態插入廣告創意。使用一組範本預留位置來自訂廣告創意,Facebook 會在執行階段,以最接近粉絲專頁地點的資料來取代廣告中的預留位置。
可用的預留位置:
{{page.hours.today}}
{{page.location.city}}
{{page.location.region}}
{{page.location.postcode}}
{{page.location.street_address}}
{{page.name}}
{{page.phone_number}}
dynamic_ad_voice
欄位可讓您控制廣告宣傳標的:
dynamic_ad_voice
設定為 DYNAMIC
,廣告貼文中的粉絲專頁名稱和大頭貼照取自最近的粉絲專頁地點。dynamic_ad_voice
設定為 STORY_OWNER
,廣告貼文中的粉絲專頁名稱和大頭貼照取自主要粉絲專頁地點。您也可以依據用戶的地點,動態加入行動呼籲按鈕(CTA):
GET_DIRECTIONS
或 CALL_NOW
時,不需要 CTA value
欄位。我們會自動將用戶導向最近的分店地點,或提示用戶致電最近分店地點的電話號碼。 dynamic_ad_voice
必須設定為 STORY_OWNER
,才能使用 MESSAGE_PAGE
。訊息會傳遞至主要粉絲專頁。Like Page
按鈕。如需詳細資訊,請參閱廣告創意參考資料
dynamic_ad_voice 類型
| call_to_action 類型
|
---|---|
|
|
|
|
使用動態粉絲專頁名稱和城市來提供廣告創意:
curl \ -F 'dynamic_ad_voice=DYNAMIC' \ -F 'object_story_spec={ "page_id": "<PARENT_PAGE_ID>", "template_data": { "description": "Ad Description", "link": "<URL>", "message": "Ad Message for {{page.location.city}}", "name": "{{page.name}}", "picture": "<IMAGE_URL>" } }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives
若要使用地圖卡,請在廣告創意的 child_attachments
欄位中,以附件方式加入 place_data
結構。
在此範例中,含有 Facebook 商店定位工具連結的地圖是 child_attachments
陣列中的第二個項目。除了地圖卡之外,您還必須提供至少一個項目。
curl \ -F 'dynamic_ad_voice=DYNAMIC' \ -F 'object_story_spec={ "page_id": "<PARENT_PAGE_ID>", "template_data": { "description": "Ad Description", "link": "<URL>", "message": "Ad Message for {{page.location.city}}", "name": "{{page.name}}", "child_attachments":[ { "description": "Come visit us!", "link": "http://yourweburl.com", "name": "{{page.location.street_address}} - {{page.location.city}}", "call_to_action": { "type":"GET_DIRECTIONS" }, }, { "link": "https://fb.com/store_locator", "name": "Check out our stores.", "place_data": { "type":"DYNAMIC" }, } ] } }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives
當您建立廣告時,如果將 link
設定為「https://fb.com/store_locator」,廣告顯示時會以商店定位工具做為連結目的地。
請按照下列方式建立廣告:
curl \ -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/<API_VERSION>/act_<AD_ACCOUNT_ID>/ads
若要針對來店客流量建立廣告,您的粉絲專頁和廣告帳號必須通過來店客流量成效衡量的批准。否則,會顯示類似 Reach estimate isn't available because 'store_visits' isn't a valid action type
的錯誤。
來店客流量是依據啟用定位服務之用戶的資料,所預估的衡量指標。其最終會提供來店客流量成效衡量,並最佳化來店客流量目標。來店客流量成效衡量僅適用於設有來店客流量目標的行銷活動。
來店客流量的衡量依據是使用來店客流量目標之廣告的點擊次數和瀏覽次數。這是觀看或點擊各商店廣告的帳號管理中心帳號造訪廣告商商店的次數估計值。您可以配置歸因期間,選擇依據 1 天、7 天或 28 天的點擊次數和瀏覽次數來加以自訂。除非您自訂配置,否則會套用廣告帳號的預設歸因條件。請參閱洞察報告 API,歸因期間。
這些功能與下列項目的分析報告相關:
請參閱 ENGAGEMENT: ACTIONS
下的欄位。這些欄位會出現在來店客流量和每次來店成本的分析報告介面中。
注意:來店客流量資料僅適用於 Facebook 團隊確認為可衡量行銷活動成效的商店。
您可以從洞察報告 API 取得來店客流量的相關資料。我們在一般洞察報告呼叫中額外提供下列欄位:cost_per_store_visit_action
和 store_visit_actions
。請參閱洞察報告參考資料。
欄位 | 說明 |
---|---|
point_estimate int32 | The point prediction of the value |