Untuk mendiskusikan dan memberikan masukan tentang produk kami, bergabunglah ke channel Discord Google Ads resmi di server Komunitas Iklan dan Pengukuran Google.
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Halaman ini menguraikan berbagai batas dan batasan dalam skrip Google Ads yang harus Anda ketahui. Batas ini dapat berubah kapan saja tanpa peringatan, jadi pastikan skrip Anda fleksibel dan berisi penanganan error.
Batas waktu eksekusi
skrip Google Ads
Skrip Google Ads untuk akun pengiklan dapat dieksekusi selama maksimum 30 menit, setelah itu skrip akan dibatalkan. Semua perubahan yang dilakukan
sebelum skrip dibatalkan akan diterapkan.
Skrip Pengelola Iklan
Skrip Pengelola Iklan biasanya dapat dieksekusi selama maksimum 30 menit setelah
itu skrip akan dibatalkan. Namun, jika skrip Pengelola Iklan menggunakan metode
executeInParallel
untuk memproses akun secara paralel, dan menentukan metode callback, maka skrip tersebut
dapat dieksekusi hingga maksimal 60 menit sebelum dibatalkan. Hal ini
diilustrasikan pada gambar berikut, dengan processAccount adalah fungsi
paralel, dan allFinished adalah metode callback saat memanggil
executeInParallel.
Semua perubahan yang dilakukan sebelum skrip dibatalkan akan diterapkan.
Batas entitas
Skrip akun Google Ads
Satu iterator secara default akan menampilkan maksimal 50.000 hasil. Anda
dapat mengubahnya dengan memanggil withLimit() pada pemilih.
Satu pemilih dapat menangani maksimal 10.000 ID dalam selector.withIds().
Jika 10.000 ID atau lebih ditentukan, selector.get() akan menampilkan error runtime. Demikian pula, menentukan kondisi Id IN [LIST] dengan daftar ID
10.000 akan menghasilkan error runtime.
Output logging akan dipangkas pada 100 KB. Peringatan akan dicatat jika hal itu terjadi.
Skrip akun pengelola
Setiap akun yang diproses oleh skrip Pengelola Iklan mendapatkan kuotanya sendiri seperti yang tercantum di atas.
Saat menggunakan metode executeInParallel, skrip dapat memproses hingga 50 akun.
Metode processAccount dari executeInParallel dapat menampilkan data hingga
10 MB.
Batas upload massal
File upload dibatasi hingga 50 MB dan satu juta baris, dan akan ditolak saat pengiriman jika melebihi batas ini.
Tugas upload akan mencapai waktu tunggu setelah dua jam dan tugas akan berhenti memproses data yang tersisa dari file yang diupload.
OAuth2 digunakan untuk mengizinkan skrip. Setiap akun memiliki batas 250 skrip yang diizinkan. Di luar batas tersebut, salah satu skrip yang sebelumnya diberi otorisasi akan dibatalkan otorisasinya. Ini hanya bersifat sementara, dan skrip dapat diberi otorisasi ulang saat dibuka lagi.
Jika sering mengalami batas ini, Anda harus mempertimbangkan untuk menggunakan
beberapa akun pengguna untuk mengizinkan berbagai set skrip.
Kampanye Video dan Shopping
Pemilih kampanye standar (AdsApp.campaigns().get()) akan memfilter
video dan
shopping kampanye
dari hasil. Gunakan pemilih kampanye khusus sebagai gantinya:
[null,null,["Terakhir diperbarui pada 2025-08-27 UTC."],[[["\u003cp\u003eGoogle Ads scripts have an execution time limit of 30 minutes, while Ads Manager scripts can run for up to 60 minutes when using \u003ccode\u003eexecuteInParallel\u003c/code\u003e with a callback method.\u003c/p\u003e\n"],["\u003cp\u003eScripts for advertiser accounts have entity limits, including a 50,000 result limit per iterator, a 10,000 ID limit per selector, and a 100Kb logging output limit.\u003c/p\u003e\n"],["\u003cp\u003eAds Manager scripts have additional limits for processing accounts in parallel, with a maximum of 50 accounts and a 10MB data return limit for the \u003ccode\u003eprocessAccount\u003c/code\u003e method.\u003c/p\u003e\n"],["\u003cp\u003eBulk uploads are restricted to files under 50MB and one million rows, with a two-hour timeout for processing.\u003c/p\u003e\n"],["\u003cp\u003eEach Google Ads account can authorize up to 250 scripts, and exceeding this limit will temporarily deauthorize older scripts.\u003c/p\u003e\n"]]],[],null,["# Limits\n\nThis page outlines various limits and limitations in Google Ads scripts that you\nshould be aware of. These limits can change at any time without warning, so\nensure that your scripts are flexible and contain error handling.\n\nExecution time limits\n---------------------\n\n### Google Ads scripts\n\nGoogle Ads scripts for advertiser accounts can execute for a **maximum of 30\nminutes**, after which they will be cancelled. All of the changes made\nbefore the script was cancelled will be applied.\n\n### Ads Manager scripts\n\nAds Manager scripts can normally execute for a **maximum of 30 minutes** after\nwhich they will be cancelled. However, if an Ads Manager script uses the\n[`executeInParallel`](/google-ads/scripts/docs/reference/adsmanagerapp/adsmanagerapp_managedaccountselector#executeInParallel_2)\nmethod to process accounts in parallel, and specifies a callback method, then it\ncan execute up to a **maximum of 60 minutes** before being cancelled. This is\nillustrated in the following figure, where `processAccount` is the parallel\nfunction, and `allFinished` is the callback method when calling\n[`executeInParallel`](/google-ads/scripts/docs/reference/adsmanagerapp/adsmanagerapp_managedaccountselector#executeInParallel_2).\n\nAll of the changes made before the script was cancelled will be applied.\n\nEntity limits\n-------------\n\n| **Note:** [Reports](/google-ads/scripts/docs/features/reports) are not subject to any entity limits.\n\n### Scripts of Google Ads accounts\n\n- A single **iterator** will default to at most 50,000 results returned. You\n can modify this by calling `withLimit()` on the selector.\n\n- A single **selector** can handle at most 10,000 IDs in `selector.withIds()`.\n If 10,000 or more IDs are specified, `selector.get()` will throw a runtime\n error. Similarly, specifying an `Id IN [LIST]` condition with a list of IDs\n\n \u003e 10,000 will result in a runtime error.\n- Logging output will be truncated at 100Kb. A warning will be logged if that\n happens.\n\n### Scripts of manager accounts\n\n- Each account processed by an Ads Manager script gets its own quota as [listed\n above](#scripts_of_google_ads_accounts).\n\n- When using the `executeInParallel` method, a script can process up to **50**\n accounts.\n\n- The `processAccount` method from `executeInParallel` can return up to\n **10MB** of data.\n\nBulk upload limits\n------------------\n\n- The upload file is limited to 50MB and one million rows, and will be rejected\n upon submission if it exceeds these limits.\n\n- An upload job times out after two hours and the job will stop processing any\n remaining data from the uploaded file.\n\nQuotas for Google services\n--------------------------\n\nThe underlying Google Apps Script services impose daily quotas and hard limits\non some features. See a list of these\n[quotas and accompanying exception messages](/apps-script/guides/services/quotas).\n| **Key Point:** To get around the \"Exceeded maximum execution time\" error, you can reschedule your script under multiple user accounts to extend the script's quota.\n\nAuthorized scripts\n------------------\n\nOAuth2 is used to authorize scripts. Each account has a limit of **250**\nauthorized scripts. Beyond that limit, one of the previously authorized\nscripts will be deauthorized. This is only temporary, and the script can be\nreauthorized the next time it is opened.\n\nIf you are frequently running into this limit, you should consider using\nmultiple user accounts to authorize different sets of scripts.\n\nVideo and shopping campaigns\n----------------------------\n\nThe standard campaign selector (`AdsApp.campaigns().get()`) will filter\nout [video](//support.google.com/google-ads/answer/2375497) and\n[shopping](//support.google.com/google-ads/answer/3455481) campaigns\nfrom the results. Use the dedicated campaign selectors instead:\n\n- [`videoCampaignSelector.get()`](/google-ads/scripts/docs/reference/adsapp/adsapp_videocampaignselector)\n- [`shoppingCampaignSelector.get()`](/google-ads/scripts/docs/reference/adsapp/adsapp_shoppingcampaignselector)"]]