Inserzioni costo ottimizzato per mille

Il costo ottimizzato per mille (oCPM) consente di assegnare la priorità agli obiettivi di marketing e di pubblicare automaticamente le inserzioni in base a essi nel modo più efficace possibile. Specifica gli obiettivi in valori assoluti (ad es. il valore assegnato al raggiungimento di un particolare obiettivo). Questi valori non sono offerte. Questi valori dovrebbero rappresentare il valore che attribuisci a un risultato.

Un'alternativa all'oCPM è il costo per azione (CPA), che ti consente di specificare gli eventi di conversione e di pagare in base al numero di conversioni. Le inserzioni CPM e oCPM sono diverse, poiché vengono addebitate sulla base delle impression mostrate sul sito.

Come funziona

Facciamo automaticamente un'offerta a tuo nome, di un valore che non superi il budget che hai definito per la tua campagna. Le offerte dinamiche ti consentono di acquisire le impression con maggiore valore per i tuoi obiettivi e di ottenere un ROI per una campagna superiore a quello di una campagna CPC o CPM tradizionale.

Ottimizza le tue campagne definendo l'optimization_goal del gruppo di inserzioni.

L'oCPM per le installazioni dell'app mobile è disponibile solo se l'app ha riportato un evento di installazione negli ultimi 28 giorni tramite l'SDK di Facebook o un Mobile Measurement Partner.

Creare un'inserzione oCPM

L'oggetto ad set contiene informazioni sull'offerta. Per creare un'inserzione oCPM:

use FacebookAds\Object\AdSet;
use FacebookAds\Object\Fields\AdSetFields;
use FacebookAds\Object\Values\AdSetBillingEventValues;
use FacebookAds\Object\Values\AdSetOptimizationGoalValues;

$adset = new AdSet(null, 'act_<AD_ACCOUNT_ID>');
$adset->setData(array(
  AdSetFields::NAME => 'My Ad Set for oCPM',
  AdSetFields::BILLING_EVENT => AdSetBillingEventValues::IMPRESSIONS,
  AdSetFields::OPTIMIZATION_GOAL => AdSetOptimizationGoalValues::LINK_CLICKS,
  AdSetFields::BID_AMOUNT => 150,
  AdSetFields::CAMPAIGN_ID => <CAMPAIGN_ID>,
  AdSetFields::DAILY_BUDGET => 1000,
  AdSetFields::TARGETING => array(
    'geo_locations' => array(
      'countries' => array(
        'US'
      ),
    ),
  ),
));

$adset->create(array(
  AdSet::STATUS_PARAM_NAME => AdSet::STATUS_PAUSED,
));
from facebookads.adobjects.adset import AdSet
from facebookads.adobjects.targeting import Targeting

# Create an Ad Set with bid_type set to oCPM
adset = AdSet(parent_id='act_<AD_ACCOUNT_ID>')
adset.update({
    AdSet.Field.name: 'My Ad Set for oCPM',
    AdSet.Field.billing_event: AdSet.BillingEvent.impressions,
    AdSet.Field.optimization_goal: AdSet.OptimizationGoal.link_clicks,
    AdSet.Field.bid_amount: 150,
    AdSet.Field.campaign_id: '<CAMPAIGN_ID>',
    AdSet.Field.daily_budget: 1000,
    AdSet.Field.targeting: {
        Targeting.Field.geo_locations: {
            'countries': ['US'],
        },
    },
})

adset.remote_create(params={
    'status': AdSet.Status.paused,
})
AdSet adSet = new AdAccount(act_<AD_ACCOUNT_ID>, context).createAdSet()
  .setName("My Ad Set for oCPM")
  .setBillingEvent(AdSet.EnumBillingEvent.VALUE_IMPRESSIONS)
  .setOptimizationGoal(AdSet.EnumOptimizationGoal.VALUE_LINK_CLICKS)
  .setBidAmount(150L)
  .setCampaignId(<CAMPAIGN_ID>)
  .setDailyBudget(1000L)
  .setTargeting(
    new Targeting()
      .setFieldGeoLocations(
        new TargetingGeoLocation()
          .setFieldCountries(Arrays.asList("US"))
      )
  )
  .setStatus(AdSet.EnumStatus.VALUE_PAUSED)
  .execute();
String ad_set_id = adSet.getId();
curl \
  -F 'name=My Ad Set for oCPM' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'optimization_goal=LINK_CLICKS' \
  -F 'bid_amount=150' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'daily_budget=1000' \
  -F 'targeting={"geo_locations":{"countries":["US"]}}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/adsets

Quando esegui l'operazione, questi campi devono rispettare le seguenti restrizioni:

Nome Descrizione

billing_event

Devi impostarlo su IMPRESSIONS.

optimization_goal

Impostalo sull'azione che desideri ottimizzare.

bid_amount

Valore che assegni all'obiettivo di ottimizzazione, indicato in centesimi.

Consulta Best practice per la convalida per le unità pubblicitarie che supportano le offerte oCPM.

Budget e prezzi

Una campagna CPM ottimizzato deve avere un budget. Il sistema di gestione delle inserzioni effettua un'offerta su ciascuna impression per conto tuo, offrendo di più per le impression adatte ai tuoi obiettivi e offrendo di meno per quelle meno adatte.

Ricorda che questa dinamica ti consente di acquisire le impression con maggiore valore per i tuoi obiettivi e di ottenere un ROI totale nella tua campagna superiore a quello delle campagne CPC o CPM tradizionali. Gestione inserzioni e l'API forniscono le statistiche di ciascun obiettivo, consentendoti di controllare le prestazioni delle inserzioni e misurare il successo di una campagna in base ai tuoi obiettivi.