Як лити по графіку в Google Ads і не отримати “Compromised Site”? 🤔
В різних гуглових чатах гуляє інфа, що якщо лити виключно по графіку роботи КЦ, шанс отримати “compromised” вищий, ніж у повністю аналогічного сетапу, але 24/7. Можна звісно запускати й так, а потім інжектити ліди — але бренди навряд чи зрадіють що ти їм зливаєш холодку та й CR у тебе явно просяде😉
То що робити?
Все просто: графік сетапимо через скрипт, а не руками 🫡
🛠 Як запустити (2 хв)
Google Ads → Tools & Settings → Bulk actions → Scripts
+ New script → вставляєш скопійований код → Authorize → Preview (чекни лог) → Run
Час береться по таймзоні акаунта (виводиться в логах). Ну а графік можеш налаштовувати під себе, розберешся🤝
А якщо хочеш забути як виглядає “compromised” — раджу затестити наші
https://t.me/techwithsagemode.
Ціна нижче ринку, а якість перевірена тисячами запусків 👌
function main() {
const CLEAR_EXISTING = true;
// Розклад: Пн–Пт 09:00–18:00
const schedules = [
{ dayOfWeek: "MONDAY", startHour: 9, startMinute: 0, endHour: 18, endMinute: 0, bidModifier: 1.0 },
{ dayOfWeek: "TUESDAY", startHour: 9, startMinute: 0, endHour: 18, endMinute: 0, bidModifier: 1.0 },
{ dayOfWeek: "WEDNESDAY", startHour: 9, startMinute: 0, endHour: 18, endMinute: 0, bidModifier: 1.0 },
{ dayOfWeek: "THURSDAY", startHour: 9, startMinute: 0, endHour: 18, endMinute: 0, bidModifier: 1.0 },
{ dayOfWeek: "FRIDAY", startHour: 9, startMinute: 0, endHour: 18, endMinute: 0, bidModifier: 1.0 },
];
Logger.log("Account timezone: " + AdsApp.currentAccount().getTimeZone());
// 1) Стандартні кампанії
applyToAllEnabled(
AdsApp.campaigns().withCondition("campaign.status = 'ENABLED'").get(),
schedules,
CLEAR_EXISTING
);
// 2) Performance Max
applyToAllEnabled(
AdsApp.performanceMaxCampaigns().withCondition("campaign.status = 'ENABLED'").get(),
schedules,
CLEAR_EXISTING
);
}
function applyToAllEnabled(iterator, schedules, clearExisting) {
while (iterator.hasNext()) {
const campaign = iterator.next();
if (clearExisting) {
const existing = campaign.targeting().adSchedules().get();
while (existing.hasNext()) existing.next().remove();
}
schedules.forEach(s => campaign.addAdSchedule(s));
Logger.log("✅ Updated: " + campaign.getName());
}
}