最佳化每千次成本廣告

最佳化每千次成本(oCPM)可讓您排定行銷目標優先順序,以最有效的方式,朝這些目標自動投放廣告。請以絕對值指定目標,例如實現特定目標可為您帶來多少價值。這些數值不是出價,而是您對成果所訂出的價值。

oCPM 的一種變形為每次行動成本(CPA),可讓您按照指定轉換事件的轉換次數付費。CPM 和 oCPM 廣告則有所不同,因為這兩者是按網站上的廣告曝光次數收費。

運作方式

我們會自動代表您出價,但不超過您設定的行銷活動預算。動態出價可讓您針對目標獲得最高價值的曝光效果,且行銷活動的總 ROI(投資報酬率)預期會超越 CPC 或傳統 CPM 行銷活動的 ROI。

定義廣告組合的 optimization_goal,製作出最好的行銷活動。

只有當應用程式在過去 28 天內透過 Facebook SDK 或行動衡量合作夥伴回報安裝事件時,才可使用行動應用程式安裝的 oCPM

建立 oCPM 廣告

廣告組合物件包含出價資訊。若要建立 oCPM 廣告:

use FacebookAds\Object\AdSet;
use FacebookAds\Object\Fields\AdSetFields;
use FacebookAds\Object\Values\AdSetBillingEventValues;
use FacebookAds\Object\Values\AdSetOptimizationGoalValues;

$adset = new AdSet(null, 'act_<AD_ACCOUNT_ID>');
$adset->setData(array(
  AdSetFields::NAME => 'My Ad Set for oCPM',
  AdSetFields::BILLING_EVENT => AdSetBillingEventValues::IMPRESSIONS,
  AdSetFields::OPTIMIZATION_GOAL => AdSetOptimizationGoalValues::LINK_CLICKS,
  AdSetFields::BID_AMOUNT => 150,
  AdSetFields::CAMPAIGN_ID => <CAMPAIGN_ID>,
  AdSetFields::DAILY_BUDGET => 1000,
  AdSetFields::TARGETING => array(
    'geo_locations' => array(
      'countries' => array(
        'US'
      ),
    ),
  ),
));

$adset->create(array(
  AdSet::STATUS_PARAM_NAME => AdSet::STATUS_PAUSED,
));
from facebookads.adobjects.adset import AdSet
from facebookads.adobjects.targeting import Targeting

# Create an Ad Set with bid_type set to oCPM
adset = AdSet(parent_id='act_<AD_ACCOUNT_ID>')
adset.update({
    AdSet.Field.name: 'My Ad Set for oCPM',
    AdSet.Field.billing_event: AdSet.BillingEvent.impressions,
    AdSet.Field.optimization_goal: AdSet.OptimizationGoal.link_clicks,
    AdSet.Field.bid_amount: 150,
    AdSet.Field.campaign_id: '<CAMPAIGN_ID>',
    AdSet.Field.daily_budget: 1000,
    AdSet.Field.targeting: {
        Targeting.Field.geo_locations: {
            'countries': ['US'],
        },
    },
})

adset.remote_create(params={
    'status': AdSet.Status.paused,
})
AdSet adSet = new AdAccount(act_<AD_ACCOUNT_ID>, context).createAdSet()
  .setName("My Ad Set for oCPM")
  .setBillingEvent(AdSet.EnumBillingEvent.VALUE_IMPRESSIONS)
  .setOptimizationGoal(AdSet.EnumOptimizationGoal.VALUE_LINK_CLICKS)
  .setBidAmount(150L)
  .setCampaignId(<CAMPAIGN_ID>)
  .setDailyBudget(1000L)
  .setTargeting(
    new Targeting()
      .setFieldGeoLocations(
        new TargetingGeoLocation()
          .setFieldCountries(Arrays.asList("US"))
      )
  )
  .setStatus(AdSet.EnumStatus.VALUE_PAUSED)
  .execute();
String ad_set_id = adSet.getId();
curl \
  -F 'name=My Ad Set for oCPM' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'optimization_goal=LINK_CLICKS' \
  -F 'bid_amount=150' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'daily_budget=1000' \
  -F 'targeting={"geo_locations":{"countries":["US"]}}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/adsets

建立這類廣告時,以下欄位必須遵守所列限制:

名稱 說明

billing_event

必須設定為 IMPRESSIONS

optimization_goal

設定為最佳化的目標動作。

bid_amount

您對最佳化目標所訂出的價值(以美分計)。

如需瞭解支援 oCPM 出價的廣告單位,請參閱驗證最佳作法

預算和定價

您必須為最佳化的 CPM 行銷活動設定預算。廣告系統會代表您針對每次曝光出價,當該次曝光可能有助於達成目標時出高價,當該次曝光可能對目標沒有助益時出低價。

請注意,動態出價可讓您針對目標獲得最高價值的曝光效果,且行銷活動的總 ROI 預期會超越傳統的 CPC 或 CPM 行銷活動。請注意,廣告管理員和 API 可提供各目標的統計資料,以便您根據目標查看廣告成效,並衡量行銷活動的成果。