Pantau status iklan Anda secara realtime. Aturan Berbasis Pemicu dievaluasi segera setelah metadata atau insight objek iklan yang relevan diubah. Latensi untuk perubahan metadata biasanya dalam waktu beberapa detik, dan latensi untuk perubahan insight biasanya dalam waktu beberapa menit (p99 saat ini sekitar 7,5 menit).
Untuk Aturan Berbasis Pemicu, schedule_spec
tidak didukung, karena selalu diperiksa secara realtime.
Saat ini, Aturan Berbasis Pemicu hanya tersedia di API, dan tidak dapat diakses melalui Pengelola Iklan.
Objek trigger
menentukan cara sebuah aturan dievaluasi. Semua jenis pemicu memerlukan field
pemicu, kecuali METADATA_CREATION
. Aturan Berbasis Pemicu hanya memeriksa kondisi saat kolom ini diubah.
Aturan Berbasis Pemicu hanya dapat memiliki satu trigger
. Jika Anda memiliki kondisi atau pembatasan pada beberapa metrik, Anda dapat menambahkan sisanya sebagai filters
.
Kolom filters
digunakan dengan cara yang sama seperti dalam Aturan Berbasis Jadwal. Aturan Berbasis Pemicu lulus dalam evaluasi hanya jika trigger
dan semua filters
memenuhi syarat yang ditetapkan. Jadi pemicu dan filter dapat dipertukarkan jika perubahan satu kolom menyebabkan perubahan kolom lainnya. Misalnya, jika Anda ingin suatu aturan terpicu saat cost_per_mobile_app_install
> X
DAN spent
> Y
, Anda dapat menggunakan cost_per_mobile_app_install
atau spent
sebagai pemicu, dan lainnya sebagai salah satu filter, karena dua kolom tersebut bersifat dependen.
Objek trigger
termasuk dalam evaluation_spec
, dan mengikuti struktur berikut:
Kunci Objek Pemicu | Deskripsi |
---|---|
| Jenis Aturan Berbasis Pemicu. Opsi yang didukung saat ini:
|
| Kolom yang mendasari. Tidak digunakan untuk |
| Nilai filter yang mendasari. Tidak digunakan untuk |
| Operator filter yang mendasari. Tidak digunakan untuk |
Anda dapat membuat Aturan Iklan yang dipicu dalam empat cara berbeda:
METADATA_CREATION
atau METADATA_UPDATE
STATS_MILESTONE
atau STATS_CHANGE
Aturan ini digunakan untuk memantau saat sebuah objek iklan dibuat. Hanya type
yang diperlukan dalam spesifikasi trigger
. Untuk filter, tentukan entity_type
yang ingin Anda pantau.
Berikut ini contoh aturan pembuatan metadata untuk memantau pembuatan semua iklan yang termasuk ke dalam tujuan tertentu. Setiap kali iklan baru dibuat di bawah kampanye iklan tujuan APP_INSTALLS
, sinyal ping dikirim.
curl -i -X POST \ -F 'name=Metadata Creation Example 1' \ -F 'evaluation_spec={ "evaluation_type" : "TRIGGER", "trigger" : { "type": "METADATA_CREATION", }, "filters" : [ { "field": "entity_type", "value": "AD", "operator": "EQUAL", }, { "field": "campaign.objective", "value": ["APP_INSTALLS"], "operator": "IN", }, ] }' \ -F 'execution_spec={ "execution_type": "PING_ENDPOINT" }' \ -F "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library"
Aturan ini digunakan untuk memantau saat sebuah objek metadata diubah. Lihat daftar kolom metadata yang didukung. Dalam spesifikasi trigger
, field
bersifat wajib, sedangkan value
dan operator
bersifat opsional.
Jika Anda tertarik dengan perubahan kolom, tanpa memandang nilainya, Anda hanya perlu menentukan opsi field
. Berikut adalah contoh untuk mengirimi Anda Notifikasi Facebook setiap kali anggaran harian set iklan diubah.
curl -i -X POST \ -F 'name=Metadata Update Example 1' \ -F 'evaluation_spec={ "evaluation_type" : "TRIGGER", "trigger" : { "type": "METADATA_UPDATE", "field": "daily_budget", }, "filters" : [ { "field": "entity_type", "value": "ADSET", "operator": "EQUAL", }, ] }' \ -F 'execution_spec={ "execution_type": "NOTIFICATION" }' \ -F "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library"
Jika Anda hanya tertarik pada subset peristiwa, Anda dapat memberikan opsi operator
dan value
untuk mempersempit kondisi trigger
. Berikut adalah contoh untuk mendapatkan notifikasi saat anggaran harian set iklan diubah dan melebihi 1.000:
curl -i -X POST \ -F 'name=Metadata Update Example 2' \ -F 'evaluation_spec={ "evaluation_type" : "TRIGGER", "trigger" : { "type": "METADATA_UPDATE", "field": "daily_budget", "value": 1000, "operator": "GREATER_THAN" }, "filters" : [ { "field": "entity_type", "value": "ADSET", "operator": "EQUAL", }, ] }' \ -F 'execution_spec={ "execution_type": "PING_ENDPOINT" }' \ -F "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library"
Dengan STATS_MILESTONE
sebagai type
, evaluation_spec
memicu saat field
mencapai kelipatan value
untuk objek yang cocok dengan kondisi dalam array filters
.
Untuk jenis aturan spesifik ini, operator
pemicu harus EQUAL
, dan filter time_preset
harus memiliki nilai LIFETIME
.
Ada set kolom yang didukung yang lebih membatasi. Kolom yang tidak tercantum di bawah ini tidak didukung sebagai field
pemicu, tetapi masih dapat digunakan sebagai filter di daftar filters
. Selain itu, ada nilai minimum yang diperlukan untuk value
pemicu, bergantung pada field
.
Nilai Kolom Pemicu yang Didukung | Nilai Minimum |
---|---|
| 1.000 |
| 1.000 |
| 1.000 |
| 10 |
| 10 |
| 1.000 (sen) |
| 5 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
Berikut adalah contoh aturan pencapaian statistik, yang mengirimkan ping setiap kali seseorang mengomentari postingan Anda:
curl \ -F 'name=Rule 1' \ -F 'evaluation_spec={ "evaluation_type" : "TRIGGER", "trigger" : { "type": "STATS_MILESTONE", "field": "post_comment", "value": 1, "operator": "EQUAL" }, "filters" : [ { "field": "entity_type", "value": "CAMPAIGN", "operator": "EQUAL", }, { "field": "time_preset", "value": "LIFETIME", "operator": "EQUAL", }, ] }' \ -F 'execution_spec={ "execution_type": "PING_ENDPOINT" }' \ -F "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library
Saat menggunakan STATS_CHANGE
sebagai type
pemicu, execution_spec
dipicu saat logika AND
pemicu dan semua filter dievaluasi dari false
ke true
dalam time_preset
tertentu.
Jika evaluasi logika AND
berikutnya juga bernilai true, execution_spec
tidak dijalankan. Namun, jika evaluasi AND
logis berubah dari true
menjadi false
, execution_spec
dijalankan saat berubah kembali ke true
.
Untuk jenis aturan spesifik ini, operator
pemicu dapat berupa GREATER_THAN
, LESS_THAN
, IN_RANGE
, atau NOT_IN_RANGE
.
Berikut adalah contoh aturan perubahan statistik. Setiap kali iklan mencapai lebih dari 5.000 pemirsa dan lebih dari 10 USD per pembelian selama 3 hari terakhir, lakukan jeda.
curl \ -F 'name=Rule 1' \ -F 'evaluation_spec={ "evaluation_type" : "TRIGGER", "trigger" : { "type": "STATS_CHANGE", "field": "cost_per_purchase_fb", "value": 1000, "operator": "GREATER_THAN", }, "filters" : [ { "field": "entity_type", "value": "AD", "operator": "EQUAL" }, { "field": "time_preset", "value": "LAST_3_DAYS", "operator": "EQUAL" }, { "field": "reach", "value": 5000, "operator": "GREATER_THAN" } ] }' \ -F 'execution_spec={ "execution_type": "PAUSE" }' \ -F "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library
Saat menggunakan DELIVERY_INSIGHTS_CHANGE
sebagai type
pemicu, aturan dipicu saat semua filter yang ditetapkan dalam evaluation_spec
dievaluasi menjadi true
, dan pemicu yang ditentukan dalam evaluation_spec
hanya berubah dari false
menjadi true
.
Jika evaluasi berikutnya menunjukkan bahwa filter dan pemicunya tetap bernilai true
, aturan tidak terpicu lagi.
Untuk menggunakan PING_ENDPOINT
jenis eksekusi, Anda perlu mengatur langganan aplikasi Anda melalui Webhooks. Siapkan URL panggilan balik, Aplikasi Facebook, dan Webhooks untuk mendapatkan notifikasi dari Rules API:
Lihat Panduan Webhooks dan buat URL panggilan balik yang dapat menangani tantangan dan tanggapan selama verifikasi. URL panggilan balik menangani struktur data yang dikirim saat aturan dipicu:
{ object: 'application', entry: [{ id: '<APPLICATION_ID>', time: 1468938744, changes: [{ field: 'ads_rules_engine', value: { 'rule_id': 1234, 'object_id': 5678, 'object_type': 'ADSET', 'trigger_type': 'STATS_CHANGE', 'trigger_field': 'COST_PER_LINK_CLICK', 'current_value': '15.8', } }], }], }
Kolom current_value
adalah string yang berenkode JSON. Nilainya dapat berupa string dalam tanda kutip ganda, angka, atau array dimulai dengan [
(kurung buka) dan diakhiri dengan ]
(kurung tutup).
ads_rules_engine
ke aplikasi AndaSetelah URL panggilan balik menangani tantangan dan tanggapan untuk verifikasi, daftarkan di aplikasi Anda saat aturan dipicu:
ad_rules_engine
.Atau, ini bisa dilakukan melalui Graph API, dengan menggunakan token akses Aplikasi dan bukan token akses pengguna:
curl \ -F "object=application" \ -F "callback_url=<CALLBACK_URL>" \ -F "fields=ads_rules_engine" \ -F "verify_token=<VERIFY_TOKEN>" \ -F "access_token=<APP_ACCESS_TOKEN>" \ "https://graph.facebook.com/<VERSION>/<APP_ID>/subscriptions"
Lihat Referensi Langganan untuk detail tentang APP_ID/subscriptions
.