來店客流量目標

為協助商家因應新冠病毒(COVID-19),來店客流量目標在執行時有一些暫時變動。瞭解詳情

來店客流量目標可讓您建立 Facebook 廣告行銷活動,以增加您實體店面的來店人潮並提升銷售量。如果您的企業擁有多家分店,而且您已在 Facebook 新增分店地點,就可以為您的行銷活動選擇來店客流量目標。

深入瞭解來店客流量目標(廣告使用說明)

版位

適用於桌面版和行動版 Facebook(動態消息、限時動態和 Marketplace)與 Instagram(動態消息和限時動態)。

投遞最佳化

  • 觸及人數最佳化 - 適用於可存取此 API 的所有廣告商。其可最佳化單日不重複觸及人數,並且在廣告管理員分析報告中將「曝光次數」顯示為預設衡量指標。

建立高效速成+ 目錄廣告

若要針對此目標建立高效速成+ 目錄廣告,您的粉絲專頁必須使用 Facebook 分店管理工具

必備條件

  • 行銷活動必須將 objective 設定為 STORE_VISITS
  • 行銷活動必須將 promoted_object 設定為對應的 <PARENT_PAGE_ID>
  • 廣告組合 promoted_objecttargeting 必須包含 <PAGE_SET_ID>place_page_set_id
  • 廣告組合 optimization_goal 必須設定為 REACH
  • 廣告組合 billing_event 應為 IMPRESSIONS

步驟 1:建立 PageSet

Facebook 使用 PageSet 來設定廣告目標,並且在您的廣告中用它來做為推廣的物件。

若要建立 PageSet

  1. 蒐集分店地點,這些是各個分店地點的 Facebook 粉絲專頁,以及您主要業務的地點。您的主要業務即所謂的主要粉絲專頁
  2. 建立地點 JSON 結構來代表您的所有地點。
  3. 使用地點 JSON 結構來建立 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"
        }
    }
}

建立地點 JSON 結構

逐一瀏覽傳回結果中的每個項目,並查看 is_permanently_closed 欄位,確認每個地點都有營業。

使用兩個 GET 要求來取得預估半徑範圍,以獲得 radiusdistance_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&amp;latitude=29.173384&amp;longitude=48.098807\"
    },
    {
      \"method\": \"GET\",
      \"relative_url\": \"/<API_VERSION>/search?type=adradiussuggestion&amp;latitude=29.303635&amp;longitude=47.937725\"
    }
  ]" \
  "https://graph.facebook.com"
最後的地點 JSON 結構

若要建立最後的地點 JSON 結構,請使用先前呼叫取得的 radiusdistance_unit 參數,並以每個地點的 <CHILD_LOCATION_ID> 做為 page_id

[
    {
      "page_id": 1788030244802584,
      "radius": 1,
      "distance_unit": "mile"
    },
    {
      "page_id": 261533444245300,
      "radius": 1,
      "distance_unit": "mile"
    }
]

使用地點 JSON 結構建立 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
}

其中 progress0.01,而 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_radiusaudience

如果您使用 fixed_radius,必須提供 distance_unitvalue

{
  "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 必須是 milekilometervalue 必須在 0.750 之間(若為 mile),或在 180 之間(若為 kilometer)。
  • 只要半徑在 180 公里的範圍內,則 audience 中的 size 參數為半徑範圍內的帳號管理中心帳號數。如果您提供 max_radius,則我們計算的實際半徑範圍會在 1max_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=&lt;locations_json_structure.txt" 將其傳遞至 pages 屬性。

步驟 2:建立行銷活動

建立廣告行銷活動,將目標設定為 STORE_VISITS,並以主要粉絲專頁編號做為推廣物件。

請參閱廣告行銷活動參考資料

步驟 3:建立廣告組合

建立廣告組合來包含您的廣告。請參閱廣告組合參考資料目標設定規格參考資料粉絲專頁地點參考資料

在投遞時,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_locationsplace_page_set_ids

我們支援進階目標設定和版位中所有類型的 geo_location 目標設定,包括依國家/地區、城市和郵遞區號進行目標設定。您也可以選擇 location_types,例如 recenthometravel_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

我們會依據離瀏覽廣告者最近的商店自動投遞廣告。

步驟 4:提供廣告創意

您可以依據用戶所在的地點,動態插入廣告創意。使用一組範本預留位置來自訂廣告創意,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_DIRECTIONSCALL_NOW 時,不需要 CTA value 欄位。我們會自動將用戶導向最近的分店地點,或提示用戶致電最近分店地點的電話號碼。
  • dynamic_ad_voice 必須設定為 STORY_OWNER,才能使用 MESSAGE_PAGE。訊息會傳遞至主要粉絲專頁。
  • 選填欄位。若未針對個別廣告指定,則我們會顯示 Like Page 按鈕。

如需詳細資訊,請參閱廣告創意參考資料

dynamic_ad_voice 類型 call_to_action 類型

DYNAMIC

CALL_NOW


GET_DIRECTIONS

STORY_OWNER

CALL_NOW


GET_DIRECTIONS


LEARN_MORE


MESSAGE_PAGE


ORDER_NOW


SHOP_NOW

範例

使用動態粉絲專頁名稱和城市來提供廣告創意:

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」,廣告顯示時會以商店定位工具做為連結目的地。

步驟 5:建立廣告

請按照下列方式建立廣告

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

您可以從洞察報告 API 取得來店客流量的相關資料。我們在一般洞察報告呼叫中額外提供下列欄位:cost_per_store_visit_actionstore_visit_actions。請參閱洞察報告參考資料

參數

欄位說明
point_estimate
int32

The point prediction of the value