Anuncios de coste optimizado por mil

El coste optimizado por mil (oCPM) te permite priorizar los objetivos de marketing y entregar los anuncios automáticamente de la manera más efectiva posible para conseguir dichos objetivos. Especifica los objetivos en valores absolutos, como el valor que supone para ti conseguir un objetivo en particular. Estos valores no son pujas. Estos valores deben ser el valor que le asignes a un resultado.

Una alternativa al oCPM es el coste por acción (CPA), que te permite especificar eventos de conversión y que se te cobre en función de la cantidad de conversiones. Los anuncios de CPM y oCPM son diferentes, ya que se cobran por impresiones entregadas en el sitio.

Funcionamiento

Pujamos automáticamente en tu nombre, pero limitados por el presupuesto de campaña definido. Las pujas dinámicas te permiten capturar las impresiones de mayor valor para tus objetivos y debes prever que el ROI total de una campaña supere el de una campaña de CPC o CPM tradicional.

Define el valor de optimization_goal del conjunto de anuncios para optimizar las campañas.

El oCPM para descargas de aplicaciones para móviles solo está disponible si la aplicación ha notificado un evento de descarga en los últimos 28 días mediante el SDK de Facebook o un socio de evaluación de la actividad en móviles.

Crear un anuncio de oCPM

El objeto de conjunto de anuncios incluye información de pujas. 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 hagas esto, estos campos deben seguir las restricciones siguientes:

Nombre Descripción

billing_event

Se debe establecer en IMPRESSIONS.

optimization_goal

Se debe establecer en la acción que quieres optimizar.

bid_amount

Valor que le asignas al objetivo de optimización, especificado en centavos.

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

Presupuesto y precios

Una campaña de CPM optimizado debe tener un presupuesto. El sistema de anuncios puja cada impresión en tu nombre y ofrece un valor alto cuando la impresión es probable que funcione para tus objetivos y uno bajo cuando es poco probable que funcione.

Ten en cuenta que esta dinámica te permite capturar las impresiones de mayor valor para tus objetivos y debes prever que el ROI total de la campaña supere el de la campaña de CPM o CPC tradicional. Ten en cuenta que las estadísticas de cada uno de los objetivos se proporcionan en el Administrador de anuncios y en la API, de modo que puedes consultar el rendimiento del anuncio y medir el éxito de una campaña en función de los objetivos.