Wenn Sie sich mit anderen Nutzern über unsere Produkte austauschen und Feedback geben möchten, können Sie dem offiziellen Google Ads-Discord-Kanal auf dem Server der Google Advertising and Measurement Community beitreten.
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite werden verschiedene Beschränkungen in Google Ads-Skripts aufgeführt, die Sie kennen sollten. Diese Beschränkungen können sich jederzeit ohne Vorankündigung ändern. Stellen Sie daher sicher, dass Ihre Skripts flexibel sind und Fehlerbehandlung berücksichtigen.
Zeitlimits für die Ausführung
Google Ads-Skripts
Google Ads-Skripts können für eine Dauer von maximal 30 Minuten ausgeführt werden. Nach dieser Zeit wird die Ausführung abgebrochen. Alle vor dem Abbruch der Ausführung des Skripts durchgeführten Änderungen werden übernommen.
Ads Manager-Scripts
Ads Manager-Skripts können normalerweise maximal 30 Minuten lang ausgeführt werden. Danach werden sie abgebrochen. Wenn in einem Ads Manager-Script jedoch die Methode executeInParallel verwendet wird, um Konten parallel zu verarbeiten, und eine Callback-Methode angegeben wird, kann das Script bis zu maximal 60 Minuten ausgeführt werden, bevor es abgebrochen wird. Dies wird in der folgenden Abbildung veranschaulicht. processAccount ist die parallele Funktion und allFinished die Callback-Methode beim Aufrufen von executeInParallel.
Alle vor dem Abbruch der Ausführung des Skripts durchgeführten Änderungen werden übernommen.
Beschränkungen für Entitäten
Skripts von Google Ads-Konten
Für einen einzelnen Iterator werden standardmäßig maximal 50.000 Ergebnisse zurückgegeben. Sie können dies ändern, indem Sie withLimit() für die Auswahl aufrufen.
Ein einzelner Selektor kann maximal 10.000 IDs in selector.withIds() verarbeiten.
Wenn 10.000 oder mehr IDs angegeben sind, gibt selector.get() einen Laufzeitfehler aus. Ebenso können Sie eine Id IN [LIST]-Bedingung mit einer Liste von IDs angeben.
10.000 führt zu einem Laufzeitfehler.
Die Protokollausgabe wird bei 100 KB abgebrochen. In diesem Fall wird eine Warnung protokolliert.
Scripts von Verwaltungskonten
Für jedes Konto, das von einem Ads Manager-Script verarbeitet wird, gilt das oben aufgeführte Kontingent.
Bei Verwendung der Methode executeInParallel kann ein Skript bis zu 50 Konten verarbeiten.
Die processAccount-Methode von executeInParallel kann bis zu 10 MB Daten zurückgeben.
Beschränkungen für Bulk-Uploads
Die Upload-Datei darf maximal 50 MB groß sein und eine Million Zeilen enthalten. Wenn diese Grenzwerte überschritten werden, wird die Datei bei der Einreichung abgelehnt.
Ein Upload-Job hat ein Zeitlimit von zwei Stunden und der Job beendet danach die Verarbeitung aller in der hochgeladenen Datei verbleibenden Daten.
OAuth2 wird zur Autorisierung von Skripts verwendet. Jedes Konto hat ein Limit von 250 autorisierten Skripts. Darüber hinaus wird die Autorisierung eines der zuvor autorisierten Skripts aufgehoben. Dies ist nur vorübergehend und das Skript kann wieder autorisiert werden, wenn es erneut geöffnet wird.
Wenn Sie häufig auf dieses Limit stoßen, sollten Sie mehrere Nutzerkonten verwenden, um verschiedene Gruppen von Skripts zu autorisieren.
Video- und Shopping-Kampagnen
Mit der Standard-Kampagnenauswahl (AdsApp.campaigns().get()) werden Video- und Shopping-Kampagnen aus den Ergebnissen herausgefiltert. Verwenden Sie stattdessen die entsprechenden Kampagnenauswahlen:
[null,null,["Zuletzt aktualisiert: 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)"]]