Pembatasan Laju Marketing API

Marketing API memiliki logika pembatasan laju sendiri dan dikecualikan dari semua pembatasan laju Graph API. Jadi jika Anda membuat panggilan Marketing API, panggilan itu tidak akan dihitung dalam pelambatan Graph API.

Fitur yang memengaruhi kuota batas laju Marketing API adalah Akses Standar Pengelolaan Iklan. Saat menambahkan produk Marketing API di Dasbor Aplikasi, Anda akan mendapatkan Akses Standar dari Akses Standar Pengelolaan Iklan secara default. Hal ini akan memberi Anda akses pengembangan ke Marketing API. Jika Anda perlu meningkatkan akses untuk mendapatkan kuota pembatasan laju lebih tinggi, tingkatkan ke Akses Lanjutan dari Akses Standar Pengelolaan Iklan di Tinjauan Aplikasi.

Kuota

Akses Marketing APIAkses Standar Pengelolaan IklanKapasitas

Akses pengembangan

Akses standar

Kuota pembatasan laju dasar

Akses standar

Akses lanjutan

Kuota pembatasan laju lebih tinggi

Sebagian besar permintaan Marketing API dan permintaan Pages API dikenai Batas Laju Kasus Penggunaan Bisnis (BUC), dan bergantung pada endpoint yang sedang Anda kueri. Anda dapat mengetahui hal ini dengan memeriksa apakah permintaan HTTP Anda berisi header X-Business-Use-Case. Lihat detail selengkapnya di Batas Laju Kasus Penggunaan Bisnis.

Batas Level API di Level Akun Iklan

  • Pembatasan laju berada di level akun iklan.
  • Batas laju terjadi secara real time dalam rentang waktu tertentu.
  • Setiap panggilan Marketing API diberikan skor. Skor Anda adalah jumlah dari panggilan API Anda.
  • Kami memberlakukan skor maksimum. Secara umum, panggilan API baca sama dengan 1 poin, sedangkan panggilan API tulis sama dengan 3 poin, dan ketika Anda mencapai skor maksimum, kami menampilkan kesalahan pelambatan.
    • Jika aplikasi Anda berada dalam tingkat pengembangan Marketing API:
      • Skor maksimum Anda adalah 60.
      • Kecepatan peluruhan adalah 300 detik.
      • Anda akan diblokir selama 300 detik jika Anda mencapai skor maksimum.
    • Jika aplikasi Anda ada dalam tingkat Standar Marketing API:
      • Skor maksimum Anda adalah 9.000.
      • Kecepatan peluruhan adalah 300 detik.
      • Anda akan diblokir selama 60 detik jika Anda mencapai skor maksimum.

Kode kesalahan terkait: 17, Error subcode: 2446079, Message: User request limit reached. 613, Error subcode: 1487742, Message: There have been too many calls from this ad-account. Please wait a bit and try again.

Batas Laju QPS di Level Akun Iklan

Untuk mencegah lonjakan traffic tiba-tiba yang membebani sistem, kami menerapkan pembatasan laju realtime pada endpoint mutasi Marketing API (operasi buat dan edit untuk kampanye, set iklan, dan iklan).

  • Pembatasan laju berada di level akun iklan, per aplikasi.
  • Batas: 100 permintaan per detik (QPS) per kombinasi aplikasi dan akun iklan.
  • Diterapkan ke: Operasi pembuatan dan pengeditan untuk kampanye, set iklan, dan iklan.
  • Batas ini beroperasi secara realtime dan dirancang untuk menangkap lonjakan traffic singkat yang mungkin tidak dapat dideteksi oleh jendela pembatasan laju standar.

Endpoint berikut terpengaruh:

Jika Anda melebihi batas ini, sebarkan permintaan Anda secara lebih merata sepanjang waktu dan bukan mengirimkannya dalam kondisi burst.

Kode kesalahan terkait:613, Error subcode: 5044001, Message: Your ad account {ad_account_id} has exceeded the maximum allowed rate of mutation requests. To resolve this, reduce the frequency of your create, update operations on campaigns, ad sets, and ads.

Saat kesalahan ini muncul, terapkan pelambatan permintaan agar tetap di bawah 100 QPS per akun iklan.

Pembatasan Laju Platform Insight Iklan

  • Pembatasan laju berada di level aplikasi.
  • Pembatasan laju ditentukan oleh kapasitas infrastruktur backend dan layanan downstream.
  • Saat laju aplikasi Anda dibatasi, semua panggilan Ads Insights API untuk aplikasi akan dibatasi.
  • Pembatasan Laju Level Aplikasi diterapkan.

Kode kesalahan terkait: 4, Error subcode: 1504022 or 1504039, Message: There have been too many calls from this app. Wait a bit and try again.

Saat kesalahan ini muncul, kurangi panggilan Anda.

Batas Level Aplikasi

  • Pembatasan laju berada di level aplikasi.
  • Pembatasan laju ditentukan oleh total pengguna aplikasi.
  • Saat laju aplikasi Anda dibatasi, semua panggilan untuk aplikasi tersebut akan dibatasi.
  • Pembatasan Laju Level Aplikasi diterapkan.

Kode kesalahan terkait:4, Message: Application request limit reached

Saat kesalahan ini muncul, kurangi panggilan Anda.

Batas Laju Kasus Penggunaan Bisnis di Level Akun Iklan

Kami menghitung kuota batas laju berdasarkan tingkat akses Marketing API dan aplikasi Anda.

  • Pembatasan laju berada di level akun iklan dan kuota dihitung berdasarkan tingkat akses Ads API aplikasi Anda.
  • ads_management - Untuk setiap akun iklan dalam periode waktu satu jam: (100.000 jika aplikasi Anda berada di tingkat Standar Marketing API atau 300 jika aplikasi Anda berada di tingkat Pengembangan) + 40 * Jumlah iklan yang Aktif.
  • custom_audience - Untuk setiap akun iklan dalam periode waktu satu jam: Tidak lebih dari 700.000. Tidak kurang dari 190.000 jika aplikasi Anda berada di tingkat Standar Marketing API atau 5.000 jika aplikasi Anda berada di tingkat Pengembangan + 40 * Jumlah audiens kustom yang Aktif.
  • ads_insights - Untuk setiap akun iklan dalam periode waktu satu jam: (190.000 jika aplikasi Anda berada di tingkat Standar Ads API atau 600 jika aplikasi Anda berada di tingkat Pengembangan) + 400 * Jumlah iklan yang Aktif - 0,001 * Kesalahan Pengguna.
  • Pengelolaan Katalog - Untuk setiap akun iklan dalam periode waktu satu jam: 20.000 + 20.000 * log2(pengguna unik).
  • Batch Katalog - Untuk setiap akun iklan dalam periode waktu satu jam: 200 + 200 * log2(pengguna unik).
  • Batas laju Marketing API Anda juga dapat ditentukan oleh Total waktu CPU dan Total waktu Dinding di akun iklan Anda. Anda akan memiliki kuota lebih tinggi jika aplikasi Anda memiliki Akses Standar Marketing API. Untuk detail selengkapnya, periksa header HTTP [X-Business-Use-Case](/docs/graph-api/overview/rate-limiting/#headers-2) dan Batas Laju Kasus Penggunaan Bisnis.

Kode kesalahan terkait: 80000, 80003, 80004, 80014, Message: There have been too many calls from this ad-account. Wait a bit and try again. For more info, please refer to https://developers.facebook.com/docs/graph-api/overview/rate-limiting.

Periksa endpoint API dan header HTTP X-Business-Use-Case untuk mengonfirmasi jenis pelambatan. Lihat detail selengkapnya di Batas Laju Kasus Penggunaan Bisnis. Saat kesalahan ini muncul, kurangi perubahan pada akun iklan.

Batas Laju Pengeluaran Iklan di Level Akun Iklan

Kami membatasi Anda dalam mengubah batas pengeluaran akun Anda, yaitu 10 kali per hari, untuk memastikan kinerja penayangan Iklan.

  • Jumlah perubahan pada pengeluaran akun iklan seperti kolom spend_cap, spend_cap_action dibatasi

Kode kesalahan terkait: 17, Error subcode: 1885172, Message: You can only change your account spending limit 10 times per day. Please wait to make more changes.

Batas Level Set Iklan

Jumlah perubahan pada kolom daily_budget dan lifetime_budget set iklan dibatasi. Untuk setiap set iklan, anggaran hanya boleh berubah 4 kali per jam, jika melebihi batas, perubahan anggaran untuk set iklan tersebut diblokir selama satu jam.

Kode kesalahan terkait: 613, Error subcode: 1487632, Message: You can only change your ad set budget 4 times per hour. Please wait to make more changes.

Saat kesalahan ini muncul, kurangi perubahan pada set iklan.

Batas Level Iklan

Pembuatan iklan dibatasi untuk akun iklan tertentu berdasarkan batas pengeluaran harian.

Kode kesalahan terkait:613, Error subcode: 1487225, Message: User request limit reached.

Periksa subkode kesalahan (1487225) dan endpoint API untuk mengonfirmasi jenis pelambatan. Saat kesalahan ini muncul, kurangi perubahan. Untuk meningkatkan batas, Anda juga dapat meningkatkan batas pengeluaran harian.

Batas Laju Pencegahan Penyalahgunaan

Ketika sistem kami mendeteksi bahwa akun iklan tertentu menghasilkan traffic abnormal dalam jumlah besar, untuk melindungi stabilitas sistem dan memastikan pengalaman pengguna lain, untuk sementara, kami akan mengurangi kuota Batas Laju API dari akun abnormal tersebut. Cobalah menghubungi dukungan Meta untuk mendapatkan bantuan.

Kode kesalahan terkait: 613, Error subcode: null, Message: (#613) Calls to this api have exceeded the rate limit.

Perbedaan antara hal ini dan Batas Level API di Level Akun Iklan adalah bahwa kesalahan ini tidak mengandung subkode kesalahan. Saat kesalahan ini muncul, selidiki apakah ada tindakan yang memicu permintaan API yang berlebihan dan hubungi dukungan Meta untuk mendapatkan bantuan.

Menangani Kesalahan Pelambatan

Penilaian Awal

Memeriksa Tingkat Akses Marketing API:

Secara default, aplikasi memiliki development_access ke Marketing API. Untuk mengetahui tingkat Anda, Anda dapat membuka dasbor Tinjauan Aplikasi. Anda berada di tingkat pengembangan akses Marketing API jika Anda memiliki Akses Standar ke fitur Akses Standar Pengelolaan Iklan. Anda berada di tingkat standar akses Marketing API jika Anda memiliki Akses Lanjutan ke fitur Akses Standar Pengelolaan Iklan. Anda juga dapat memeriksa header HTTP Anda dan mencari ads_api_access_tier di header X-Ad-Account-Usage, X-Business-Use-Case, atau X-FB-Ads-Insights-Throttle Anda.

Jika Anda masih mendapatkan kesalahan pembatasan laju, pertimbangkan untuk meningkatkan ke standard_access di Akses Standar Pengelolaan Iklan. Untuk mencapai tingkat standar dan mendapatkan kuota batas laju yang lebih tinggi, Anda dapat meminta Akses Lanjutan ke fitur Akses Standar Pengelolaan Iklan di dasbor Tinjauan Aplikasi.

  • Periksa Kode Kesalahan: Cari tahu kode kesalahan spesifik yang berkaitan dengan pelambatan dalam tanggapan API.
  • Periksa header HTTP:
    • X-Ad-Account-Usage berisi acc_id_util_pct, reset_time_duration, dan ads_api_access_tier.
    • X-Business-Use-Case berisi info call_count, total_cputime, total_time, dan estimated_time_to_regain_access, dll. untuk endpoint Kasus Penggunaan Bisnis.
    • X-FB-Ads-Insights-Throttle berisi app_id_util_pct, acc_id_util_pct, dan ads_api_access_tier untuk endpoint Ads Insights API.
  • Periksa Dasbor Aplikasi: Kami menyediakan konsol di Dasbor Aplikasi yang memberi developer insight yang mendalam tentang sistem pembatasan laju dan membantu mereka mendiagnosis serta mencegah timbulnya masalah pembatasan laju.

Mengidentifikasi Penyebabnya

  • Batas Laju: Pahami batas laju Marketing API Meta untuk berbagai endpoint yang digunakan, dan periksa apakah jumlah permintaan API berada dalam batas yang diizinkan untuk aplikasi tersebut.
  • Batas Lonjakan: Periksa apakah batas lonjakan menyebabkan masalah selama waktu penggunaan puncak. Biasanya traffic yang melonjak akan menyebabkan Batas Level API di Level Akun Iklan (Kode kesalahan terkait: 17, 613).
  • Kesalahan Operasi: Selidiki apakah ada kesalahan operasi yang memicu permintaan API yang berlebihan.

Langkah Mitigasi

  • Cegah Traffic Melonjak: Distribusikan permintaan API secara merata untuk menghindari pelambatan yang disebabkan oleh akses dalam jumlah besar yang dilakukan pada waktu yang singkat.
  • Optimalkan Permintaan: Gabungkan beberapa permintaan yang lebih kecil ke dalam permintaan batch, baik batch ID atau permintaan asinkron untuk meminimalkan total jumlah panggilan API.
  • Strategi Mundur: Terapkan strategi mundur eksponensial saat mendapat kesalahan pelambatan, dengan secara bertahap menambah waktu antara percobaan ulang. Anda juga dapat memeriksa header HTTP untuk estimasi waktu reset.

Tips Lain Terkait Mitigasi

  • Pahami apakah panggilan ini memang diperlukan dan kurangi jika tidak perlu.
  • Untuk endpoint yang mendukung permintaan asinkron seperti Ads Insights API, gunakan Permintaan Asinkron untuk melakukan kueri data dalam jumlah besar.
  • Anda juga dapat mencoba meneruskan daftar ID jika Anda perlu melakukan kueri banyak objek iklan dari jenis yang sama.
  • Untuk Insights API, gunakan Parameter Level atau pemfilteran untuk mengurangi jumlah panggilan.