Optimierte Kosten pro Tausend Anzeigen

Mit oCPM priorisierst du deine Marketingziele und lieferst anschließend Werbeanzeigen automatisch so effektiv wie möglich im Hinblick auf diese Ziele aus. Gib Ziele in absoluten Werten an, beispielsweise wie viel Wert du dem Erreichen eines bestimmten Ziels beimisst. Diese Werte sind keine Gebote. Sie sollten den Wert darstellen, den du einem Ergebnis zuordnest.

Eine Alternative zu oCPM ist Cost Per Action (CPA). Hiermit kannst du Conversion Events festlegen und die Abrechnung erfolgt dann anhand der Anzahl der Conversions. CPM- und oCPM-Anzeigen sind unterschiedlich, da die Abrechnung anhand der auf der Site bereitgestellten Impressions erfolgt.

So funktioniert’s

Wir geben automatisch Gebote in deinem Namen ab und halten dabei dein definiertes Kampagnenbudget ein. Dank der dynamischen Gebote kannst du die hochwertigsten Impressionen für deine Ziele erreichen. Dabei kannst du davon ausgehen, dass der Gesamt-ROI für eine Kampagne höher ist als der für eine CPC- oder traditionelle CPM-Kampagne.

Optimiere deine Kampagnen durch Festlegen des optimization_goal der Anzeigengruppe.

oCPM für Mobile App-Installationen sind nur verfügbar, wenn die App ein Installations-Event in den letzten 28 Tagen über das Facebook-SDK oder einen Mobile Measurement Partner gemeldet hat.

oCPM-Anzeige erstellen

Das Anzeigengruppen-Objekt enthält Gebotsinformationen. So erstellst du eine oCPM-Werbeanzeige:

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

Dabei müssen diese Felder die folgenden Einschränkungen einhalten:

Name Beschreibung

billing_event

Muss auf IMPRESSIONS gesetzt werden.

optimization_goal

Muss auf die Handlung gesetzt werden, die optimiert werden soll.

bid_amount

Der Wert, den du dem Optimierungsziel beimisst, in Cent angegeben.

In den Best Practices zur Validierung findest du die Werbeeinheiten, die oCPM-Gebote unterstützen.

Budget und Preisgestaltung

Eine Kampagne mit optimierten CPM muss ein Budget aufweisen. Das Anzeigensystem gibt für jede Impression ein Gebot in deinem Namen ab. Das Gebot ist dabei hoch, wenn die Impression sich wahrscheinlich gut für deine Ziele eignet, und niedrig, wenn sie wahrscheinlich nicht für deine Ziele funktioniert.

Denke daran, dass du dank dieser Dynamik die hochwertigsten Impressionen für deine Ziele erreichen kannst. Dabei solltest du davon ausgehen, dass der Gesamt-ROI für die Kampagne höher ist als der für eine traditionelle CPC- oder CPM-Kampagne. Beachte, dass Statistiken für jedes Ziel im Werbeanzeigenmanager und in der API bereitgestellt werden. Du kannst also die Performance deiner Werbeanzeige prüfen und den Erfolg einer Kampagne basierend auf deinen Zielen ermitteln.