ต้นทุนต่อการดำเนินการ (CPA) ให้คุณสามารถระบุเหตุการณ์คอนเวอร์ชั่นและจ่ายค่าบริการตามจำนวนคอนเวอร์ชั่นได้ CPA สำหรับการรับชมวิดีโอเรียกว่า CPV
ตัวเลือกสำหรับ CPA อีกอย่างคือ oCPM ซึ่งจะเรียกเก็บค่าบริการตามอิมเพรสชั่นที่ได้รับ
ราคาประมูลถูกตั้งไว้สำหรับ ชุดโฆษณา ช่องเหล่านี้จะต้องเป็นไปตามข้อจำกัดต่อไปนี้
ชื่อ | คำอธิบาย |
---|---|
| กำหนดการดำเนินการที่คุณจะจ่าย โดยตั้งเป็น |
| กำหนดการดำเนินการที่คุณจะปรับให้เหมาะสม โดยตั้งให้เป็นค่าเดียวกันกับ |
| มูลค่าที่คุณกำหนดให้กับวัตถุประสงค์ โดยระบุเป็นหน่วยเซนต์ และขั้นต่ำคือ 1 เซนต์ ตัวอย่างเช่น |
| สำหรับโฆษณาที่ปรับให้เหมาะสมกับการเชื่อมต่อ ซึ่งรวมถึง |
การเรียกเก็บเงินค่า CPA สำหรับโฆษณาแอพถูกยกเลิกการใช้งานแล้ว คุณไม่สามารถกำหนดเหตุการณ์และเป้าหมายการปรับโฆษณาให้เหมาะสมกับการเรียกเก็บเงินให้กับแอพ APP_INSTALLS
ได้ โดยเริ่มตั้งแต่ v9 เป็นต้นไป เราจึงขอแนะนำให้ใช้เหตุการณ์การเรียกเก็บเงิน impression
แทน คุณยังคงสามารถระบุ APP_INSTALLS
ในส่วน billing_event
หรือ optimization_goal
ได้ แต่ไม่สามารถระบุทั้ง 2 รายการพร้อมกันได้
ดูเอกสาร ชุดโฆษณา เกี่ยวกับการอัพเดตชุดโฆษณาที่อนุญาต
ตัวอย่างด้านล่างจะเป็นการสร้างชุดโฆษณาที่ประมูล CPA โปรดทราบว่า คุณจะต้องตั้ง promoted_object
สำหรับชุดโฆษณา CPA
curl -X POST \
-F 'name="A CPA Ad Set"' \
-F 'campaign_id="<AD_CAMPAIGN_ID>"' \
-F 'daily_budget=5000' \
-F 'start_time="2024-11-28T10:56:08-0800"' \
-F 'end_time="2024-12-05T10:56:08-0800"' \
-F 'billing_event="IMPRESSIONS"' \
-F 'optimization_goal="REACH"' \
-F 'bid_amount=1000' \
-F 'promoted_object={
"page_id": "<PAGE_ID>"
}' \
-F 'targeting={
"facebook_positions": [
"feed"
],
"geo_locations": {
"countries": [
"US"
]
}
}' \
-F 'user_os="iOS"' \
-F 'publisher_platforms="facebook"' \
-F 'device_platforms="mobile"' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adsets
หลังจากนั้นคุณสามารถสร้างโฆษณาและวางในชุดโฆษณานี้ได้ โดยปฏิบัติตามขั้นตอนการสร้าง ที่นี่
เปลี่ยนราคาประมูลให้กับชุดโฆษณา CPA:
curl -X POST \
-F 'billing_event="IMPRESSIONS"' \
-F 'optimization_goal="LINK_CLICKS"' \
-F 'bid_amount=200' \
-F 'targeting={
"geo_locations": {
"countries": [
"US"
]
},
"facebook_positions": [
"feed"
]
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/<AD_SET_ID>/
วิธีสร้างโฆษณาที่ประมูล CPV หรือ CPA สำหรับการรับชมวิดีโอ ให้สร้างแคมเปญโฆษณาด้วย objective=VIDEO_VIEWS
ก่อน
curl -X POST \
-F 'name="Video Views campaign"' \
-F 'objective="OUTCOME_ENGAGEMENT"' \
-F 'status="PAUSED"' \
-F 'special_ad_categories=[]' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/campaigns
จากนั้นตั้ง CPA สำหรับการรับชมวิดีโอ bid_info
ที่ชุดโฆษณา
use FacebookAds\Object\AdSet;
use FacebookAds\Object\Fields\AdSetFields;
use FacebookAds\Object\Fields\TargetingFields;
use FacebookAds\Object\Targeting;
use FacebookAds\Object\Values\AdSetBillingEventValues;
use FacebookAds\Object\Values\AdSetOptimizationGoalValues;
$adset = new AdSet(null, 'act_<AD_ACCOUNT_ID>');
$adset->setData(array(
AdSetFields::NAME => 'A CPV Ad Set',
AdSetFields::CAMPAIGN_ID => <CAMPAIGN_ID>,
AdSetFields::DAILY_BUDGET => 500,
AdSetFields::START_TIME =>
(new \DateTime("+1 week"))->format(\DateTime::ISO8601),
AdSetFields::END_TIME =>
(new \DateTime("+2 week"))->format(\DateTime::ISO8601),
AdSetFields::BILLING_EVENT => AdSetBillingEventValues::VIDEO_VIEWS,
AdSetFields::OPTIMIZATION_GOAL => AdSetOptimizationGoalValues::VIDEO_VIEWS,
AdSetFields::BID_AMOUNT => 100,
AdSetFields::TARGETING => (new Targeting())->setData(array(
TargetingFields::GEO_LOCATIONS => array(
'countries' => array(
'US',
),
),
TargetingFields::PUBLISHER_PLATFORMS => array('facebook'),
TargetingFields::DEVICE_PLATFORMS => array('mobile'),
)),
));
$adset->create(array(
AdSet::STATUS_PARAM_NAME => AdSet::STATUS_PAUSED,
));
import time
from facebookads.adobjects.adset import AdSet
adset = AdSet(parent_id='act_<AD_ACCOUNT_ID>')
adset.update({
AdSet.Field.name: 'A CPV Ad Set',
AdSet.Field.campaign_id: <CAMPAIGN_ID>,
AdSet.Field.daily_budget: 500,
AdSet.Field.start_time: int(time.time()),
AdSet.Field.end_time: int(time.time() + 100000),
AdSet.Field.optimization_goal: AdSet.OptimizationGoal.video_views,
AdSet.Field.billing_event: AdSet.BillingEvent.video_views,
AdSet.Field.bid_amount: 100,
AdSet.Field.targeting: {
'geo_locations': {
'countries': ['US'],
},
Targeting.Field.publisher_platforms: ['facebook'],
Targeting.Field.device_platforms: ['mobile'],
},
})
adset.remote_create(params={
'status': AdSet.Status.paused,
})
AdSet adSet = new AdAccount(act_<AD_ACCOUNT_ID>, context).createAdSet()
.setName("A CPV Ad Set")
.setCampaignId(<CAMPAIGN_ID>)
.setDailyBudget(500L)
.setStartTime(start_time)
.setEndTime(end_time)
.setBillingEvent(AdSet.EnumBillingEvent.VALUE_VIDEO_VIEWS)
.setOptimizationGoal(AdSet.EnumOptimizationGoal.VALUE_VIDEO_VIEWS)
.setBidAmount(100L)
.setTargeting(
new Targeting()
.setFieldDevicePlatforms(Arrays.asList(Targeting.EnumDevicePlatforms.VALUE_MOBILE))
.setFieldGeoLocations(
new TargetingGeoLocation()
.setFieldCountries(Arrays.asList("US"))
)
.setFieldPublisherPlatforms(Arrays.asList("facebook"))
)
.setStatus(AdSet.EnumStatus.VALUE_PAUSED)
.execute();
String ad_set_id = adSet.getId();
curl \
-F 'name=A CPV Ad Set' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'daily_budget=500' \
-F 'start_time=2018-02-06T04:45:29+0000' \
-F 'end_time=2018-02-13T04:45:29+0000' \
-F 'billing_event=VIDEO_VIEWS' \
-F 'optimization_goal=VIDEO_VIEWS' \
-F 'bid_amount=100' \
-F 'targeting={
"device_platforms": ["mobile"],
"geo_locations": {"countries":["US"]},
"publisher_platforms": ["facebook"]
}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/adsets