이 페이지에서는 Google Ads 스크립트에서 알아야 할 다양한 한도와 제한사항을 설명합니다. 이러한 한도는 경고 없이 언제든지 변경될 수 있으므로 스크립트가 유연하고 오류 처리가 포함되어 있는지 확인하세요.
실행 시간 제한
Google Ads 스크립트
광고주 계정의 Google Ads 스크립트는 최대 30분 동안 실행될 수 있으며, 그 후에는 취소됩니다. 스크립트가 취소되기 전에 적용된 모든 변경사항이 적용됩니다.
Google Ads 관리자 스크립트
Ads Manager 스크립트는 일반적으로 최대 30분 동안 실행될 수 있으며 그 후에는 취소됩니다. 하지만 Google Ads 스크립트에서 executeInParallel 메서드를 사용하여 계정을 병렬로 처리하고 콜백 메서드를 지정하는 경우 취소되기 전까지 최대 60분 동안 실행될 수 있습니다. 다음 그림에 나와 있습니다. 여기서 processAccount는 병렬 함수이고 allFinished는 executeInParallel 호출 시 콜백 메서드입니다.
스크립트가 취소되기 전에 이루어진 변경사항은 모두 적용됩니다.
항목 한도
Google Ads 계정의 스크립트
단일 반복자는 기본적으로 최대 50,000개의 결과가 반환됩니다. 선택기에서 withLimit()를 호출하여 이를 수정할 수 있습니다.
단일 선택기는 selector.withIds()에서 최대 10,000개의 ID를 처리할 수 있습니다.
ID가 10,000개 이상 지정되면 selector.get()에서 런타임 오류가 발생합니다. 마찬가지로 ID 목록으로 Id IN [LIST] 조건을 지정하면
10,000을 입력하면 런타임 오류가 발생합니다.
로깅 출력은 100Kb에서 잘립니다. 이 경우 경고가 로깅됩니다.
관리자 계정 스크립트
Google Ads 스크립트로 처리되는 각 계정에는 위에 나열된 것과 같은 할당량이 부여됩니다.
executeInParallel 메서드를 사용하는 경우 스크립트에서 최대 50개의 계정을 처리할 수 있습니다.
executeInParallel의 processAccount 메서드는 최대 10MB의 데이터를 반환할 수 있습니다.
일괄 업로드 한도
업로드 파일은 50MB 및 100만 행으로 제한되며, 이러한 한도를 초과하는 경우 제출 시 거부됩니다.
업로드 작업은 2시간 후에 시간이 초과되며 작업은 업로드된 파일의 나머지 데이터 처리를 중지합니다.
Google 서비스 할당량
기본 Google Apps Script 서비스는 일부 기능에 일일 할당량과 엄격한 제한을 적용합니다. 이러한 할당량 및 관련 예외 메시지 목록을 참고하세요.
승인된 스크립트
OAuth2는 스크립트를 승인하는 데 사용됩니다. 각 계정에는 승인된 스크립트가 250개로 제한됩니다. 이 한도를 초과하면 이전에 승인된 스크립트 중 하나가 승인 취소됩니다. 이는 일시적인 문제이며 다음에 스크립트를 열 때 다시 승인할 수 있습니다.
이 한도에 자주 도달하는 경우 여러 사용자 계정을 사용하여 다양한 스크립트 집합을 승인하는 것이 좋습니다.
동영상 및 쇼핑 캠페인
표준 캠페인 선택기 (AdsApp.campaigns().get())는 결과에서 동영상 및 쇼핑 캠페인을 필터링합니다. 대신 전용 캠페인 선택기를 사용하세요.
[null,null,["최종 업데이트: 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)"]]