이 가이드에서는 카탈로그와 제품 세트가 준비되어 있고 웹사이트나 모바일 앱에 필요한 차량 이벤트가 설정된 것으로 가정합니다. 그렇지 않을 경우 카탈로그 설정 및 이벤트 설정을 참조하세요.
자동차 광고를 만들려면 Facebook 페이지 및 광고 계정이 필요합니다.
PRODUCT_CATALOG_SALES
를 캠페인 목표로 선택합니다. promoted_object
에 차량 카탈로그를 지정합니다.use FacebookAds\Object\Campaign;
use FacebookAds\Object\Fields\CampaignFields;
use FacebookAds\Object\Values\CampaignObjectiveValues;
$campaign = new Campaign(null, 'act_<AD_ACCOUNT_ID>');
$campaign->setData(array(
CampaignFields::NAME => 'Product Catalog Sales Campaign',
CampaignFields::OBJECTIVE => CampaignObjectiveValues::PRODUCT_CATALOG_SALES,
CampaignFields::PROMOTED_OBJECT => array(
'product_catalog_id' => <PRODUCT_CATALOG_ID>,
),
));
$campaign->create(array(
Campaign::STATUS_PARAM_NAME => Campaign::STATUS_PAUSED,
));
from facebookads.adobjects.campaign import Campaign
campaign = Campaign(parent_id='act_<AD_ACCOUNT_ID>')
campaign[Campaign.Field.name] = 'Product Catalog Sales Campaign'
objective = Campaign.Objective.product_catalog_sales
campaign[Campaign.Field.objective] = objective
campaign[Campaign.Field.promoted_object] = {
'product_catalog_id': <PRODUCT_CATALOG_ID>,
}
campaign.remote_create(params={
'status': Campaign.Status.paused,
})
Campaign campaign = new AdAccount(act_<AD_ACCOUNT_ID>, context).createCampaign()
.setName("Product Catalog Sales Campaign Group")
.setObjective(Campaign.EnumObjective.VALUE_PRODUCT_CATALOG_SALES)
.setPromotedObject("{\"product_catalog_id\":\"" + <PRODUCT_CATALOG_ID> + "\"}")
.setStatus(Campaign.EnumStatus.VALUE_PAUSED)
.execute();
String campaign_id = campaign.getId();
curl \
-F 'name=Product Catalog Sales Campaign' \
-F 'objective=PRODUCT_CATALOG_SALES' \
-F 'promoted_object={"product_catalog_id":"<PRODUCT_CATALOG_ID>"}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/campaigns
캠페인과 campaign_id
가 있으면 광고 세트를 만들 수 있습니다. 광고 세트는 광고의 입찰 및 타게팅 옵션을 정의합니다.
광고 세트 수준에서 destination_type
을 지정하지 않으면 광고의 기본 랜딩 페이지는 카탈로그에 지정된 웹사이트 URL이 됩니다.
Facebook 내 트래픽 랜딩 페이지에 자동차 인벤토리 광고를 게재하는 광고 세트를 만들려면 광고 세트 데이터에서 destination_type FACEBOOK
을 지정합니다. Facebook 내 랜딩 페이지를 포함하는 어드밴티지+ 카탈로그 광고를 참조하세요.
정의된 제품 세트에서 차량을 조회한 웹사이트 방문자를 리타게팅합니다.
use FacebookAds\Object\AdSet;
use FacebookAds\Object\Fields\AdSetFields;
use FacebookAds\Object\Fields\TargetingFields;
use FacebookAds\Object\Values\AdSetBillingEventValues;
use FacebookAds\Object\Values\AdSetOptimizationGoalValues;
$adset = new AdSet(null, 'act_<AD_ACCOUNT_ID>');
$adset->setData(array(
AdSetFields::NAME => 'Product Catalog Sales Adset',
AdSetFields::BID_AMOUNT => 3000,
AdSetFields::BILLING_EVENT => AdSetBillingEventValues::IMPRESSIONS,
AdSetFields::OPTIMIZATION_GOAL =>
AdSetOptimizationGoalValues::OFFSITE_CONVERSIONS,
AdSetFields::DAILY_BUDGET => 15000,
AdSetFields::CAMPAIGN_ID => <CAMPAIGN_ID>,
AdSetFields::TARGETING => array(
TargetingFields::GEO_LOCATIONS => array(
'countries' => array('US'),
),
TargetingFields::DYNAMIC_AUDIENCE_IDS => array(<DYNAMIC_AUDIENCE_ID>),
),
AdSetFields::PROMOTED_OBJECT => array(
'product_set_id' => <PRODUCT_SET_ID>,
),
));
$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=ad_account_id)
adset[AdSet.Field.name] = 'Product Catalog Sales Adset'
adset[AdSet.Field.bid_amount] = 3000
adset[AdSet.Field.billing_event] = AdSet.BillingEvent.impressions
adset[AdSet.Field.optimization_goal] = \
AdSet.OptimizationGoal.offsite_conversions
adset[AdSet.Field.daily_budget] = 15000
adset[AdSet.Field.campaign_id] = campaign_id
adset[AdSet.Field.targeting] = {
Targeting.Field.geo_locations: {
Targeting.Field.countries: ['US'],
},
Targeting.Field.dynamic_audience_ids: [
dynamic_audience_id,
],
}
adset[AdSet.Field.promoted_object] = {
'product_set_id': product_set_id,
}
adset.remote_create()
AdSet adSet = new AdAccount(act_<AD_ACCOUNT_ID>, context).createAdSet()
.setName("Product Catalog Sales Adset")
.setBidAmount(3000L)
.setBillingEvent(AdSet.EnumBillingEvent.VALUE_IMPRESSIONS)
.setOptimizationGoal(AdSet.EnumOptimizationGoal.VALUE_OFFSITE_CONVERSIONS)
.setDailyBudget(15000L)
.setCampaignId(<CAMPAIGN_ID>)
.setTargeting(
new Targeting()
.setFieldDynamicAudienceIds(Arrays.asList(<DYNAMIC_AUDIENCE_ID>))
.setFieldGeoLocations(
new TargetingGeoLocation()
.setFieldCountries(Arrays.asList("US"))
)
)
.setPromotedObject("{\"product_set_id\":\"" + <PRODUCT_SET_ID> + "\"}")
.setStatus(AdSet.EnumStatus.VALUE_PAUSED)
.execute();
String ad_set_id = adSet.getId();
curl \
-F 'name=Product Catalog Sales Adset' \
-F 'bid_amount=3000' \
-F 'billing_event=IMPRESSIONS' \
-F 'optimization_goal=OFFSITE_CONVERSIONS' \
-F 'daily_budget=15000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={
"geo_locations": {"countries":["US"]},
"dynamic_audience_ids": ["<DYNAMIC_AUDIENCE_ID>"]
}' \
-F 'promoted_object={"product_set_id":"<PRODUCT_SET_ID>"}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/adsets
자동차 광고는 광고 세트에서 인라인 다이내믹 대상 타게팅 사양을 지원하지 않습니다. 먼저 별도로 타겟을 만들어야 합니다.
자동차 광고에 대해 광고 크리에이티브에서 템플릿 태그를 사용할 수 있습니다. Facebook이 광고를 표시할 때 템플릿 태그를 실제로 선택한 차량으로 교체합니다. 광고 및 URL에서 템플릿 태그를 사용할 수 있습니다. 템플릿 태그는 누군가 광고를 클릭하면 표시됩니다.
유형 | 이름 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vehicle.city
, vehicle.dealer_name
, vehicle.description
, vehicle.make
, vehicle.mileage
, vehicle.model
, vehicle.price
, vehicle.region
, vehicle.sale_price
, vehicle.title
, vehicle.url
, vehicle.year
등{{....}}
)를 사용하세요.{{dealer_name}}
의 특가 혜택을 확인해 보세요'를 광고 제목으로 사용할 수 있습니다.template_url_spec
필드를 사용하세요. URL이 제공되지 않았거나 Facebook에서 광고를 표시할 때 해당 URL을 가져올 수 없는 경우 카탈로그의 URL이 표시됩니다.크리에이티브 옵션에 대한 자세한 내용은 크리에이티브 템플릿 만들기를 참조하세요.
예 - 자동차 광고의 슬라이드 크리에이티브 만들기
use FacebookAds\Object\AdCreative; use FacebookAds\Object\Fields\AdCreativeFields; use FacebookAds\Object\Fields\AdCreativeLinkDataFields; use FacebookAds\Object\Fields\AdCreativeObjectStorySpecFields; use FacebookAds\Object\Values\AdCreativeCallToActionTypeValues; use FacebookAds\Object\AdCreativeObjectStorySpec; use FacebookAds\Object\AdCreativeLinkData; $object_story_spec = new AdCreativeObjectStorySpec(); $object_story_spec->setData(array( AdCreativeObjectStorySpecFields::PAGE_ID => <PAGE_ID>, AdCreativeObjectStorySpecFields::TEMPLATE_DATA => (new AdCreativeLinkData())->setData(array( AdCreativeLinkDataFields::MESSAGE => 'Check out these vehicles from {{dealer_name}}', AdCreativeLinkDataFields::NAME => '{{vehicle.year}} {{vehicle.make}} {{vehicle.model}}', AdCreativeLinkDataFields::LINK => '{{vehicle.url}}', AdCreativeLinkDataFields::DESCRIPTION => '{{vehicle.description}}', AdCreativeLinkDataFields::ADDITIONAL_IMAGE_INDEX => 0, AdCreativeLinkDataFields::CALL_TO_ACTION => array( 'type' => AdCreativeCallToActionTypeValues::LEARN_MORE, ), )), )); $creative = new AdCreative(null, 'act_<AD_ACCOUNT_ID>'); $creative->setData(array( AdCreativeFields::NAME => 'Advantage+ Catalog Ad Template Creative Sample', AdCreativeFields::OBJECT_STORY_SPEC => $object_story_spec, AdCreativeFields::TEMPLATE_URL_SPEC => array( 'web' => array( 'url' => 'http://www.example.com/vehicle'. '?id={{vehicle_id | urlencode}}', ) ), AdCreativeFields::PRODUCT_SET_ID => <PRODUCT_SET_ID>, )); $creative->create();
ad_set_id
및 creative_id
를 사용하여 광고를 만듭니다.
curl -X POST \
-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/v21.0/act_<AD_ACCOUNT_ID>/ads
광고 미리 보기 API를 사용하여 카탈로그용 어드밴티지+ 크리에이티브의 미리 보기를 생성할 수 있습니다. 미리 보기에 표시할 카탈로그 항목을 지정하려면 product_item_ids
매개변수를 포함합니다.
광고 미리 보기 API를 사용하여 광고의 미리 보기를 생성합니다. 미리 보기에 표시할 카탈로그 항목을 지정하려면 product_item_ids
를 포함하고, 특정 날짜를 지정하려면 start_date
및 end_date
를 포함합니다.
use FacebookAds\Object\AdCreative; use FacebookAds\Object\Fields\AdPreviewFields; use FacebookAds\Object\Values\AdPreviewAdFormatValues; $creative = new AdCreative(<CREATIVE_ID>); $preview = $creative->getPreviews(array(), array( AdPreviewFields::AD_FORMAT => AdPreviewAdFormatValues::DESKTOP_FEED_STANDARD, AdPreviewFields::PRODUCT_ITEM_IDS => array( '<VEHICLE_FBID>', ), ));