Integrasi
Integrasi Meta Ads - apa yang dibaca dan ditulis AdOps
AdOps terhubung ke Meta Ads lewat Graph API. AdOps membaca entitas campaign dan ad set dengan filter di sisi server, lalu mengirim satu batch request Insights yang hanya memuat field yang disebut rule. Yang ditulis: status campaign, daily budget, nama campaign, dan salinan campaign.
Koneksi Meta Graph API tempat AdOps mengevaluasi rule: membaca entitas campaign dan Insights ter-batch, lalu menulis status campaign, budget, dan nama.
Dalam angka
Angka di balik koneksi ini
- Versi Graph API
- Dibaca dari setting FACEBOOK_VERSION, dengan v18.0 sebagai fallback di dalam kode Cursor paging milik Meta dipasang ulang ke versi yang dikonfigurasi sebelum dipanggil lagi.
- Entitas per halaman
- 1.000, dengan paging cursor otomatis sampai akun habis
- Percobaan ulang ambil entitas
- 3 percobaan total, menunggu 1 detik lalu 2 detik
- Biaya Insights per campaign
- 1 request ter-batch yang mencakup semua periode pelaporan di dalam rule
- Timeout HTTP
- 30 detik per panggilan Graph API
- Level penulisan
- Kondisi dievaluasi di level campaign atau ad set; semua action penulisan berbentuk campaign
Pertukarannya
Apa yang dibaca AdOps, dan apa yang ditulisnya.
Dua daftar, tanpa ringkasan di antaranya. Apa pun yang tidak ada di kolom tulis berarti tidak bisa diubah AdOps di sistem ini.
Yang dibaca AdOps
Setiap field yang diminta engine, dan tidak lebih.
- Entitas campaign atau ad set dari edge ad account, dengan hanya meminta field nama dan waktu pembuatan
- Filter server-side untuk campaign ID, nama campaign, dan effective status campaign, jadi Meta menyaring akun sebelum menjawab
- Hingga 1.000 entitas per halaman, mengikuti cursor paging milik Meta sampai daftarnya habis
- Insights, digabung menjadi satu request Graph berisi satu relative URL per periode pelaporan yang dipakai rule
- Hanya field Insights yang benar-benar disebut kondisi rule, tanpa duplikasi antar kondisi
- Pembacaan objek tunggal untuk daily budget, nama, remaining budget, dan lifetime budget, hanya saat sebuah rule memintanya
- Endpoint /me untuk verifikasi token dan /me/adaccounts untuk menemukan ad account
Yang ditulis AdOps
Setiap perubahan yang mampu dilakukan engine.
- Status campaign: ACTIVE untuk start, PAUSED untuk pause, DELETED untuk delete
- Daily budget: increase, decrease, atau set, ditulis sebagai bilangan bulat dan dijepit ke cap maksimum atau minimum milik rule
- Nama campaign: menambahkan teks hasil render, menghapus potongan teks, atau menukar satu teks dengan teks lain
- Deep copy sebuah campaign, dikirim sebagai job async batch ke edge copies milik campaign itu
Data contoh
Data contoh AdOps terhubung ke Meta Ads lewat Marketing (Graph) API memakai access token yang dibuat saat ad account dihubungkan. Ia membaca entitas campaign dan Insights ter-batch untuk mengevaluasi kondisi sebuah rule, lalu menulis empat hal kembali: status campaign, daily budget, nama campaign, dan deep copy sebuah campaign.
Apa yang dibaca AdOps dari Meta Ads?
Ada dua jenis data. Pertama, entitas. AdOps mendaftar campaign atau ad set milik ad account dengan hanya meminta field nama dan waktu pembuatan, dan mendorong pre-filter rule ke dalam request supaya Meta menyaring akunnya sebelum menjawab. Campaign ID, nama campaign, dan effective status campaign semuanya bisa disaring di sisi server. Halaman datang 1.000 entitas sekaligus dan AdOps mengikuti cursor paging milik Meta sampai habis.
Kedua, Insights. Alih-alih satu panggilan per kondisi, AdOps mengelompokkan semua kondisi berdasarkan periode pelaporannya, menggabungkan field yang dibutuhkan tiap periode tanpa duplikasi, lalu mengirimnya sebagai satu batch request Graph per campaign. Rule yang membandingkan hari ini dengan 7 hari terakhir dan 30 hari terakhir hanya menghabiskan satu round trip, bukan tiga. Request ter-batch itu dikirim dengan unified attribution setting, jadi angka yang dievaluasi rule memakai attribution window yang diatur di ad set.
Beberapa nilai bukan field Insights dan diambil terpisah, hanya saat dibutuhkan. Daily budget, remaining budget, dan lifetime budget dibaca dari objek campaign, dan AdOps mengeluarkan panggilan tambahan itu hanya kalau ada rule yang benar-benar menyebutnya.
Apa yang ditulis AdOps kembali?
Empat jalur penulisan, semuanya di level campaign. Perubahan status mengirim ACTIVE, PAUSED, atau DELETED. Action budget menaikkan, menurunkan, atau menetapkan daily budget, dihitung sebagai jumlah tetap, persentase dari budget saat ini, atau hasil custom metric; angka proyeksinya dibulatkan ke bawah menjadi bilangan bulat dan dijepit, jadi rule yang akan melewati cap maksimum justru menulis persis angka cap itu. Action nama menambahkan teks hasil render, menghapus potongan teks, atau menukarnya dengan teks lain. Duplikasi mengirim job async batch ke edge copies milik campaign dengan deep copy aktif.
Sebelum menulis budget, AdOps membaca ulang daily budget live dari Meta; sebelum menulis nama, ia membaca ulang nama live. Keduanya tidak diambil dari salinan yang dibawa job, jadi perubahan yang dilakukan di Ads Manager di antara pengambilan dan penulisan tidak ditimpa diam-diam oleh angka basi. Perubahan budget dan nama mencatat nilai sebelum dan nilai sesudah di rule result.
Bagaimana AdOps menekan biaya API?
Dengan meminta lebih sedikit. Daftar field Insights per periode diturunkan dari kondisi rule itu sendiri, bukan meminta seluruh permukaan Insights, dan metrik yang memang bukan field Insights, misalnya kondisi jam dan custom metric, disaring keluar dari request. Pengambilan entitas hanya meminta dua field. Pembacaan objek bersifat kondisional.
Apa yang terjadi kalau Graph API gagal?
Pengambilan entitas sebuah akun diulang, 3 percobaan total dengan jeda 1 detik lalu 2 detik, dan akun yang tetap gagal dilewati supaya sisa sweep berjalan terus. Parsing respons Insights ter-batch diulang sampai 3 percobaan sebelum kegagalannya dicatat lengkap dengan konteks request. Setiap penulisan lewat satu wrapper terinstrumentasi yang menangkap nama fungsi, pesan, body request, dan respons error milik Meta ke dalam log error terdeduplikasi, jadi gangguan API yang berulang muncul sekali dengan hitungannya, bukan sebagai ribuan baris identik.
AdOps adalah produk independen dan tidak berafiliasi dengan Meta Platforms. Meta, Facebook, dan Ads Manager adalah merek dagang Meta Platforms, Inc.
Pertanyaan
Yang sering ditanyakan soal koneksi ini.
Jawaban langsung, lengkap dengan angkanya.
Apakah AdOps butuh password Facebook saya?
Tidak. AdOps menyimpan access token Meta yang dibuat saat ad account dihubungkan, lalu mengirimkannya sebagai bearer token di setiap panggilan Graph API. Memutus koneksi dari halaman Integrations menghapus token itu beserta ad account yang ditemukan AdOps dengannya.
Versi Meta Graph API mana yang dipanggil AdOps?
Versinya adalah setting deployment bernama FACEBOOK_VERSION, dengan v18.0 sebagai fallback yang tertanam di kode. Karena cursor paging Meta berupa URL absolut yang membawa segmen versinya sendiri, AdOps memotong prefiks itu dan memanggil halaman kedua dan seterusnya memakai versi yang dikonfigurasi, jadi akun multi-halaman tetap pada satu versi.
Berapa banyak panggilan API Meta untuk sekali run rule?
Satu pendaftaran entitas per ad account untuk tiap halaman berisi 1.000 campaign, lalu satu request Insights ter-batch per campaign yang sekaligus mencakup semua periode pelaporan di dalam rule. AdOps menambah satu pembacaan objek hanya jika ada kondisi yang memakai daily budget, remaining budget, atau lifetime budget, dan satu panggilan Insights tambahan untuk tiap kondisi metrik lawan metrik.
Bisakah AdOps mengubah satu ad secara langsung?
Tidak. Sebuah rule bisa mengevaluasi kondisinya di level campaign atau ad set, tapi setiap action yang ditulis AdOps berbentuk campaign: status, daily budget, nama, dan duplikasi semuanya dikirim ke objek campaign.
Apa yang terjadi kalau Meta mengembalikan error di tengah run?
Pengambilan entitas sebuah ad account diulang sampai 3 percobaan total, menunggu 1 detik lalu 2 detik, dan akun yang tetap gagal dilewati tanpa menghentikan akun lain dalam sweep yang sama. Tiap campaign dievaluasi di dalam batas error-nya sendiri, jadi satu campaign bermasalah tidak membatalkan seluruh batch.
Apakah AdOps berafiliasi dengan Meta?
Tidak. AdOps adalah produk independen dan tidak berafiliasi dengan, tidak didukung, dan tidak disponsori oleh Meta Platforms. Meta, Facebook, dan Ads Manager adalah merek dagang Meta Platforms, Inc.
Coba koneksi ini di akun Anda sendiri.
Semua integrasi di halaman ini termasuk dalam semua paket. Hubungkan, biarkan rule pertama Anda berstatus draft, lalu baca log-nya setelah run pertama.