FacebookのAudience Networkを使用すると、他のパブリッシャーのiOSアプリ、Androidアプリ、モバイルウェブサイトに広告を配信できます。その後、Facebookのターゲット設定オプションを使用して、それらのモバイルアプリとモバイルウェブサイト内でオーディエンスを見つけることができます。
このページでは、最初に広告クリエイティブと配置に関するAudience Networkのルールを参照します。次に、以下の広告の作成方法について説明します。
FacebookのAudience Networkは、目的のアプリに広告の画像を配信します。
MOBILE_APP_INSTALLS
MOBILE_APP_ENGAGEMENT
LINK_CLICKS
(ウェブサイトクリック数を増やすための動画利用の拡大に関するブログ記事を参照)CONVERSIONS
(動画の追加オプションに関するブログ記事を参照)PRODUCT_CATALOG_SALES
入札タイプ、billing event
、optimization goal
の組み合わせを使用します。最適化の簡素化をご覧ください。
audience_network
は、facebook
などの別のプラットフォームで使用する必要があります。Audience Networkのみで広告を配信することはできません。
publisher_platform | 説明 |
---|---|
| Audience Networkで広告を配信できます。 |
IABサイズはサポートされていません。
例えば、配信するリンク広告を作成するには、次の手順に従います。
広告キャンペーンを作成します。objective
をLINK_CLICKS
またはCONVERSIONS
のいずれかに設定します。
curl -X POST \
-F 'name="My campaign"' \
-F 'objective="OUTCOME_TRAFFIC"' \
-F 'status="PAUSED"' \
-F 'special_ad_categories=[]' \
-F 'is_adset_budget_sharing_enabled=0' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v24.0/act_<AD_ACCOUNT_ID>/campaigns
'use strict';
const bizSdk = require('facebook-nodejs-business-sdk');
const AdAccount = bizSdk.AdAccount;
const Campaign = bizSdk.Campaign;
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 campaign',
'objective' : 'OUTCOME_TRAFFIC',
'status' : 'PAUSED',
'special_ad_categories' : [],
};
const campaigns = (new AdAccount(id)).createCampaign(
fields,
params
);
logApiCallResult('campaigns api call complete.', campaigns);
require __DIR__ . '/vendor/autoload.php';
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Campaign;
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 campaign',
'objective' => 'OUTCOME_TRAFFIC',
'status' => 'PAUSED',
'special_ad_categories' => array(),
);
echo json_encode((new AdAccount($id))->createCampaign(
$fields,
$params
)->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adaccount import AdAccount
from facebook_business.adobjects.campaign import Campaign
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 campaign',
'objective': 'OUTCOME_TRAFFIC',
'status': 'PAUSED',
'special_ad_categories': [],
}
print AdAccount(id).create_campaign(
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).createCampaign()
.setName(\"My campaign\")
.setObjective(Campaign.EnumObjective.VALUE_OUTCOME_TRAFFIC)
.setStatus(Campaign.EnumStatus.VALUE_PAUSED)
.setParam(\"special_ad_categories\", \"[]\")
.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)
campaigns = ad_account.campaigns.create({
name: 'My campaign',
objective: 'OUTCOME_TRAFFIC',
status: 'PAUSED',
special_ad_categories: [],
})
Audience Network配置を使用して広告セットを作成します。
広告セットに対して、配置を指定し、広告のtargeting
の下のpublisher_platforms
をaudience_network
に設定します。
リンク広告クリエイティブを提供します。
広告を作成します。
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/v24.0/act_<AD_ACCOUNT_ID>/ads
'use strict';
const bizSdk = require('facebook-nodejs-business-sdk');
const AdAccount = bizSdk.AdAccount;
const Ad = bizSdk.Ad;
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 Ad',
'adset_id' : '<adSetID>',
'creative' : {'creative_id':'<adCreativeID>'},
'status' : 'PAUSED',
};
const ads = (new AdAccount(id)).createAd(
fields,
params
);
logApiCallResult('ads api call complete.', ads);
require __DIR__ . '/vendor/autoload.php';
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Ad;
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 Ad',
'adset_id' => '<adSetID>',
'creative' => array('creative_id' => '<adCreativeID>'),
'status' => 'PAUSED',
);
echo json_encode((new AdAccount($id))->createAd(
$fields,
$params
)->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adaccount import AdAccount
from facebook_business.adobjects.ad import Ad
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 Ad',
'adset_id': '<adSetID>',
'creative': {'creative_id':'<adCreativeID>'},
'status': 'PAUSED',
}
print AdAccount(id).create_ad(
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).createAd()
.setName(\"My Ad\")
.setAdsetId(<adSetID>L)
.setCreative(
new AdCreative()
.setFieldId(\"<adCreativeID>\")
)
.setStatus(Ad.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)
ads = ad_account.ads.create({
name: 'My Ad',
adset_id: '<adSetID>',
creative: {'creative_id':'<adCreativeID>'},
status: 'PAUSED',
})
Audience Network配置を使用してモバイルアプリ画像広告を作成するには、次の手順に従います。
広告キャンペーンを作成します。objective
をAPP_INSTALLS
またはMOBILE_APP_ENGAGEMENT
に設定します。
curl -X POST \
-F 'name="Mobile App Installs Campaign"' \
-F 'objective="OUTCOME_APP_PROMOTION"' \
-F 'status="PAUSED"' \
-F 'special_ad_categories=[]' \
-F 'is_adset_budget_sharing_enabled=0' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v24.0/act_<AD_ACCOUNT_ID>/campaigns
'use strict';
const bizSdk = require('facebook-nodejs-business-sdk');
const AdAccount = bizSdk.AdAccount;
const Campaign = bizSdk.Campaign;
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' : 'Mobile App Installs Campaign',
'objective' : 'OUTCOME_APP_PROMOTION',
'status' : 'PAUSED',
'special_ad_categories' : [],
};
const campaigns = (new AdAccount(id)).createCampaign(
fields,
params
);
logApiCallResult('campaigns api call complete.', campaigns);
require __DIR__ . '/vendor/autoload.php';
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Campaign;
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' => 'Mobile App Installs Campaign',
'objective' => 'OUTCOME_APP_PROMOTION',
'status' => 'PAUSED',
'special_ad_categories' => array(),
);
echo json_encode((new AdAccount($id))->createCampaign(
$fields,
$params
)->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adaccount import AdAccount
from facebook_business.adobjects.campaign import Campaign
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': 'Mobile App Installs Campaign',
'objective': 'OUTCOME_APP_PROMOTION',
'status': 'PAUSED',
'special_ad_categories': [],
}
print AdAccount(id).create_campaign(
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).createCampaign()
.setName(\"Mobile App Installs Campaign\")
.setObjective(Campaign.EnumObjective.VALUE_OUTCOME_APP_PROMOTION)
.setStatus(Campaign.EnumStatus.VALUE_PAUSED)
.setParam(\"special_ad_categories\", \"[]\")
.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)
campaigns = ad_account.campaigns.create({
name: 'Mobile App Installs Campaign',
objective: 'OUTCOME_APP_PROMOTION',
status: 'PAUSED',
special_ad_categories: [],
})
広告セットを作成します。Audience Network配置を指定して、promoted_object
をアプリ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/v24.0/act_<AD_ACCOUNT_ID>/ads
'use strict';
const bizSdk = require('facebook-nodejs-business-sdk');
const AdAccount = bizSdk.AdAccount;
const Ad = bizSdk.Ad;
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 Ad',
'adset_id' : '<adSetID>',
'creative' : {'creative_id':'<adCreativeID>'},
'status' : 'PAUSED',
};
const ads = (new AdAccount(id)).createAd(
fields,
params
);
logApiCallResult('ads api call complete.', ads);
require __DIR__ . '/vendor/autoload.php';
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Ad;
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 Ad',
'adset_id' => '<adSetID>',
'creative' => array('creative_id' => '<adCreativeID>'),
'status' => 'PAUSED',
);
echo json_encode((new AdAccount($id))->createAd(
$fields,
$params
)->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adaccount import AdAccount
from facebook_business.adobjects.ad import Ad
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 Ad',
'adset_id': '<adSetID>',
'creative': {'creative_id':'<adCreativeID>'},
'status': 'PAUSED',
}
print AdAccount(id).create_ad(
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).createAd()
.setName(\"My Ad\")
.setAdsetId(<adSetID>L)
.setCreative(
new AdCreative()
.setFieldId(\"<adCreativeID>\")
)
.setStatus(Ad.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)
ads = ad_account.ads.create({
name: 'My Ad',
adset_id: '<adSetID>',
creative: {'creative_id':'<adCreativeID>'},
status: 'PAUSED',
})
モバイルアプリ広告をご覧ください。
Audience Network配置を使用してモバイルアプリ動画広告を作成するには、Audience Network用の画像広告のステップ1および2に従います。次に、動画クリエイティブを提供します。
最後に、広告を作成します。Audience Network用の画像広告のステップ4をご覧ください。
Audience Network配置を使用して動画リンク広告を作成するには、次の手順に従います。
objective
をLINK_CLICKS
またはCONVERSIONS
に設定して、広告キャンペーンを作成します。
curl -X POST \
-F 'name="My campaign"' \
-F 'objective="OUTCOME_TRAFFIC"' \
-F 'status="PAUSED"' \
-F 'special_ad_categories=[]' \
-F 'is_adset_budget_sharing_enabled=0' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v24.0/act_<AD_ACCOUNT_ID>/campaigns
'use strict';
const bizSdk = require('facebook-nodejs-business-sdk');
const AdAccount = bizSdk.AdAccount;
const Campaign = bizSdk.Campaign;
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 campaign',
'objective' : 'OUTCOME_TRAFFIC',
'status' : 'PAUSED',
'special_ad_categories' : [],
};
const campaigns = (new AdAccount(id)).createCampaign(
fields,
params
);
logApiCallResult('campaigns api call complete.', campaigns);
require __DIR__ . '/vendor/autoload.php';
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Campaign;
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 campaign',
'objective' => 'OUTCOME_TRAFFIC',
'status' => 'PAUSED',
'special_ad_categories' => array(),
);
echo json_encode((new AdAccount($id))->createCampaign(
$fields,
$params
)->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adaccount import AdAccount
from facebook_business.adobjects.campaign import Campaign
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 campaign',
'objective': 'OUTCOME_TRAFFIC',
'status': 'PAUSED',
'special_ad_categories': [],
}
print AdAccount(id).create_campaign(
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).createCampaign()
.setName(\"My campaign\")
.setObjective(Campaign.EnumObjective.VALUE_OUTCOME_TRAFFIC)
.setStatus(Campaign.EnumStatus.VALUE_PAUSED)
.setParam(\"special_ad_categories\", \"[]\")
.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)
campaigns = ad_account.campaigns.create({
name: 'My campaign',
objective: 'OUTCOME_TRAFFIC',
status: 'PAUSED',
special_ad_categories: [],
})
Audience Network配置を使用して広告セットを作成します。
リンク付きの動画をアップロードします。コールトゥアクションをリンクに指定して、未公開の動画をページにアップロードします。広告アカウントの動画ライブラリに動画をアップロードすることもできます。
curl \
-F "title=Book your trip to Alaska" \
-F "picture=http://thumbnailurl.com/pic1" \
-F "source=<VIDEO_FORM_DATA>" \
-F "published=0" \
-F "call_to_action={'type':'BOOK_TRAVEL','value':{'link':'http://example.com'}}" \
-F "access_token=<PAGE_TOKEN>" \
https://graph-video.facebook.com/<API_VERSION>/<PAGE_ID>/videos
広告クリエイティブを提供します。これを提供するには、ページ投稿IDを使用します。
curl -X POST \
-F 'name="Sample Promoted Post"' \
-F 'object_story_id="<PAGE_ID>_<POST_ID>"' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v24.0/act_<AD_ACCOUNT_ID>/adcreatives
'use strict';
const bizSdk = require('facebook-nodejs-business-sdk');
const AdAccount = bizSdk.AdAccount;
const AdCreative = bizSdk.AdCreative;
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' : 'Sample Promoted Post',
'object_story_id' : '<pageID>_<postID>',
};
const adcreatives = (new AdAccount(id)).createAdCreative(
fields,
params
);
logApiCallResult('adcreatives api call complete.', adcreatives);
require __DIR__ . '/vendor/autoload.php';
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\AdCreative;
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' => 'Sample Promoted Post',
'object_story_id' => '<pageID>_<postID>',
);
echo json_encode((new AdAccount($id))->createAdCreative(
$fields,
$params
)->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adaccount import AdAccount
from facebook_business.adobjects.adcreative import AdCreative
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': 'Sample Promoted Post',
'object_story_id': '<pageID>_<postID>',
}
print AdAccount(id).create_ad_creative(
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).createAdCreative()
.setName(\"Sample Promoted Post\")
.setObjectStoryId(\"<pageID>_<postID>\")
.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)
adcreatives = ad_account.adcreatives.create({
name: 'Sample Promoted Post',
object_story_id: '<pageID>_<postID>',
})
広告を作成します。
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/v24.0/act_<AD_ACCOUNT_ID>/ads
'use strict';
const bizSdk = require('facebook-nodejs-business-sdk');
const AdAccount = bizSdk.AdAccount;
const Ad = bizSdk.Ad;
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 Ad',
'adset_id' : '<adSetID>',
'creative' : {'creative_id':'<adCreativeID>'},
'status' : 'PAUSED',
};
const ads = (new AdAccount(id)).createAd(
fields,
params
);
logApiCallResult('ads api call complete.', ads);
require __DIR__ . '/vendor/autoload.php';
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Ad;
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 Ad',
'adset_id' => '<adSetID>',
'creative' => array('creative_id' => '<adCreativeID>'),
'status' => 'PAUSED',
);
echo json_encode((new AdAccount($id))->createAd(
$fields,
$params
)->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.adaccount import AdAccount
from facebook_business.adobjects.ad import Ad
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 Ad',
'adset_id': '<adSetID>',
'creative': {'creative_id':'<adCreativeID>'},
'status': 'PAUSED',
}
print AdAccount(id).create_ad(
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).createAd()
.setName(\"My Ad\")
.setAdsetId(<adSetID>L)
.setCreative(
new AdCreative()
.setFieldId(\"<adCreativeID>\")
)
.setStatus(Ad.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)
ads = ad_account.ads.create({
name: 'My Ad',
adset_id: '<adSetID>',
creative: {'creative_id':'<adCreativeID>'},
status: 'PAUSED',
})
Audience Networkでは、カルーセルの最初の2つのchild_attachments
のみが、指定された順に表示されます。Audience Networkのカルーセル広告については、以下の点に注意してください。
objective
を、MOBILE_APP_INSTALLS
、MOBILE_APP_ENGAGEMENT
、LINK_CLICKS
、CONVERSIONS
のいずれかにする必要がありますtargeting/publisher_platforms
にaudience_network
が含まれている必要があります広告プロダクトガイド、プレビューAPI、およびカルーセル広告をご覧ください。
Audience Networkの位置は、広告セットレベルのターゲット設定で指定できます。
"audience_network_positions": [ "classic", "instream_video"]
動画広告をご覧ください。
Audience NetworkをAdvantage+ カタログ広告の配置として使うには、以下の要件を満たす必要があります。
objective=PRODUCT_CATALOG_SALES
を設定するtargeting/publisher_platforms
にaudience_network
が含まれているAdvantage+ カタログ広告をご覧ください。
Audience Network広告をプレビューするには、次の手順を実施します。
広告の/previews
を呼び出します
ad_format=
を次のように指定します。
MOBILE_BANNER
MOBILE_INTERSTITIAL
MOBILE_NATIVE
MOBILE_MEDIUM_RECTANGLE
MOBILE_FULLWIDTH
AUDIENCE_NETWORK_INSTREAM_VIDEO
AUDIENCE_NETWORK_OUTSTREAM_VIDEO
AUDIENCE_NETWORK_INSTREAM_VIDEO_MOBILE
AUDIENCE_NETWORK_REWARDED_VIDEO
AUDIENCE_NETWORK_NATIVE_BANNER
MESSENGER_MOBILE_INBOX_MEDIA
モバイルウェブプレビューは、モバイルアプリと同じように表示されます。
https://graph.facebook.com/<API_VERSION>/<AD_ID>/previews?ad_format=MOBILE_BANNER https://graph.facebook.com/<API_VERSION>/<AD_ID>/previews?ad_format=MOBILE_INTERSTITIAL https://graph.facebook.com/<API_VERSION>/<AD_ID>/previews?ad_format=MOBILE_NATIVE
APIは独自のCSSを参照するiFrameを返し、プレビュー画像を生成します。このiFrameの有効期間は24時間です。リファレンスの「広告プレビュー」をご覧ください。
推奨される動画フィードでの広告のパフォーマンスについては、breakdowns=['publisher_platform']
を指定して/insights
をクエリし、広告インサイトのガイドを参照してください。結果は次のようになります。
{ ...... "spend": 9.23, "today_spend": 0, "total_action_value": 0, "total_actions": 1, "total_unique_actions": 1, "link_clicks": 0, "placement": "mobile_feed" }, { ...... "spend": 7.73, "today_spend": 0, "total_action_value": 0, "total_actions": 6, "total_unique_actions": 5, "link_clicks": 3, "placement": "mobile_video_channel" }, { ...... "spend": 6.23, "today_spend": 0, "total_action_value": 0, "total_actions": 3, "total_unique_actions": 2, "link_clicks": 1, "placement": "desktop_video_channel" },
mobile_feed
はFacebookモバイルのフィードを指し、mobile_video_channel
はモバイルの推奨される動画フィードを指し、desktop_video_channel
はデスクトップの推奨される動画フィードを指します。