Execution info
Stay organized with collections
Save and categorize content based on your preferences.
Information about a running script
You can access certain attributes of a running script through the methods of the
ExecutionInfo
object. For example,
isPreview()
tells you whether a script is currently being previewed or is actually
executing.
This often simplifies debugging code:
// Code that generates a report.
// ...
if (!AdsApp.getExecutionInfo().isPreview()) {
// Do not email the report when in preview mode!
MailApp.sendEmail("customer@example.com", "Report is ready!", report);
}
Information about a script's account
Account information for a running script is often needed, especially when the
same unchanged script is used in multiple accounts. If the script is emailing
out a report, the recipient needs to identify the originating account. You can
use the
Account
object's
getCustomerId()
method for this:
let accountId = AdsApp.currentAccount().getCustomerId();
MailApp.sendEmail("customer@example.com",
"Report is ready for " + accountId, report);
The Account
object also has methods to let you identify the account's
currency and time zone.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-25 UTC.
[null,null,["Last updated 2025-08-25 UTC."],[[["\u003cp\u003eAccess attributes of a running script using the \u003ccode\u003eExecutionInfo\u003c/code\u003e object, such as determining if the script is in preview mode with \u003ccode\u003eisPreview()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eUtilize the \u003ccode\u003eAccount\u003c/code\u003e object to retrieve account information like customer ID (\u003ccode\u003egetCustomerId()\u003c/code\u003e), currency, and time zone, particularly useful when a single script operates across multiple accounts.\u003c/p\u003e\n"],["\u003cp\u003eSimplify debugging and reporting by conditionally executing code based on the script's execution mode and including account-specific details in outputs like emails.\u003c/p\u003e\n"]]],[],null,["# Execution info\n\nInformation about a running script\n----------------------------------\n\nYou can access certain attributes of a running script through the methods of the\n[`ExecutionInfo`](/google-ads/scripts/docs/reference/adsapp/adsapp_executioninfo)\nobject. For example,\n[`isPreview()`](/google-ads/scripts/docs/reference/adsapp/adsapp_executioninfo#isPreview)\ntells you whether a script is currently being previewed or is actually\nexecuting.\n\nThis often simplifies debugging code: \n\n // Code that generates a report.\n // ...\n if (!AdsApp.getExecutionInfo().isPreview()) {\n // Do not email the report when in preview mode!\n MailApp.sendEmail(\"customer@example.com\", \"Report is ready!\", report);\n }\n\nInformation about a script's account\n------------------------------------\n\nAccount information for a running script is often needed, especially when the\nsame unchanged script is used in multiple accounts. If the script is emailing\nout a report, the recipient needs to identify the originating account. You can\nuse the\n[`Account`](/google-ads/scripts/docs/reference/adsapp/adsapp_account)\nobject's\n[`getCustomerId()`](/google-ads/scripts/docs/reference/adsapp/adsapp_account#getCustomerId)\nmethod for this: \n\n let accountId = AdsApp.currentAccount().getCustomerId();\n MailApp.sendEmail(\"customer@example.com\",\n \"Report is ready for \" + accountId, report);\n\nThe `Account` object also has methods to let you identify the account's\ncurrency and time zone."]]