Advanced keyword automation, bidding strategies, and optimization techniques for maximizing campaign performance.
// Performance-based keyword bid optimization function optimizeKeywordBids() { const TARGET_ROAS = 4.0; const MIN_CLICKS = 10; const MAX_BID_CHANGE = 0.5; // 50% max change const keywords = AdsApp.keywords() .withCondition('Status = ENABLED') .withCondition(`Clicks >= ${MIN_CLICKS} DURING LAST_30_DAYS`) .orderBy('Cost DESC') .get(); let optimized = 0; while (keywords.hasNext()) { const keyword = keywords.next(); const stats = keyword.getStatsFor('LAST_30_DAYS'); const currentBid = keyword.getMaxCpc(); const cost = stats.getCost(); const conversions = stats.getConversions(); const conversionValue = stats.getConversionValue(); if (conversions > 0) { const actualRoas = conversionValue / cost; const bidMultiplier = Math.min(actualRoas / TARGET_ROAS, 1 + MAX_BID_CHANGE); const newBid = currentBid * bidMultiplier; keyword.setMaxCpc(newBid); optimized++; Logger.log(`Optimized: ${keyword.getText()} - Bid: €${currentBid.toFixed(2)} → €${newBid.toFixed(2)} (ROAS: ${actualRoas.toFixed(2)})`); } } Logger.log(`Optimization complete: ${optimized} keywords updated`); }
This script automatically adjusts keyword bids based on ROAS performance, ensuring optimal spend allocation.
Automatically identify and add negative keywords from low-performing search terms.
Automatically adjust match types based on search term performance and conversion data.
Adjust keyword bids by hour of day and day of week based on conversion patterns.
Identify and optimize keywords with low Quality Scores to improve ad rank and reduce costs.