Скрипт Google Ads
/**
* Goodlabs Google Ads script: junk placement finder
* Schedule: Daily at 04:00
*/
var CONFIG = {
JUNK_PATTERNS: [
"anonymous.google", "game", "puzzle", "arcade", "kids", "baby",
"cartoon", "lyrics", "apk", "mod", "cheats", "download", "free"
]
};
function main() {
Logger.log("Starting Goodlabs Placement Cleaner...");
var report = AdsApp.report(
"SELECT group_placement_view.target_url, campaign.name, metrics.impressions, " +
"metrics.clicks, metrics.cost_micros, metrics.conversions " +
"FROM group_placement_view " +
"WHERE metrics.impressions > 20 " +
"AND segments.date DURING LAST_14_DAYS"
);
var junkList = [];
var rows = report.rows();
while (rows.hasNext()) {
var row = rows.next();
var url = String(row["group_placement_view.target_url"] || "").toLowerCase();
var imps = Number(row["metrics.impressions"] || 0);
var convs = Number(row["metrics.conversions"] || 0);
var cost = Number(row["metrics.cost_micros"] || 0) / 1e6;
var isJunk = false;
for (var i = 0; i < CONFIG.JUNK_PATTERNS.length; i++) {
if (url.indexOf(CONFIG.JUNK_PATTERNS[i]) !== -1) {
isJunk = true;
break;
}
}
if (isJunk && convs === 0) {
junkList.push({ url: url, campaign: row["campaign.name"], cost: cost, imps: imps });
}
}
Logger.log("Found " + junkList.length + " junk placements to exclude.");
junkList.forEach(function(p) {
Logger.log(p.url + " | " + p.campaign + " | cost " + p.cost.toFixed(2) + " | " + p.imps + " impressions");
});
}Как это работает
- Запрашивает
group_placement_view, данные отчёта «Где показывались объявления», по площадкам с более чем 20 показами в одной группе объявлений за 14 дней. Площадка, прошедшая порог в нескольких группах, попадает в лог по разу на группу. - Сверяет URL каждой площадки с
JUNK_PATTERNS: game, puzzle, arcade, kids, baby, cartoon, lyrics, apk, mod, cheats, download, free и anonymous.google. - Оставляет совпадения без конверсий и пишет каждое в лог скрипта с кампанией, расходом и показами. Сам скрипт исключений не добавляет.
Установка
- В Google Ads откройте Инструменты > Массовые действия > Скрипты и создайте скрипт.
- Поправьте JUNK_PATTERNS, если для вашей ниши нужны другие слова.
- Авторизуйте и поставьте ежедневный запуск в 04:00.
Вопросы
Работает ли это для Performance Max?
Нет. Площадок PMax нет в group_placement_view. Они лежат в performance_max_placement_view, где есть только показы, без расхода и конверсий, так что фильтру по нулевым конверсиям нечего проверять.