예산

광고 세트 수준에서 일일 예산 또는 총 예산을 설정합니다. 입찰가와 예산에 설정하는 금액은 광고 계정 통화 최소 액면가(예: USD의 경우 센트) 기준입니다. 해당 세트에서 게재되는 모든 광고는 지출 한도를 초과하지 않습니다.

  • daily_budget : 매일 특정 광고 세트 또는 캠페인에 지출할 평균 금액입니다. 광고 관리자를 사용하면 최적화 목표에 일치하는 결과를 얻는 데 필요한 대략적인 일일 예산을 파악할 수 있습니다. 그러나 특정 일자에 더 나은 기회가 발생할 수도 있습니다. 해당 기간에는 일일 예산의 최대 25%를 추가로 사용할 수 있습니다. 예를 들어 일일 예산이 10달러인 경우 최대 12.50달러를 지출할 수 있습니다.
  • lifetime budget : 광고 세트 또는 캠페인의 전체 게재 기간에 지출하려는 금액입니다. 게재 설정을 변경하지 않는 한 광고 세트의 결과에 대해 총 예산 이내로만 청구됩니다. 광고 세트가 5일 간 게재되고 총 예산이 250달러인 경우, 처음 2일 동안 매일 50달러씩 지출할 수 있습니다. 3일째에는 더 높은 성과가 예상되는 경우 75달러를 지출할 수 있습니다. 그러나 성과를 얻을 기회가 그다지 많지 않은 경우 4일째에 25달러를 지출하고 5일째에 50달러를 지출할 수 있습니다.

일일 예산을 20달러로 설정하는 경우:

curl -X POST \ -F 'name="My First Adset"' \ -F 'daily_budget=2000' \ -F 'start_time="2024-11-21T09:08:02-0800"' \ -F 'end_time="2024-11-28T09:08:02-0800"' \ -F 'campaign_id="<AD_CAMPAIGN_ID>"' \ -F 'bid_amount=100' \ -F 'billing_event="LINK_CLICKS"' \ -F 'optimization_goal="LINK_CLICKS"' \ -F 'targeting={ "facebook_positions": [ "feed" ], "geo_locations": { "countries": [ "US" ] } }' \ -F 'status="PAUSED"' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adsets
'use strict'; const bizSdk = require('facebook-nodejs-business-sdk'); const AdAccount = bizSdk.AdAccount; const AdSet = bizSdk.AdSet; const access_token = '<ACCESS_TOKEN>'; const app_secret = '<APP_SECRET>'; const app_id = '<APP_ID>'; const id = '<AD_ACCOUNT_ID>'; const api = bizSdk.FacebookAdsApi.init(access_token); const showDebugingInfo = true; // Setting this to true shows more debugging info. if (showDebugingInfo) { api.setDebug(true); } const logApiCallResult = (apiCallName, data) => { console.log(apiCallName); if (showDebugingInfo) { console.log('Data:' + JSON.stringify(data)); } }; let fields, params; fields = [ ]; params = { 'name' : 'My First Adset', 'daily_budget' : '2000', 'start_time' : '2024-07-29T17:54:47-0700', 'end_time' : '2024-08-05T17:54:47-0700', 'campaign_id' : '<adCampaignLinkClicksID>', 'bid_amount' : '100', 'billing_event' : 'LINK_CLICKS', 'optimization_goal' : 'LINK_CLICKS', 'targeting' : {'facebook_positions':['feed'],'geo_locations':{'countries':['US']}}, 'status' : 'PAUSED', }; const adsets = (new AdAccount(id)).createAdSet( fields, params ); logApiCallResult('adsets api call complete.', adsets);
require __DIR__ . '/vendor/autoload.php'; use FacebookAds\Object\AdAccount; use FacebookAds\Object\AdSet; use FacebookAds\Api; use FacebookAds\Logger\CurlLogger; $access_token = '<ACCESS_TOKEN>'; $app_secret = '<APP_SECRET>'; $app_id = '<APP_ID>'; $id = '<AD_ACCOUNT_ID>'; $api = Api::init($app_id, $app_secret, $access_token); $api->setLogger(new CurlLogger()); $fields = array( ); $params = array( 'name' => 'My First Adset', 'daily_budget' => '2000', 'start_time' => '2024-07-29T17:54:47-0700', 'end_time' => '2024-08-05T17:54:47-0700', 'campaign_id' => '<adCampaignLinkClicksID>', 'bid_amount' => '100', 'billing_event' => 'LINK_CLICKS', 'optimization_goal' => 'LINK_CLICKS', 'targeting' => array('facebook_positions' => array('feed'),'geo_locations' => array('countries' => array('US'))), 'status' => 'PAUSED', ); echo json_encode((new AdAccount($id))->createAdSet( $fields, $params )->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adaccount import AdAccount from facebook_business.adobjects.adset import AdSet from facebook_business.api import FacebookAdsApi access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_ACCOUNT_ID>' FacebookAdsApi.init(access_token=access_token) fields = [ ] params = { 'name': 'My First Adset', 'daily_budget': '2000', 'start_time': '2024-07-29T17:54:47-0700', 'end_time': '2024-08-05T17:54:47-0700', 'campaign_id': '<adCampaignLinkClicksID>', 'bid_amount': '100', 'billing_event': 'LINK_CLICKS', 'optimization_goal': 'LINK_CLICKS', 'targeting': {'facebook_positions':['feed'],'geo_locations':{'countries':['US']}}, 'status': 'PAUSED', } print AdAccount(id).create_ad_set( fields=fields, params=params, )
import com.facebook.ads.sdk.*; import java.io.File; import java.util.Arrays; public class SAMPLE_CODE_EXAMPLE { public static void main (String args[]) throws APIException { String access_token = \"<ACCESS_TOKEN>\"; String app_secret = \"<APP_SECRET>\"; String app_id = \"<APP_ID>\"; String id = \"<AD_ACCOUNT_ID>\"; APIContext context = new APIContext(access_token).enableDebug(true); new AdAccount(id, context).createAdSet() .setName(\"My First Adset\") .setDailyBudget(2000L) .setStartTime(\"2024-07-29T17:54:47-0700\") .setEndTime(\"2024-08-05T17:54:47-0700\") .setCampaignId(\"<adCampaignLinkClicksID>\") .setBidAmount(100L) .setBillingEvent(AdSet.EnumBillingEvent.VALUE_LINK_CLICKS) .setOptimizationGoal(AdSet.EnumOptimizationGoal.VALUE_LINK_CLICKS) .setTargeting( new Targeting() .setFieldFacebookPositions(Arrays.asList(\"feed\")) .setFieldGeoLocations( new TargetingGeoLocation() .setFieldCountries(Arrays.asList(\"US\")) ) ) .setStatus(AdSet.EnumStatus.VALUE_PAUSED) .execute(); } }
require 'facebook_ads' access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_ACCOUNT_ID>' FacebookAds.configure do |config| config.access_token = access_token config.app_secret = app_secret end ad_account = FacebookAds::AdAccount.get(id) adsets = ad_account.adsets.create({ name: 'My First Adset', daily_budget: '2000', start_time: '2024-07-29T17:54:47-0700', end_time: '2024-08-05T17:54:47-0700', campaign_id: '<adCampaignLinkClicksID>', bid_amount: '100', billing_event: 'LINK_CLICKS', optimization_goal: 'LINK_CLICKS', targeting: {'facebook_positions':['feed'],'geo_locations':{'countries':['US']}}, status: 'PAUSED', })

10일 동안 게재되도록 설정된 캠페인에 총 예산을 20달러로 설정하는 경우:

curl -X POST \ -F 'name="My First Adset"' \ -F 'lifetime_budget=20000' \ -F 'start_time="2024-11-21T09:08:02-0800"' \ -F 'end_time="2024-12-01T09:08:02-0800"' \ -F 'campaign_id="<AD_CAMPAIGN_ID>"' \ -F 'bid_amount=100' \ -F 'billing_event="LINK_CLICKS"' \ -F 'optimization_goal="LINK_CLICKS"' \ -F 'targeting={ "facebook_positions": [ "feed" ], "geo_locations": { "countries": [ "US" ] }, "publisher_platforms": [ "facebook", "audience_network" ] }' \ -F 'status="PAUSED"' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adsets
'use strict'; const bizSdk = require('facebook-nodejs-business-sdk'); const AdAccount = bizSdk.AdAccount; const AdSet = bizSdk.AdSet; const access_token = '<ACCESS_TOKEN>'; const app_secret = '<APP_SECRET>'; const app_id = '<APP_ID>'; const id = '<AD_ACCOUNT_ID>'; const api = bizSdk.FacebookAdsApi.init(access_token); const showDebugingInfo = true; // Setting this to true shows more debugging info. if (showDebugingInfo) { api.setDebug(true); } const logApiCallResult = (apiCallName, data) => { console.log(apiCallName); if (showDebugingInfo) { console.log('Data:' + JSON.stringify(data)); } }; let fields, params; fields = [ ]; params = { 'name' : 'My First Adset', 'lifetime_budget' : '20000', 'start_time' : '2024-07-29T17:54:57-0700', 'end_time' : '2024-08-08T17:54:57-0700', 'campaign_id' : '<adCampaignLinkClicksID>', 'bid_amount' : '100', 'billing_event' : 'LINK_CLICKS', 'optimization_goal' : 'LINK_CLICKS', 'targeting' : {'facebook_positions':['feed'],'geo_locations':{'countries':['US']},'publisher_platforms':['facebook','audience_network']}, 'status' : 'PAUSED', }; const adsets = (new AdAccount(id)).createAdSet( fields, params ); logApiCallResult('adsets api call complete.', adsets);
require __DIR__ . '/vendor/autoload.php'; use FacebookAds\Object\AdAccount; use FacebookAds\Object\AdSet; use FacebookAds\Api; use FacebookAds\Logger\CurlLogger; $access_token = '<ACCESS_TOKEN>'; $app_secret = '<APP_SECRET>'; $app_id = '<APP_ID>'; $id = '<AD_ACCOUNT_ID>'; $api = Api::init($app_id, $app_secret, $access_token); $api->setLogger(new CurlLogger()); $fields = array( ); $params = array( 'name' => 'My First Adset', 'lifetime_budget' => '20000', 'start_time' => '2024-07-29T17:54:57-0700', 'end_time' => '2024-08-08T17:54:57-0700', 'campaign_id' => '<adCampaignLinkClicksID>', 'bid_amount' => '100', 'billing_event' => 'LINK_CLICKS', 'optimization_goal' => 'LINK_CLICKS', 'targeting' => array('facebook_positions' => array('feed'),'geo_locations' => array('countries' => array('US')),'publisher_platforms' => array('facebook','audience_network')), 'status' => 'PAUSED', ); echo json_encode((new AdAccount($id))->createAdSet( $fields, $params )->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adaccount import AdAccount from facebook_business.adobjects.adset import AdSet from facebook_business.api import FacebookAdsApi access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_ACCOUNT_ID>' FacebookAdsApi.init(access_token=access_token) fields = [ ] params = { 'name': 'My First Adset', 'lifetime_budget': '20000', 'start_time': '2024-07-29T17:54:57-0700', 'end_time': '2024-08-08T17:54:57-0700', 'campaign_id': '<adCampaignLinkClicksID>', 'bid_amount': '100', 'billing_event': 'LINK_CLICKS', 'optimization_goal': 'LINK_CLICKS', 'targeting': {'facebook_positions':['feed'],'geo_locations':{'countries':['US']},'publisher_platforms':['facebook','audience_network']}, 'status': 'PAUSED', } print AdAccount(id).create_ad_set( fields=fields, params=params, )
import com.facebook.ads.sdk.*; import java.io.File; import java.util.Arrays; public class SAMPLE_CODE_EXAMPLE { public static void main (String args[]) throws APIException { String access_token = \"<ACCESS_TOKEN>\"; String app_secret = \"<APP_SECRET>\"; String app_id = \"<APP_ID>\"; String id = \"<AD_ACCOUNT_ID>\"; APIContext context = new APIContext(access_token).enableDebug(true); new AdAccount(id, context).createAdSet() .setName(\"My First Adset\") .setLifetimeBudget(20000L) .setStartTime(\"2024-07-29T17:54:57-0700\") .setEndTime(\"2024-08-08T17:54:57-0700\") .setCampaignId(\"<adCampaignLinkClicksID>\") .setBidAmount(100L) .setBillingEvent(AdSet.EnumBillingEvent.VALUE_LINK_CLICKS) .setOptimizationGoal(AdSet.EnumOptimizationGoal.VALUE_LINK_CLICKS) .setTargeting( new Targeting() .setFieldFacebookPositions(Arrays.asList(\"feed\")) .setFieldGeoLocations( new TargetingGeoLocation() .setFieldCountries(Arrays.asList(\"US\")) ) .setFieldPublisherPlatforms(Arrays.asList(\"facebook\", \"audience_network\")) ) .setStatus(AdSet.EnumStatus.VALUE_PAUSED) .execute(); } }
require 'facebook_ads' access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<AD_ACCOUNT_ID>' FacebookAds.configure do |config| config.access_token = access_token config.app_secret = app_secret end ad_account = FacebookAds::AdAccount.get(id) adsets = ad_account.adsets.create({ name: 'My First Adset', lifetime_budget: '20000', start_time: '2024-07-29T17:54:57-0700', end_time: '2024-08-08T17:54:57-0700', campaign_id: '<adCampaignLinkClicksID>', bid_amount: '100', billing_event: 'LINK_CLICKS', optimization_goal: 'LINK_CLICKS', targeting: {'facebook_positions':['feed'],'geo_locations':{'countries':['US']},'publisher_platforms':['facebook','audience_network']}, status: 'PAUSED', })

일일 예산을 선택하면 Facebook이 일일 지출을 유지하고 총 예산은 광고 세트의 전체 기간에 걸쳐 지출됩니다.