Spezifikation der Prüfung

Der Hauptzweck der evaluation_spec einer Regel ist die Bestimmung der Objekte, bei denen die Regel ihre Handlung ausführen soll. Der evaluation_type bestimmt die Art der Prüfmethode. Dafür gibt es die folgenden Optionen:

Prüfungsart Beschreibung

SCHEDULE

Für zeitplanbasierte Regeln

TRIGGER

Für Trigger-basierte Regeln

Die evaluation_spec enthält ein filters-Array, mit dem du die Liste der abgeglichenen Objekte weiter eingrenzen kannst. Du kannst beispielsweise nach Werbeanzeigen-, Anzeigengruppen- und Kampagnen-Metadaten und Insights-Kennzahlen filtern. Alle Filter werden gemeinsam mit dem AND-Operator geprüft.

Das filters-Array enthält eine Liste von Filterobjekten. Diese Objekte sind Verzeichnisse mit den Schlüsseln field, value und operator:

Filterobjektschlüssel Beschreibung

field

Erforderlich.

Filterfeld, wie Insight-Daten oder Metadaten

value

Erforderlich.

Statischer Filterwert für das Feld

operator

Erforderlich.

Logischer Operator für das Feld

Für jeden Filter gibt es eine Liste der unterstützten logischen Operatoren. Hier siehst du die logischen Operatoren, die in SCHEDULE- und TRIGGER-Regeln unterstützt werden:

Logischer Operator Wert (Beispiel)

GREATER_THAN

Zahl (100)

LESS_THAN

Zahl (100)

EQUAL

Zahl (100)

NOT_EQUAL

Zahl (100)

IN_RANGE

Tupel ([100, 200])

NOT_IN_RANGE

Tupel ([100, 200])

IN

Liste ([„1“, „2“, „3“])

NOT_IN

Liste ([„1“, „2“, „3“])

CONTAIN

String („ABC“)

NOT_CONTAIN

String („ABC“)

ANY

Liste ([1, 2, 3])

ALL

Liste ([1, 2, 3])

NONE

Liste ([1, 2, 3])

Die evaluation_spec benötigt einen trigger für die Prüfungsart TRIGGER. Der Trigger enthält eine Art und eine zugrunde liegende Filterspezifikation. Die Filterspezifikation kann field, value oder operator lauten.

Der Trigger bestimmt dynamisch, ob eine Regel geprüft werden soll. Außerdem kannst du nur einen Trigger verwenden. Im Abschnitt Trigger-basierte Regeln findest du weitere Informationen.

Unten definieren wir einige besondere Filter sowie allgemeine Gruppen von verwendbaren Filtern.

Besondere Filter

time_preset

Der time_preset-Filter bestimmt den Zeitraum, in dem wir Insights-Kennzahlen sammeln. Derzeit ist nur ein time_preset zulässig. Die Einstellung gilt für alle Statistikfilter in der Regel. Das schließt gegebenenfalls auch den Filter ein, der für den Trigger verwendet wird.

Als Operator für time_preset wird nur EQUAL unterstützt. Er ist erforderlich, wenn ein Insights-Filter oder Trigger vorhanden ist. Trigger-basierte Regeln unterstützen nur Zeitvoreinstellungen, die TODAY enthalten, da die Prüfung in Echtzeit stattfindet.

Zeitvoreinstellungen für Regeln können ein anderes Verhalten aufweisen als bei anderen Oberflächen. Einige der Zeitvoreinstellungen hier beziehen den heutigen Tag mit ein. Das liegt daran, dass die Daten von heute für Regeln, die häufiger als einmal täglich angewendet werden, äußerst wichtig sind. In anderen Oberflächen bezieht der Voreinstellungswert LAST_N_DAYS meist nicht die Daten von heute ein. Weitere Details findest du in den folgenden Beschreibungen.

{
  "field": "time_preset",
  "value": "TODAY",
  "operator": "EQUAL"
}
Werte für Zeitvoreinstellung Beschreibung

LIFETIME

Laufzeit des Objekts

TODAY

Der aktuelle Tag ab Mitternacht in der Zeitzone des Werbekontos

LAST_2_DAYS

YESTERDAY und TODAY

LAST_3_DAYS

Die letzten 2 vollständigen Tage und TODAY

LAST_7_DAYS

Die letzten 6 vollständigen Tage und TODAY

LAST_14_DAYS

Die letzten 13 vollständigen Tage und TODAY

LAST_28_DAYS

Die letzten 27 vollständigen Tage und TODAY

LAST_30_DAYS

Die letzten 29 vollständigen Tage und TODAY

THIS_MONTH

Dieser Monat, einschließlich TODAY

THIS_WEEK_MON_TODAY

Diese Woche, wobei Montag als erster Tag der Woche gilt, einschließlich TODAY

THIS_WEEK_SUN_TODAY

Diese Woche, wobei Sonntag als erster Tag der Woche gilt, einschließlich TODAY

YESTERDAY

Der vorherige vollständige Tag, ohne TODAY

LAST_2D

Die letzten 2 vollständigen Tage, ohne TODAY

LAST_3D

Die letzten 3 vollständigen Tage, ohne TODAY

LAST_7D

Die letzten 7 vollständigen Tage, ohne TODAY

LAST_14D

Die letzten 14 vollständigen Tage, ohne TODAY

LAST_28D

Die letzten 28 vollständigen Tage, ohne TODAY

LAST_30D

Die letzten 30 vollständigen Tage, ohne TODAY

LAST_ND_14_8

Die letzten 14 Tage bis zu den letzten 7 Tagen, für ROAS

LAST_ND_30_8

Die letzten 30 Tage bis zu den letzten 7 Tagen, für ROAS

LAST_ND_60_8

Die letzten 60 Tage bis zu den letzten 7 Tagen, für ROAS

LAST_ND_120_8

Die letzten 120 Tage bis zu den letzten 7 Tagen, für ROAS

LAST_ND_180_8

Die letzten 180 Tage bis zu den letzten 7 Tagen, für ROAS

LAST_ND_LIFETIME_8

Laufzeit bis zu den letzten 7 Tagen, für ROAS

LAST_ND_60_29

Die letzten 60 Tage bis zu den letzten 28 Tagen, für ROAS

LAST_ND_120_29

Die letzten 120 Tage bis zu den letzten 28 Tagen, für ROAS

LAST_ND_180_29

Die letzten 180 Tage bis zu den letzten 28 Tagen, für ROAS

LAST_ND_LIFETIME_29

Laufzeit bis zu den letzten 28 Tagen, für ROAS

attribution_window

Der attribution_window-Filter bestimmt das Zeitfenster in der Vergangenheit, für das Insights-Kennzahlen gesammelt werden. Weitere Informationen findest du in der Insights-Dokumentation zu Attributionsfenstern.

Derzeit lassen wir nur ein attribution_window zu, das für alle Statistikfilter in der Regel gilt. Der einzige unterstützte Operator für attribution_window ist EQUAL. Er wird nur für zeitplanbasierte Regeln unterstützt.

Ob angegeben oder nicht, der einzige zulässige value für attribution_window ist ACCOUNT_DEFAULT.

{
  "field": "attribution_window",
  "value": "ACCOUNT_DEFAULT",
  "operator": "EQUAL"
}
Werte für das Attributionsfenster Beschreibung

ACCOUNT_DEFAULT

Attributionsfenstereinstellung des Kontos verwenden

Metadatenfilter

Mit Metadatenfiltern kannst du Objekte anhand des aktuellen Status ihrer Metadatenfelder filtern. Dabei werden auch mehrere Filterebenen unterstützt, sodass du mit Präfixen einen Metadatenfilter auf das übergeordnete Objekt oder dessen übergeordnetes Objekt anwenden kannst. Andere Filter sind davon nicht betroffen. Insights-Filter werden weiterhin auf das eigentliche Objekt angewendet.

Alle Metadatenfilter werden von Zeitplanregeln unterstützt, aber nicht alle werden von Trigger-Regeln unterstützt.

Wenn du beispielsweise eine Regel erstellen möchtest, die für Anzeigengruppen in Kampagnen mit dem Ziel WEBSITE_CLICKS gilt, kannst du zwei Filter verwenden:

 "filters" : [
  {
    "field": "entity_type",
    "value": "ADSET",
    "operator": "EQUAL",
  },
  {
    "field": "campaign.objective",
    "value": "WEBSITE_CLICKS",
    "operator": "EQUAL"
  }
]

Metadatenfilter, die von Trigger- und zeitplanbasierten Regeln unterstützt werden

MetadatenfeldBeschreibung

id*

Bestimmte statische Objekte, auf die die Regel angewendet wird


Unterstützte Präfixe: ad, ad set, ad campaign


Unterstützte Werte:int, array(int)


Unterstützte Operatoren:EQUAL, IN, NOT_IN

entity_type*

Die Objektebene, auf der die Regel angewendet wird


Unterstützte Präfixe: Keine


Unterstützte Werte:AD, ADSET, CAMPAIGN


Unterstützte Operatoren:EQUAL

name

Name des Objekts (teilweise oder vollständige Übereinstimmung)


Unterstützte Präfixe: ad, ad set, ad campaign


Unterstützte Werte:string


Unterstützte Operatoren:EQUAL, CONTAIN, NOT_CONTAIN

adlabel_ids

Werbeanzeigen-Label-IDs des Objekts


Unterstützte Präfixe: ad, ad set, ad campaign


Unterstützte Werte:array(int)


Unterstützte Operatoren:ANY, ALL, NONE

objective

Ziel der Werbekampagne des Objekts


Unterstützte Präfixe: ad campaign


Unterstützte Werte:array(APP_INSTALLS, BRAND_AWARENESS, CONVERSIONS, EVENT_RESPONSES, LINK_CLICKS, ...)


Unterstützte Operatoren:IN, NOT_IN

start_time

Epoch-Startzeit des Objekts


Unterstützte Präfixe: ad set, ad campaign


Unterstützte Werte:int


Unterstützte Operatoren:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

stop_time

Epoch-Endzeit des Objekts


Unterstützte Präfixe: ad set, ad campaign


Unterstützte Werte:int


Unterstützte Operatoren:GREATER_THAN, LESS_THAN

buying_type

Buchungsart der Werbekampagne des Objekts


Unterstützte Präfixe: ad campaign


Unterstützte Werte:array(AUCTION, FIXED_CPM, RESERVED)


Unterstützte Operatoren:IN, NOT_IN

billing_event

Abrechnungs-Event der Anzeigengruppe des Objekts


Unterstützte Präfixe: ad set


Unterstützte Werte:array(APP_INSTALLS, LINK_CLICKS, IMPRESSIONS, ...)


Unterstützte Operatoren:IN, NOT_IN

optimization_goal

Optimierungsziel der Anzeigengruppe des Objekts


Unterstützte Präfixe: ad set


Unterstützte Werte:array(APP_INSTALLS, LINK_CLICKS, IMPRESSIONS, ...)


Unterstützte Operatoren:IN, NOT_IN

is_autobid

Status für automatische Gebote der Anzeigengruppe des Objekts


Unterstützte Präfixe: ad set


Unterstützte Werte:array(bool)


Unterstützte Operatoren:IN, NOT_IN

daily_budget

Tagesbudget der Anzeigengruppe des Objekts


Unterstützte Präfixe: ad set


Unterstützte Werte:int


Unterstützte Operatoren:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

lifetime_budget

Laufzeitbudget der Anzeigengruppe des Objekts


Unterstützte Präfixe: ad set


Unterstützte Werte:int


Unterstützte Operatoren:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

spend_cap

Ausgabengrenzwert der Werbekampagne des Objekts


Unterstützte Präfixe: ad campaign


Unterstützte Werte:int


Unterstützte Operatoren:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

bid_amount

Gebotswert des Objekts


Unterstützte Präfixe: ad, ad set


Unterstützte Werte:int


Unterstützte Operatoren:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

created_time

Epoch-Erstellungszeit des Objekts


Unterstützte Präfixe: ad, ad set, ad campaign


Unterstützte Werte:int


Unterstützte Operatoren:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

updated_time

Epoch-Aktualisierungszeit des Objekts


Unterstützte Präfixe: ad, ad set, ad campaign


Unterstützte Werte:int


Unterstützte Operatoren:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

Metadatenfilter, die nur von zeitplanbasierten Regeln unterstützt werden

MetadatenfeldBeschreibung

effective_status**

Gültigkeitsstatus des Objekts


Unterstützte Präfixe: ad, ad set, ad campaign


Unterstützte Werte:array(ACTIVE, PAUSED, ADSET_PAUSED, CAMPAIGN_PAUSED, PENDING_REVIEW, ARCHIVED, DELETED, DISAPPROVED, PREAPPROVED, PENDING_BILLING_INFO)


Unterstützte Operatoren:IN, NOT_IN

placement.page_types

Seitenarten für die Platzierung der Anzeigengruppe des Objekts


Unterstützte Präfixe: ad set


Unterstützte Werte:array(DESKTOPFEED, HOME, INSTAGRAMSTREAM, INSTAGRAMSTORY, ...)


Unterstützte Operatoren:ANY, ALL, NONE

budget_reset_period

Zurücksetzungszeitraum für das Budget der Anzeigengruppe des Objekts


Unterstützte Präfixe: ad set


Unterstützte Werte:array(DAY, LIFETIME)


Unterstützte Operatoren:IN, NOT_IN

hours_since_creation

Stunden seit created_time des Objekts


Unterstützte Präfixe: ad, ad set, ad campaign


Unterstützte Werte:int


Unterstützte Operatoren:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

estimated_budget_spending_percentage

Geschätzter prozentualer Anteil des Budgets der Anzeigengruppe, der bis zum Ende des Zeitplans ausgegeben wird. Dabei wird dasselbe Verfahren wie bei der Budget-Neugewichtung für Anzeigengruppen verwendet. Dieses Feature funktioniert also mit jeder Budgetart, benötigt aber zehn Stunden Auslieferung pro Tag.


Unterstützte Präfixe: ad set


Unterstützte Werte:int


Unterstützte Operatoren:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

audience_reached_percentage

Geschätzter prozentualer Anteil der Reichweite deiner Anzeigengruppe im Verhältnis zur Zielgruppengröße


Unterstützte Präfixe: ad set


Unterstützte Werte:int


Unterstützte Operatoren:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

active_time

Sekunden, die das Objekt bereits den Gültigkeitsstatus ACTIVE hat. Wenn das Objekt derzeit nicht ACTIVE ist, wird 0 zurückgegeben.


Unterstützte Präfixe: ad, ad set, ad campaign


Unterstützte Werte:int


Unterstützte Operatoren:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

current_time

Aktuelle Epoch-Zeit


Unterstützte Präfixe: Keine


Unterstützte Werte:int


Unterstützte Operatoren:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

entity_type und id

Für jede Regel mit der Prüfart SCHEDULE oder TRIGGER musst du einen entity_type- oder id-Filter angeben.

Wenn du einen entity_type-Filter angibst, legst du eine dynamische Objektebene fest, auf der die Regel angewendet wird. Wenn entity_type beispielsweise AD lautet, prüft diese Regel automatisch jede neue Werbeanzeige, die dem Werbekonto hinzugefügt wird. Dieser Vorgang findet unabhängig davon statt, wann du die Regel erstellst. Wenn du einen id-Filter angibst, wird die Regel nur auf Objekte aus einer statischen Liste angewendet.

Wenn du einen id-Filter ohne Präfix angibst, berechnen wir automatisch die Objektebene, auf der die Regel angewendet wird. Wenn du beispielsweise eine Regel auf die Werbeanzeigen [123, 456] anwenden möchtest, benötigst du nur einen Filter mit dem Feld id, dem Wert [123, 456] und dem Operator IN. In diesem Fall benötigst du keinen entity_type-Filter, da du eine statische Objektliste angegeben hast und wir aus diesen Objekten die Objektebene berechnen können.

Du kannst entity_type und id zusammen mit der Filterung auf mehreren Ebenen verwenden. Wenn du beispielsweise eine Regel erstellen möchtest, die für alle Anzeigen in einigen bestimmten Anzeigengruppen gilt, kannst du den entity_type-Filter AD und einen adset.id-Filter mit den gewünschten Anzeigengruppen nutzen.

Wenn du keinen effective_status-Filter angibst, fügen wir standardmäßig einen impliziten effective_status-Filter hinzu, wenn wir die Regel prüfen.

Für alle Ausführungsarten, die für aktive Objekte gelten, hat dieser Standardfilter den Operator IN und den Wert ['ACTIVE', 'PENDING_REVIEW']. Das bedeutet, dass die Regel nur Objekte prüft, die eine aktive Auslieferung haben oder haben werden. Für Ausführungsarten, die nicht mit aktiven Objekten ausgeführt werden (UNPAUSE), fügen wir diesen Filter mit dem Operator NOT_IN und dem Wert ['DELETED', 'ARCHIVED'] hinzu. Der Standardfilter ist eine interne Optimierung für unsere Ausführungsarten.

Insights-Filter

Wir vergleichen Insights-Filter mit den aktuellen Werten, die von der Insights API für eine bestimmte time_preset zurückgegeben werden. Diese Filter werden direkt auf die Objektliste bzw. -ebene angewendet und unterstützen nicht mehrere Filterebenen. Alle Insights-Filter unterstützen die folgenden Operatoren: GREATER_THAN, LESS_THAN, EQUAL, IN_RANGE, NOT_IN_RANGE.

Die hier dargestellten Einheiten basieren auf der Grundeinheit der Währung in der Marketing API. Für US-Dollar ist die Grundeinheit beispielsweise der Cent. Der Wert 1000 für Ausgaben wäre also gleich 10,00 USD.

In den Insights API-Dokumenten findest du eine Beschreibung der einzelnen Felder. All diese Filter werden von zeitplanbasierten Regeln unterstützt.

Unten findest du eine Liste mit Insights-Filtern und der Angabe, ob sie von Trigger-basierten Regeln unterstützt werden:

Insights-Feld Für Trigger-basierte Regeln zulässig?

mobile_app_purchase_roas (Beispiel)

Nein

website_purchase_roas (Beispiel)

Nein

impressions

Ja

unique_impressions

Ja

clicks

Ja

unique_clicks

Ja

spent

Ja

results

Ja

cost_per

Ja

cpc

Ja

cpm

Ja

ctr

Ja

cpa

Ja

cpp

Ja

reach

Ja

frequency

Ja

leadgen

Ja

link_ctr

Ja

cost_per_unique_click

Ja

result_rate

Ja

mobile_app_install

Ja

cost_per_mobile_app_install

Ja

app_custom_event

Ja

app_custom_event.fb_mobile_achievement_unlocked

Ja

app_custom_event.fb_mobile_activate_app

Ja

app_custom_event.fb_mobile_add_payment_info

Ja

app_custom_event.fb_mobile_add_to_cart

Ja

app_custom_event.fb_mobile_add_to_wishlist

Ja

app_custom_event.fb_mobile_complete_registration

Ja

app_custom_event.fb_mobile_content_view

Ja

app_custom_event.fb_mobile_initiated_checkout

Ja

app_custom_event.fb_mobile_level_achieved

Ja

app_custom_event.fb_mobile_purchase

Ja

app_custom_event.fb_mobile_rate

Ja

app_custom_event.fb_mobile_search

Ja

app_custom_event.fb_mobile_spent_credits

Ja

app_custom_event.fb_mobile_tutorial_completion

Ja

app_custom_event.other

Ja

cost_per_mobile_achievement_unlocked

Ja

cost_per_mobile_activate_app

Ja

cost_per_mobile_add_payment_info

Ja

cost_per_mobile_add_to_cart

Ja

cost_per_mobile_add_to_wishlist

Ja

cost_per_mobile_complete_registration

Ja

cost_per_mobile_content_view

Ja

cost_per_mobile_initiated_checkout

Ja

cost_per_mobile_level_achieved

Ja

cost_per_mobile_purchase

Ja

cost_per_mobile_rate

Ja

cost_per_mobile_search

Ja

cost_per_mobile_spent_credits

Ja

cost_per_mobile_tutorial_completion

Ja

offline_conversion

Nein

offline_conversion.add_payment_info

Nein

offline_conversion.add_to_cart

Nein

offline_conversion.add_to_wishlist

Nein

offline_conversion.complete_registration

Nein

offline_conversion.initiate_checkout

Nein

offline_conversion.lead

Nein

offline_conversion.other

Nein

offline_conversion.purchase

Nein

offline_conversion.search

Nein

offline_conversion.view_content

Nein

cost_per_offline_conversion

Nein

cost_per_offline_other

Nein

offsite_conversion

Ja

offsite_conversion.fb_pixel_add_payment_info

Ja

offsite_conversion.fb_pixel_add_to_cart

Ja

offsite_conversion.fb_pixel_add_to_wishlist

Ja

offsite_conversion.fb_pixel_complete_registration

Ja

offsite_conversion.fb_pixel_initiate_checkout

Ja

offsite_conversion.fb_pixel_lead

Ja

offsite_conversion.fb_pixel_purchase

Ja

offsite_conversion.fb_pixel_search

Ja

offsite_conversion.fb_pixel_view_content

Ja

offsite_conversion.fb_pixel_other

Ja

cost_per_add_payment_info_fb

Ja

cost_per_add_to_cart_fb

Ja

cost_per_add_to_wishlist_fb

Ja

cost_per_complete_registration_fb

Ja

cost_per_initiate_checkout_fb

Ja

cost_per_lead_fb

Ja

cost_per_purchase_fb

Ja

cost_per_search_fb

Ja

cost_per_view_content_fb

Ja

link_click

Ja

cost_per_link_click

Ja

like

Ja

offsite_engagement

Ja

post

Ja

post_comment

Ja

post_engagement

Ja

cost_per_post_engagement

Nein

post_like

Ja

post_reaction

Ja

view_content

Ja

video_play

Ja

vote

Ja

unique_clicks

Nein

reach

Nein

lifetime_impressions

Nein

lifetime_spent

Nein

today_spent

Nein

yesterday_spent

Nein

Erweiterte Filter

Du kannst erweiterte Filter basierend auf den oben genannten Insights- und Metadatenfiltern anpassen und ableiten. Mehr dazu erfährst du unter Erweiterte Prüfungsspezifikationsfilter.

Erweiterte Filter unterstützen die folgenden Operatoren: GREATER_THAN, LESS_THAN, EQUAL, IN_RANGE, NOT_IN_RANGE. Sie werden nur von zeitplanbasierten Regeln unterstützt.

Für einige der am häufigsten verwendeten erweiterten Filter unterstützen wir einen Alias als Filter:

Alias für erweitertes Feld Abgeleitet von

daily_ratio_spent

today_spent / adset.daily_budget

lifetime_ratio_spent

lifetime_spent / adset.lifetime_budget