最適化インプレッション課金(oCPM)を使用すると、マーケティングの目標を優先し、その目標に対して最も効果的な方法で自動的に広告を配信できます。目標は、特定の目標の達成基準となる絶対値で指定します。この値は入札価格ではありません。結果としての値を指定する必要があります。
oCPMに代わる方法として顧客獲得単価(CPA)を使用すると、指定したコンバージョンイベントの獲得数に応じて支払いをすることができます。CPMとoCPM広告の場合、サイト上のインプレッション回数単位で課金されるため、CPAとは異なります。
キャンペーン予算で設定した上限内で自動的に入札が行われます。目標達成に最も効果的なインプレッションを選んで入札が行われるため、CPCや従来のCPMのキャンペーンに比べ、キャンペーン全体のROIが向上します。
広告セットのoptimization_goal
を定義してキャンペーンを最適化します。
モバイルアプリのインストールに対してoCPMを利用できるのは、アプリの過去28日間のインストールイベントが、Facebook SDKまたはモバイル測定パートナーを通じて報告された場合のみです。
広告セットオブジェクトには入札に関する情報が含まれています。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
各フィールドには次の制限事項が適用されます。
名前 | 説明 |
---|---|
|
|
| 最適化の対象とするアクションに設定します。 |
| 最適化の目的に設定する値。セントで指定します。 |
oCPMでの入札をサポートする広告ユニットについては、検証に関するベストプラクティスをご覧ください。
oCPMキャンペーンには予算が必要です。この広告システムでは、インプレッションごとに自動的に入札されます。インプレッションが目標の達成につながる可能性が高い場合は入札価格が高くなり、可能性が低い場合は入札価格が低くなります。
目標達成に最も効果的なインプレッションを選んで入札されるため、従来のCPCやCPMのキャンペーンに比べ、キャンペーン全体のROIが向上します。各目標に関する統計データは広告マネージャとAPIで確認できるため、広告のパフォーマンスをチェックし、目標に基づいてキャンペーンの成果を測定できます。