Quick answers to common questions about the MCC PMax script.
The MCC PMax script is a Google Ads script that runs at the MCC (Manager) level to collect Performance Max, Shopping, and Demand Gen campaign data from all accounts in your MCC. It creates individual Google Sheets for each account with detailed insights including search terms, placements, assets, and performance metrics.
This script is designed for agencies and consultants managing multiple Google Ads accounts through an MCC. It's perfect if you need consolidated reporting across 5-100+ accounts and want to save hours of manual data collection each week.
The MCC script is available for $399 USD. This is a one-time payment with lifetime access and free updates. There are no recurring fees.
The MCC script runs once in your manager account and processes all client accounts automatically. The individual account script (PMax Insights) runs separately in each account. Use the MCC version if you manage 5+ accounts - it will save you significant time.
Yes! The script collects data from Performance Max, Standard Shopping, and Demand Gen campaigns. However, accounts with only Standard Shopping campaigns won't be auto-populated into the settings tab on first run (they'll appear in the 'all' tab and you can add them manually).
Absolutely. The script auto-detects Demand Gen campaigns and sets the appropriate flags. Demand Gen data is collected in separate sheets for each account.
Initial setup takes about 10 minutes. The script then processes the first 3 accounts immediately (10-15 minutes) and continues initializing 3 accounts per hour until all accounts are ready.
No coding knowledge required. Just follow the Quick Start guide to copy/paste the code and add your sheet URL. The script handles everything else automatically.
No, you need to create your own copy of the template sheet. This ensures you have full control and edit access. The script won't work with someone else's sheet due to permission restrictions.
You need Editor access to the MCC account in Google Ads, and your Google account needs permission to create and edit Google Sheets.
Yes, as long as you have Editor access to their MCC account. The script and sheets will be associated with your Google account.
The script processes 3 accounts per hour. So if you have 30 accounts, all will be initialized in about 10 hours. You can track progress in the 'Initialized' column (O) in the settings tab.
Google Apps Script has a 30-minute execution time limit. Processing 3 accounts per run ensures the script completes successfully without timeout errors, even for accounts with lots of data.
Yes, you can increase the MAX_INIT_PER_RUN constant (currently set to 3) if your accounts are small or you want to take the timeout risk. See the Advanced Configuration guide for details.
If a timeout occurs, that account won't be marked as initialized and will be retried on the next hourly run. The script is designed to be resilient - it will keep trying until all accounts are processed.
No. Once you've set up the hourly trigger in Step 5 of the Quick Start guide, the script runs automatically every hour. You never need to manually run it again unless you want to troubleshoot.
Each account's data is refreshed hourly based on its 'Run At' time in the settings tab. For example, accounts set to run at '03' are updated between 3:00-3:59am in your MCC's timezone.
By default, the script pulls the last 30 days of data. This is hard-coded and can't be changed without modifying the script.
Each tab serves a different purpose: 'all' shows all MCC accounts, 'settings' controls which accounts to process, 'totals' aggregates campaign data, 'daily/weekly/trend' show historical performance, and each account gets its own individual sheet with detailed insights.
The core metrics are fixed, but you can add your own calculated columns in the sheets. Just don't delete or rename the existing columns as the script needs them.
You can delete data from the individual account sheets if needed, but the script will re-populate it on the next run. The historical tabs (daily/weekly/trend) accumulate data over time.
Hourly is required. The script uses the current hour to determine which accounts to process based on their 'Run At' time. Daily scheduling won't work properly.
No. The script is specifically designed for hourly execution. Running it daily would mean all accounts try to process at once, causing timeouts.
No problem. The script checks the 'Last Successful Run' timestamp. If an account hasn't been updated recently, it will process on the next hourly run when the time matches.
Yes. Just disable or delete the hourly trigger in the Google Ads Scripts interface. You can re-enable it anytime. Data won't be lost, but it won't update while paused.
No. Google Apps Script is free for Google Ads scripts, even at MCC level.
No. Google Ads Scripts use a different system than the API and don't count toward API quotas or costs.
Google Sheets is free up to 15GB of storage per Google account. The MCC script creates one master sheet plus one sheet per account, but these are typically under 10MB each. You're unlikely to hit storage limits unless you have 100+ large accounts.
Check the error column (N) in the settings tab for that account's row. Common issues include invalid CID format, no PMax/Shopping/DG campaigns, or permission problems. The Troubleshooting guide has detailed solutions.
Timeout errors usually mean an account has a lot of data. The script will retry on the next hourly run. If it keeps failing, you can try increasing run times or reducing PLACEMENT_LIMIT in the advanced settings.
First, check the 'Last Successful Run' timestamp to ensure the account is actually updating. Then verify the date range (last 30 days) and timezone. Data differences from the UI are usually due to timezone or removed campaigns.
For technical issues, check the Troubleshooting guide first. For purchase-related questions, email mike@mikerhodes.com.au. For community support, post in the Ads to AI Circle at mikerhodes.circle.so.
You can add calculated columns in the sheets, but you can't add new Google Ads metrics without modifying the script code. The script pulls specific fields via GAQL queries.
You can add columns or tabs to the individual account sheets, but don't rename or delete the existing structure as the script expects specific column positions.
Yes! Feel free to add additional tabs to the master sheet or individual account sheets for your own analysis. The script won't touch tabs it doesn't create.
Script updates may add new columns or tabs but won't remove your custom additions. However, it's best practice to keep customizations in separate tabs rather than modifying the script's output tabs.
New versions are announced via email to purchasers and in the Ads to AI community. Check the script version number at the top of the code (currently v92).
Simply replace the script code in Google Ads with the new version. Your sheet URL and settings remain the same. No re-setup required.
No. Updating the script code doesn't affect your Google Sheets. All historical data and settings are preserved.
No. Just paste the new code and save. The script will continue using your existing sheet and settings.
If you didn't find what you're looking for, here are other resources: