Get started
Stay organized with collections
Save and categorize content based on your preferences.
Follow these steps to launch your first script.
Google Ads accounts
- Sign in to your Google Ads account.
- From the Tools menu in the left navigation, select Bulk actions, then
Scripts. You can also navigate to this page by searching for "Scripts"
in the Google Ads search bar.
- Press the + icon
to add a script. You can browse script templates from the drop-down menu,
but for the sake of this exercise, select "New script".
- You can optionally provide a name for your script in the "Script name" text
field. This can help you stay organized and remember what the script does.
Copy and paste the following code into the editor area, replacing the main
function:
function main() {
// Get the campaign names from all the campaigns
const rows = AdsApp.search('SELECT campaign.name FROM campaign');
console.log('My campaigns:');
// Iterate through the campaigns and print the campaign names
for (const row of rows) {
console.log(row.campaign.name);
}
}
When prompted, click Authorize so the script can access the account on
your behalf. This has to be done once for each script.
Click Preview to run the script in preview mode.
Results will appear in the Changes / Logs panel. For this example,
you should see your campaign names displayed in the Logs.
When you're happy with the preview results, click Run to run your
script and open the Script history page. This page displays the
most recently run scripts, with information on their status and results.
To get a detailed view of changes and logs, click the link in the
Changes column that corresponds to the script you just ran. You should
see the same log output that was previewed before.
Manager accounts
You must first have a
Google Ads manager account
to run Ads Manager scripts.
- Sign in to your Google Ads manager
account.
- From the Tools menu in the left navigation, select Bulk actions, then
Scripts. You can also navigate to this page by searching for "Scripts"
in the Google Ads search bar.
- Press the + icon
to add a script. You can browse script templates from the drop-down menu,
but for the sake of this exercise, select "New script".
- You can optionally provide a name for your script in the "Script name" text
field. This can help you stay organized and remember what the script does.
Copy and paste the following code into the editor area, replacing the main
function:
function main() {
// Retrieve all children accounts.
const accountIterator = AdsManagerApp.accounts().get();
// Iterate through the account list.
for (const account of accountIterator) {
// Get stats for the child account.
const stats = account.getStatsFor("THIS_MONTH");
// And log it.
console.log(`${account.getCustomerId()},${stats.getClicks()},` +
`${stats.getImpressions()},${stats.getCost()}`);
}
}
When prompted, click Authorize so the script can access the account on
your behalf. This has to be done once for each script.
Click Preview to run the script in preview mode.
Results will appear in the Changes / Logs panel. For this example,
you should see your children accounts and their metrics displayed in the
Logs.
When you're happy with the preview results, click Run to run your
script and open the Script history page. This page displays the
most recently run scripts, with information on their status and results.
To get a detailed view of changes and logs, click the link in the
Changes column that corresponds to the script you just ran. You should
see the same log output that was previewed before.
For more sample script snippets, check out our
examples page.
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[[["\u003cp\u003eLaunching your first Google Ads script involves signing in, navigating to the Scripts section, and adding a new script.\u003c/p\u003e\n"],["\u003cp\u003eYou need to copy and paste provided code snippets into the script editor to define its functionality, such as analyzing keywords or account statistics.\u003c/p\u003e\n"],["\u003cp\u003eAuthorization is necessary for the script to access your account data, and preview mode allows for testing before full execution.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Ads manager accounts are required to run Ads Manager scripts, which can access and process data from multiple child accounts.\u003c/p\u003e\n"],["\u003cp\u003eMore script examples and resources are available on the Google Ads Scripts examples page for further exploration and customization.\u003c/p\u003e\n"]]],[],null,["# Get started\n\nFollow these steps to launch your first script. \n\n### Google Ads accounts\n\n1. [Sign in](//ads.google.com/) to your Google Ads account.\n2. From the Tools menu in the left navigation, select **Bulk actions** , then **Scripts**. You can also navigate to this page by searching for \"Scripts\" in the Google Ads search bar.\n3. Press the + icon to add a script. You can browse script templates from the drop-down menu, but for the sake of this exercise, select \"New script\".\n4. You can optionally provide a name for your script in the \"Script name\" text field. This can help you stay organized and remember what the script does.\n5. Copy and paste the following code into the editor area, replacing the main\n function:\n\n function main() {\n // Get the campaign names from all the campaigns\n const rows = AdsApp.search('SELECT campaign.name FROM campaign');\n\n console.log('My campaigns:');\n // Iterate through the campaigns and print the campaign names\n for (const row of rows) {\n console.log(row.campaign.name);\n }\n }\n\n6. When prompted, click **Authorize** so the script can access the account on\n your behalf. This has to be done once for each script.\n\n7. Click **Preview** to run the script in [preview mode](/google-ads/scripts/docs/concepts/preview).\n Results will appear in the **Changes** / **Logs** panel. For this example,\n you should see your campaign names displayed in the Logs.\n\n8. When you're happy with the preview results, click **Run** to run your\n script and open the **Script history** page. This page displays the\n most recently run scripts, with information on their status and results.\n\n9. To get a detailed view of changes and logs, click the link in the\n **Changes** column that corresponds to the script you just ran. You should\n see the same log output that was previewed before.\n\n### Manager accounts\n\nYou must first have a\n[Google Ads manager account](//support.google.com/google-ads/answer/6139186)\nto run Ads Manager scripts.\n\n1. [Sign in](//ads.google.com/) to your Google Ads manager account.\n2. From the Tools menu in the left navigation, select **Bulk actions** , then **Scripts**. You can also navigate to this page by searching for \"Scripts\" in the Google Ads search bar.\n3. Press the + icon to add a script. You can browse script templates from the drop-down menu, but for the sake of this exercise, select \"New script\".\n4. You can optionally provide a name for your script in the \"Script name\" text field. This can help you stay organized and remember what the script does.\n5. Copy and paste the following code into the editor area, replacing the main\n function:\n\n function main() {\n // Retrieve all children accounts.\n const accountIterator = AdsManagerApp.accounts().get();\n\n // Iterate through the account list.\n for (const account of accountIterator) {\n // Get stats for the child account.\n const stats = account.getStatsFor(\"THIS_MONTH\");\n // And log it.\n console.log(`${account.getCustomerId()},${stats.getClicks()},` +\n `${stats.getImpressions()},${stats.getCost()}`);\n }\n }\n\n6. When prompted, click **Authorize** so the script can access the account on\n your behalf. This has to be done once for each script.\n\n7. Click **Preview** to run the script in [preview mode](/google-ads/scripts/docs/concepts/preview).\n Results will appear in the **Changes** / **Logs** panel. For this example,\n you should see your children accounts and their metrics displayed in the\n Logs.\n\n8. When you're happy with the preview results, click **Run** to run your\n script and open the **Script history** page. This page displays the\n most recently run scripts, with information on their status and results.\n\n9. To get a detailed view of changes and logs, click the link in the\n **Changes** column that corresponds to the script you just ran. You should\n see the same log output that was previewed before.\n\nFor more sample script snippets, check out our\n[examples page](/google-ads/scripts/docs/examples)."]]