ใช้โฆษณาบน Facebook กับลูกค้าที่มีอยู่แล้วและเข้าถึงลูกค้าใหม่ คำแนะนำแต่ละรายการจะอธิบายถึงสินค้าของโฆษณาบน Facebook เพื่อช่วยให้คุณบรรลุเป้าหมายด้านการโฆษณาของคุณ หน่วยโฆษณามีอยู่หลากหลายประเภท โดยมีตัวเลือกลักษณะ ตำแหน่งการจัดวาง และชิ้นงานโฆษณาที่แตกต่างกันไป โปรดดูแนวทางปฏิบัติเกี่ยวกับหน่วยโฆษณาที่เป็นเนื้อหาของชิ้นงานโฆษณาที่คู่มือโฆษณาบน Facebook
ชิ้นงานโฆษณาคืออ็อบเจ็กต์ที่ประกอบไปด้วยข้อมูลทั้งหมดสำหรับการแสดงภาพโฆษณานั้นๆ ใน API มีโฆษณาหลากหลายประเภทที่คุณสามารถสร้างได้บน Facebook ซึ่งเราได้ทำรายการทั้งหมดไว้แล้วที่นี่
หากคุณมีแคมเปญที่มีวัตถุประสงค์เป็นการมีส่วนร่วมในโพสต์บนเพจ คุณสามารถสร้างโฆษณาที่โปรโมทโพสต์ที่สร้างโดยเพจได้แล้วในขณะนี้ เราเรียกสิ่งนี้ว่าเป็นโฆษณาโพสต์บนเพจ ทั้งนี้ โฆษณาโพสต์บนเพจจะต้องมีช่องที่เรียกว่า object_story_id
ซึ่งเป็นคุณสมบัติ id
ของโพสต์บนเพจ เรียนรู้เพิ่มเติมเกี่ยวกับชิ้นงานโฆษณา, ข้อมูลอ้างอิง
ชิ้นงานโฆษณาประกอบไปด้วยส่วน 3 ส่วนดังต่อไปนี้:
หากต้องการสร้างอ็อบเจ็กต์ชิ้นงานโฆษณา โปรดทำการเรียกใช้ต่อไปนี้:
การตอบกลับของการเรียกใช้ API นี้คือ id
ของอ็อบเจ็กต์ชิ้นงานโฆษณา ให้จัดเก็บข้อมูลนี้ไว้ เพราะคุณจะต้องใช้กับอ็อบเจ็กต์โฆษณา:
ข้อความ ขนาดรูปภาพ อัตราส่วนกว้างยาวของรูปภาพ และความกว้างยาวอื่นๆ ของชิ้นงานโฆษณานั้นมีขีดจำกัด โปรดดูคู่มือโฆษณา
ใน API โฆษณา ช่องแต่ละช่องที่คุณต้องการเรียกใช้จะต้องมีการร้องขออย่างชัดเจน ยกเว้น id
ข้อมูลอ้างอิงของแต่ละอ็อบเจ็กต์จะมีส่วนสำหรับการอ่านอ็อบเจ็กต์และแสดงรายการว่าช่องใดบ้างที่สามารถอ่านได้ สำหรับชิ้นงานโฆษณา ช่องดังกล่าวนั้นเป็นช่องเดียวกันกับที่กำหนดไว้เมื่อสร้างอ็อบเจ็กต์ และ id
ตำแหน่งการจัดวางคือบริเวณที่โฆษณาของคุณแสดงบน Facebook เช่น ฟีดบนเดสก์ท็อป ฟีดบนอุปกรณ์มือถือ หรือคอลัมน์ด้านขวา โปรดดูคู่มือผลิตภัณฑ์โฆษณา
เราขอสนับสนุนให้คุณแสดงโฆษณาในตำแหน่งการจัดวางที่ใช้งานได้ทั้งหมด การประมูลโฆษณาของ Facebook ได้รับออกแบบมาเพื่อนำเสนออิมเพรสชั่นโฆษณาให้กับตำแหน่งการจัดวางที่มีแนวโน้มจะกระตุ้นผลลัพธ์ของแคมเปญได้มากที่สุดโดยใช้ต้นทุนที่ต่ำที่สุดเท่าที่จะเป็นไปได้
วิธีที่ง่ายที่สุดในการใช้ประโยชน์จากการปรับให้เหมาะสมนี้คือการปล่อยให้ช่องนี้ว่างไว้ นอกจากนั้น คุณยังสามารถเลือกตำแหน่งการจัดวางที่เจาะจงใน target_spec ของชุดโฆษณาได้อีกด้วย
ตัวอย่างนี้ประกอบไปด้วยโฆษณาโพสต์บนเพจ ตำแหน่งการจัดวางที่ใช้งานได้ ได้แก่ ฟีดบนมือถือ ฟีดบนเดสก์ท็อป และคอลัมน์ด้านขวาของ Facebook โปรดดูตัวเลือกตำแหน่งการจัดวางใน API หากคุณเลือก desktopfeed
และ rightcolumn
ให้เป็น page_type
โฆษณาจะแสดงบนตำแหน่งการจัดวางที่เป็นฟีดบนเดสก์ท็อปและคอลัมน์ด้านขวา โฆษณาใดๆ ที่สร้างขึ้นภายใต้ชุดโฆษณานี้จะมีตำแหน่งการจัดวางเป็นเดสก์ท็อปเท่านั้น
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 => 'Desktop Ad Set',
AdSetFields::CAMPAIGN_ID => <CAMPAIGN_ID>,
AdSetFields::DAILY_BUDGET => 10000,
AdSetFields::TARGETING => (new Targeting())->setData(array(
TargetingFields::PUBLISHER_PLATFORMS => array(
'facebook',
'audience_network',
),
TargetingFields::GEO_LOCATIONS => array(
'countries' => array('BR'),
),
)),
AdSetFields::OPTIMIZATION_GOAL =>
AdSetOptimizationGoalValues::POST_ENGAGEMENT,
AdSetFields::BILLING_EVENT => AdSetBillingEventValues::POST_ENGAGEMENT,
AdSetFields::BID_AMOUNT => 1500,
));
$adset->create(array(
AdSet::STATUS_PARAM_NAME => AdSet::STATUS_PAUSED,
));
from facebookads.adobjects.adset import AdSet
from facebookads.adobjects.targeting import Targeting
adset = AdSet(parent_id='act_<AD_ACCOUNT_ID>')
adset[AdSet.Field.name] = 'Desktop Ad Set'
adset[AdSet.Field.campaign_id] = <CAMPAIGN_ID>
adset[AdSet.Field.daily_budget] = 10000
adset[AdSet.Field.targeting] = {
Targeting.Field.publisher_platforms: ['facebook', 'audience_network'],
Targeting.Field.facebook_positions: ['feed'],
Targeting.Field.geo_locations: {
'countries': ['BR'],
},
}
adset[AdSet.Field.optimization_goal] = AdSet.OptimizationGoal.post_engagement
adset[AdSet.Field.billing_event] = AdSet.BillingEvent.post_engagement
adset[AdSet.Field.bid_amount] = 1500
adset.remote_create(params={
'status': AdSet.Status.paused,
})
AdSet adSet = new AdAccount(act_<AD_ACCOUNT_ID>, context).createAdSet()
.setName("Desktop Ad Set")
.setCampaignId(<CAMPAIGN_ID>)
.setDailyBudget(10000L)
.setTargeting(
new Targeting()
.setFieldGeoLocations(
new TargetingGeoLocation()
.setFieldCountries(Arrays.asList("BR"))
)
.setFieldPublisherPlatforms(Arrays.asList("facebook", "audience_network"))
)
.setOptimizationGoal(AdSet.EnumOptimizationGoal.VALUE_POST_ENGAGEMENT)
.setBillingEvent(AdSet.EnumBillingEvent.VALUE_POST_ENGAGEMENT)
.setBidAmount(1500L)
.setStatus(AdSet.EnumStatus.VALUE_PAUSED)
.execute();
String ad_set_id = adSet.getId();
curl \
-F 'name=Desktop Ad Set' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'daily_budget=10000' \
-F 'targeting={
"geo_locations": {"countries":["BR"]},
"publisher_platforms": ["facebook","audience_network"]
}' \
-F 'optimization_goal=POST_ENGAGEMENT' \
-F 'billing_event=POST_ENGAGEMENT' \
-F 'bid_amount=1500' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/adsets
คุณสามารถดูภาพตัวอย่างโฆษณาได้โดยใช้วิธีใดวิธีหนึ่งใน 2 วิธีนี้ ได้แก่ API ภาพตัวอย่างโฆษณาหรือปลั๊กอินภาพตัวอย่างโฆษณา
การสร้างภาพตัวอย่างด้วย API สามารถทำได้ 3 วิธีดังนี้:
เอกสารอ้างอิงของ API พรีวิวระบุว่าการเรียกใช้ API ขั้นต่ำที่กำหนดเป็นดังนี้:
ข้อมูลจำเพาะของชิ้นงานโฆษณาคือรายการของช่องและมูลค่าที่จำเป็นต่อการสร้างชิ้นงานโฆษณา
ในขณะนี้ การเรียกใช้ชิ้นงานโฆษณาของเราจะมีลักษณะดังนี้:
เลือก object_story_id
และนำไปใช้ในการเรียกใช้ API พรีวิวดังนี้:
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Fields\AdPreviewFields;
use FacebookAds\Object\Fields\AdCreativeFields;
$account = new AdAccount('act_<AD_ACCOUNT_ID>');
$account->getGeneratePreviews(array(), array(
AdPreviewFields::CREATIVE => array(
AdCreativeFields::OBJECT_STORY_ID => <POST_ID>,
),
AdPreviewFields::AD_FORMAT => '<FORMAT>',
));
from facebookads.adobjects.adaccount import AdAccount
from facebookads.adobjects.adcreative import AdCreative
account = AdAccount('act_<AD_ACCOUNT_ID>')
params = {
'creative': {
AdCreative.Field.object_story_id: '<POST_ID>',
},
'ad_format': '<FORMAT>',
}
account.get_generate_previews(params=params)
APINodeList<AdPreview> adPreviews = new AdAccount(act_<AD_ACCOUNT_ID>, context).getGeneratePreviews()
.setCreative(
new AdCreative()
.setFieldObjectStoryId(<OBJECT_STORY_ID>)
)
.setAdFormat(<FORMAT>)
.execute();
curl -G \
-d 'creative={"object_story_id":"<POST_ID>"}' \
-d 'ad_format=<FORMAT>' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/generatepreviews
ค่าที่ใช้งานได้สำหรับ ad_format
จะแตกต่างจาก page_types
เล็กน้อย แต่ในกรณีนี้ เราจะเลือกฟีดบนเดสก์ท็อปและคอลัมน์ด้านขวาของ Facebook การดำเนินการนี้กำหนดให้คุณต้องทำการเรียกใช้ API จำนวน 2 ครั้ง เพื่อสร้างภาพตัวอย่างสำหรับแต่ละตำแหน่งการจัดวาง:
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Fields\AdPreviewFields;
use FacebookAds\Object\Fields\AdCreativeFields;
use FacebookAds\Object\Values\AdPreviewAdFormatValues;
$account = new AdAccount('act_<AD_ACCOUNT_ID>');
$account->getGeneratePreviews(array(), array(
AdPreviewFields::CREATIVE => array(
AdCreativeFields::OBJECT_STORY_ID => <POST_ID>,
),
AdPreviewFields::AD_FORMAT => AdPreviewAdFormatValues::RIGHT_COLUMN_STANDARD,
));
from facebookads.adobjects.adaccount import AdAccount
from facebookads.adobjects.adpreview import AdPreview
from facebookads.adobjects.adcreative import AdCreative
account = AdAccount('act_<AD_ACCOUNT_ID>')
params = {
'creative': {
AdCreative.Field.object_story_id: '<POST_ID>',
},
'ad_format': AdPreview.AdFormat.right_column_standard,
}
account.get_generate_previews(params=params)
APINodeList<AdPreview> adPreviews = new AdAccount(act_<AD_ACCOUNT_ID>, context).getGeneratePreviews()
.setCreative(
new AdCreative()
.setFieldObjectStoryId(<OBJECT_STORY_ID>)
)
.setAdFormat(AdPreview.EnumAdFormat.VALUE_RIGHT_COLUMN_STANDARD)
.execute();
curl -G \
-d 'creative={"object_story_id":"<POST_ID>"}' \
-d 'ad_format=RIGHT_COLUMN_STANDARD' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/generatepreviews
การตอบสนองนี้คือ iFrame ที่จะใช้งานได้เป็นเวลา 24 ชั่วโมง