Manages ad customizer attributes based on a Google Sheets promotion schedule. Automatically creates customizer attributes and assigns promo text to Search campaigns based on labels, brand name matching, and date ranges.
by Dmytro Tonkikh·chiliad.io/marketplace/promotion-ad-customizer
Automates promotion management via ad customizers. Define promotions in a Google Sheet with start/end dates, target labels, and brand filters — the script creates customizer attributes and assigns them to matching Search campaigns. Supports both single accounts and MCC via executeInParallel.
| Variable | Default |
|---|---|
ss | INSERT_LINK_TO_YOUR_GOOGLE_SHEET |
=== Promotion Ad Customizer === Customizer: promo [ACTIVE] Summer Sale → 12 campaigns matched (Label: "Sale", Brand: "Nike|Adidas") [ACTIVE] Free Shipping → 24 campaigns matched (Global) [SKIPPED] Black Friday — starts 2026-11-25 Data sheet updated: 25 campaign-customizer pairs Operations: 25 created, 0 removed Finish
This script loads lodash from a CDN via eval() — ensure UrlFetchApp is authorized. The "promo" sheet must have columns: customizer, text, enabled, start date, end date, label, brand. Brand matching uses regex — separate multiple brands with "|". Labels should also be "|"-separated for multi-label targeting. Branded promotions take priority over Global promotions for the same campaign. Only targets ENABLED Search campaigns with SERVING status.