{"id":15376555,"url":"https://github.com/tomayac/adwords-scripts-reporting","last_synced_at":"2026-03-14T21:23:55.584Z","repository":{"id":24037359,"uuid":"27422471","full_name":"tomayac/adwords-scripts-reporting","owner":"tomayac","description":"AdWords Scripts Reporting","archived":false,"fork":false,"pushed_at":"2016-07-29T11:00:06.000Z","size":9,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-28T22:23:41.442Z","etag":null,"topics":["adwords","adwords-scripts","awql","spreadsheet"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tomayac.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-02T08:21:59.000Z","updated_at":"2024-08-12T19:15:30.000Z","dependencies_parsed_at":"2022-07-23T23:46:16.134Z","dependency_job_id":null,"html_url":"https://github.com/tomayac/adwords-scripts-reporting","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomayac%2Fadwords-scripts-reporting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomayac%2Fadwords-scripts-reporting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomayac%2Fadwords-scripts-reporting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomayac%2Fadwords-scripts-reporting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomayac","download_url":"https://codeload.github.com/tomayac/adwords-scripts-reporting/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249109019,"owners_count":21214098,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adwords","adwords-scripts","awql","spreadsheet"],"created_at":"2024-10-01T14:08:08.797Z","updated_at":"2026-03-14T21:23:50.563Z","avatar_url":"https://github.com/tomayac.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"AdWords Scripts Reporting\n=========================\n\nThis project allows you to easily get started with AdWords\n[My Client Center](http://www.google.com/adwords/myclientcenter/) (MCC)\ncross-account reports using [AdWords Scripts](https://developers.google.com/adwords/scripts/)\nand with the full expressive power of the\n[AdWords Query Language](https://developers.google.com/adwords/api/docs/guides/awql) (AWQL).\n\nSetup Guide\n===========\n\n* Log in to the MCC account for which you want to create the cross-account report.\n* Using this account, create a [new Google spreadsheet](https://docs.google.com/spreadsheet/).\n* In [AdWords](https://adwords.google.com/), navigate to \"Bulk operations\" → \"Scripts\",\nand click \"Create script\".\n* Paste the contents of the file ```mcc_cross_account_report.js``` into the scripts editor.\n* Paste the URL of the spreadsheet from step 1 at the beginning of the script: \n```javascript\n// Store the output here\nvar SPREADSHEET_URL = 'https://docs.google.com/spreadsheets/d/ABCdefGHIjklMNOpqrSTUvwxYZ/edit';\n```\n* Fill in the desired AWQL ```SELECT``` fields, respecting the\n[report guidelines](https://developers.google.com/adwords/api/docs/appendix/reports)\nfor your desired report type:\n```javascript\n// AWQL query\nvar SELECT_VALUES = [\n  'ExternalCustomerId',\n  'AccountDescriptiveName',\n  'Clicks',\n  'Impressions'\n];\n```\n* Fill in the rest of the AWQL query, again respecting the\n[report guidelines](https://developers.google.com/adwords/api/docs/appendix/reports)\nfor your desired report type:\n```javascript\nvar REPORT_QUERY = 'SELECT ' + SELECT_VALUES.join(', ') + ' ' +\n    'FROM   ACCOUNT_PERFORMANCE_REPORT ' +\n    'WHERE  Clicks \u003e 0 ' +\n    'DURING LAST_30_DAYS';\n```\n* (Optional) Old rows in the spreadsheet will be auto-purged after ```n``` days,\nso that the spreadsheet does not overflow with data. Adapt ```n``` accordingly:\n```javascript\nvar PURGE_AFTER = 30 /* days */ * (24 * 60 *  60 * 1000) /* in milliseconds */;\n```\n\nDeployment Instructions\n=======================\n\nAfter setting up the script according to the guide above,\nit is time to test it:\n\n* Make a test-run of the script in\n[Preview mode](https://developers.google.com/adwords/scripts/docs/concepts/preview)\nby clicking \"Preview\".\n* If all goes well, you should see logging output on the script console and data in the spreadsheet.\n* If you get an error, the most likely case is that your AWQL query is invalid\n  according to the [report guidelines](https://developers.google.com/adwords/api/docs/appendix/reports). \n\nIf you are happy with the script's output, delete all data in the spreadsheet\nand schedule the script to run *hourly*. This is important, as we can only process\n[50 accounts per run](https://developers.google.com/adwords/scripts/docs/limits#mcc_scripts).\n\n* On the Scripts page in the \"Actions\" column, click \"+ Create schedule\" next to the just created script. \n* In the drop-down box next to \"Frequency\", choose *hourly*. The script will process all accounts\n  and stop once all accounts are done.\n* Click \"Save\" and you are ready to go.\n\nPossible Errors\n===============\n\nIf the reports per account take longer than\n[60 minutes](https://developers.google.com/adwords/scripts/docs/limits#mcc_scripts)\nto generate, the script will get interrupted. Simplify your AWQL query in this case.\n\nFor all other errors, check the [errors](https://developers.google.com/adwords/scripts/docs/concepts/errors)\nsection of the AdWords Scripts documentation.\n\nLicense\n=======\nCopyright 2014 Thomas Steiner (tomac@google.com)\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n[http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomayac%2Fadwords-scripts-reporting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomayac%2Fadwords-scripts-reporting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomayac%2Fadwords-scripts-reporting/lists"}