Usa le inserzioni di Facebook con i tuoi clienti esistenti e raggiungine di nuovi. Ogni guida descrive i prodotti dedicati alle inserzioni di Facebook che ti aiutano a raggiungere i tuoi obiettivi pubblicitari. Esistono diversi tipi di unità pubblicitarie con diversi aspetti, posizionamenti e creatività disponibili. Per le linee guida sulle unità pubblicitarie in termini di contenuti delle creatività, consulta la guida alle inserzioni di Facebook.
Le creatività dell'inserzione rappresentano un oggetto che contiene tutti i dati per la visualizzazione dell'inserzione stessa. Nell'API sono presenti diversi tipi di inserzioni che è possibile creare su Facebook, tutti elencati qui.
Se hai una campagna con l'obiettivo Interazione con un post della Pagina, adesso puoi creare un'inserzione per promuovere un post pubblicato dalla Pagina, considerata anche un'inserzione da un post della Pagina. Le inserzioni da un post della Pagina richiedono il campo object_story_id
, che è la proprietà id
di un post della Pagina. Scopri di più sul riferimento sulle creatività dell'inserzione.
Le creatività dell'inserzione presentano tre parti:
Per creare l'oggetto per le creatività delle inserzioni, effettua la chiamata seguente:
La risposta alla chiamata all'API è l'id
dell'oggetto creative. Memorizzalo, poiché ti serve per l'oggetto ad:
Esistono limiti relativi al testo, alle dimensioni delle immagini e al rapporto delle immagini, nonché ad altri aspetti delle creatività. Consulta la guida alle inserzioni.
Nell'API Ads, ogni campo da recuperare deve essere richiesto esplicitamente, fatta eccezione per id
. Il riferimento per ogni oggetto presenta una sezione per la rilettura dell'oggetto ed elenca i campi leggibili. Per le creatività, sono gli stessi campi specificati al momento della creazione dell'oggetto e id
.
Il posizionamento è il punto in cui viene mostrata la tua inserzione su Facebook, ad esempio il feed sul computer, il feed su un dispositivo mobile o la colonna destra. Consulta la Guida ai prodotti delle inserzioni.
È consigliabile pubblicare inserzioni nell'intera gamma di posizionamenti disponibili. L'asta pubblicitaria di Facebook è progettata per pubblicare impression di inserzioni sul posizionamento che con maggiore probabilità restituirà risultati della campagna al costo minore possibile.
Il modo più semplice per trarre vantaggio da questa ottimizzazione è lasciare vuoto questo campo. Puoi anche selezionare posizionamenti specifici in un campo target_spec del gruppo di inserzioni.
Questo esempio prevede un'inserzione da un post della Pagina. I posizionamenti disponibili sono feed mobile, feed del computer e colonna destra di Facebook. Nell'API, consulta Opzioni di posizionamento. Se scegli desktopfeed
e rightcolumn
come page_type
, l'inserzione viene pubblicata nei posizionamenti feed del computer e colonna destra. Qualsiasi inserzione creata al di sotto di questo gruppo di inserzioni prevede solo il posizionamento su computer.
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
Puoi visualizzare un'anteprima dell'inserzione in due modi diversi: tramite l'API Ad Preview o il plug-in per l'anteprima dell'inserzione.
Sono disponibili tre modi per generare un'anteprima tramite l'API:
In base ai documenti di riferimento dell'API per l'anteprima, la chiamata all'API minima richiesta è:
La specifica per le creatività è un array di ogni campo e valore necessario per creare le creatività dell'inserzione.
Attualmente, la chiamata per le creatività dell'inserzione è:
Usa object_story_id
nella chiamata all'API per l'anteprima:
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
I valori disponibili per ad_format
sono leggermente diversi rispetto a page_types
. Tuttavia, in questo scenario, sono selezionati il feed del computer e la colonna destra di Facebook. Sono quindi necessarie due chiamate all'API per generare le anteprime di ogni posizionamento:
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
La risposta è un iFrame valido per 24 ore.