-
Notifications
You must be signed in to change notification settings - Fork 0
CONFIG Reference
John Williams edited this page Mar 13, 2026
·
1 revision
Every script in this collection uses a CONFIG object at the top for user-configurable settings. Here are the most common fields you'll encounter.
const CONFIG = {
// Email recipient for reports/alerts
emailAddress: 'you@company.com',
// Google Sheets URL for input/output
SPREADSHEET_URL: 'https://docs.google.com/spreadsheets/d/YOUR_ID/edit',
// Date range for analysis
dateRange: 'LAST_30_DAYS', // or 'LAST_7_DAYS', 'THIS_MONTH', custom range
// Dry run mode — preview changes without applying
dryRun: true, // Set to false for production
};Google Ads Scripts support these predefined ranges:
TODAYYESTERDAYLAST_7_DAYSLAST_14_DAYSLAST_30_DAYSTHIS_MONTHLAST_MONTH-
THIS_QUARTER(not available in all contexts)
For custom ranges, use YYYYMMDD,YYYYMMDD format.
CONFIG = {
targetImpressionShare: 0.85, // Target 85% impression share
maxBidLimit: 15.00, // Never bid above $15
minBidLimit: 0.50, // Never bid below $0.50
bidAdjustmentPercent: 0.10, // 10% bid adjustment per cycle
conversionRateThreshold: 0.01, // Skip keywords below 1% CVR
};CONFIG = {
alertThresholds: {
impressionDropPercent: 30, // Alert if impressions drop 30%+
clickDropPercent: 25, // Alert if clicks drop 25%+
ctrDropPercent: 20, // Alert if CTR drops 20%+
spendIncreasePercent: 50, // Alert if spend increases 50%+
},
lookbackWeeks: 4, // Compare against 4-week average
maxExecutionMinutes: 25, // Stop before Google's 30min limit
};- Always start with
dryRun: trueand review logs before going live - Use
LAST_30_DAYSfor stable metrics;LAST_7_DAYSfor trending - Set
maxExecutionMinutesto 25 to avoid Google's 30-minute timeout