Costo optimizado por mil anuncios

El costo optimizado por mil anuncios (oCPM) te permite dar prioridad a tus objetivos de marketing y, luego, entregarás de forma automática anuncios para alcanzar dichos objetivos con la mayor eficacia posible. Define objetivos en valores absolutos, por ejemplo, en cuánto valoras alcanzar una meta determinada. Estos valores no son pujas. Estos valores deberán ser el valor que asignas a un resultado.

Una alternativa al oCPM es el costo por conversión (CPA), que te permite especificar eventos de conversión y cobrar por la cantidad de conversiones. Los anuncios de CPM y oCPM son diferentes, ya que cobran por impresiones mostradas en el sitio.

Cómo funciona

Pujamos automáticamente en tu nombre, sin sobrepasar el presupuesto que definiste para la campaña. Con las pujas dinámicas, puedes obtener las impresiones de mayor valor con relación a tus objetivos y conseguir un ROI total superior al que obtendrías con una campaña tradicional de CPM o CPC.

Define el campo optimization_goal del conjunto de anuncios para optimizar tus campañas.

El oCPM para instalaciones de aplicaciones móviles solo está disponible si la aplicación ha reportado un evento de instalación en los últimos 28 días a través del SDK de Facebook o un socio de medición móvil.

Crear anuncio de oCPM

El objeto conjunto de anuncios incluye información sobre la puja. Para crear un anuncio de 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

Cuando crees el anuncio, estos campos deben seguir las restricciones que figuran a continuación:

Nombre Descripción

billing_event

Debes configurarlo en IMPRESSIONS.

optimization_goal

Debe ser la acción para la que quieres optimizar.

bid_amount

Es el valor, en centavos, que asignas al objetivo de optimización.

Consulta Prácticas recomendadas de validación para los anuncios que admiten pujas de oCPM.

Presupuesto y precios

Una campaña de CPM optimizado debe tener asignado un presupuesto. El sistema de anuncios puja por cada impresión en tu nombre. Cuando es probable que la impresión resulte útil para cumplir tus objetivos, el sistema puja un importe elevado. En caso contrario, se establece una puja más baja.

Ten en cuenta que estas pujas dinámicas resultan útiles para obtener las impresiones de mayor valor con relación a tus objetivos y que puedes esperar conseguir un ROI total superior al que obtendrías con una campaña tradicional de CPM o CPC. Recuerda que puedes consultar estadísticas para cada uno de los objetivos en el administrador de anuncios y en la API, por lo que puedes comprobar el rendimiento de tus anuncios y evaluar el éxito de una campaña en función de tus objetivos.