В начале сентября Google урезал отчет о поисковых запросах. Раньше это был источник живой семантики и минус-фраз. А теперь… А что теперь? Знаете ли вы, сколько трафика идет по undefined-запросам?
Сравнить «до» и «после» можно с помощью скрипта. Он собирает данные по кликам/показам/расходам по скрытым запросам за указанный период, выводит данные в гугл-таблицу и строит график.
Мы уже оценили «масштаб бедствия» в своих аккаунтах и поделились наблюдениями. Попробуйте и вы.
История вопроса: что случилось с отчетом о поисковых запросах Google Ads
В начале сентября в аккаунтах Google Ads появилось уведомление:
Google сказал, что отчете о поисковых запросах больше не будет такого обилия фраз, как раньше. В комментарии SearchEngineLand представитель Google объяснил изменения:
Для соблюдения наших стандартов в сфере защиты персональных данных и обеспечения сохранности информации о пользователях мы изменили отчет «Поисковые запросы» — теперь в нем будут отображаться только те запросы, которые задавала значимая часть пользователей.
Логика понятна. Запросы с конфиденциальными данными вроде «утерян паспорт фамилия номер» не должны быть общедоступными.
Но речь идет обо всех запросах, которые вводят в единичных случаях. А таких запросов немало. И это уже создает проблемы для рекламодателей. Например:
- В узкой тематике, особенно в условиях зажатого таргетинга и бюджета, сложно собрать семантику и получить недорогой трафик. Как мы делали раньше: запускали рекламу по ключам в широком соответствии с модификатором, после чего пополняли список ключевиков на основе поисковых запросов. В итоге за несколько недель выходили на недорогой и стабильный трафик (вот кейс). Теперь же список доступных запросов урезан.
- Отчет о поисковых запросах полезен еще для подбора минус-слов. Мы видим, по каким нерелевантным запросам были переходы, и добавляем их к минус-словам. За пару недель открутки рекламы по ключам в широком/фразовом соответствии добиваемся того, что процент нецелевых кликов падает, а вслед за ним и стоимость лида.
Вопрос в том, насколько сильно Google урезал отчет о поисковых запросах и что оставил нам в итоге. Мы нашли скрипт, который оценивает, сколько трафика приходится на неизвестные запросы, и протестировали его на нескольких аккаунтах. Но обо всем по порядку.
Скрипт для подсчета процента неопознанных запросов
Скриптом поделился Frederick Vallaeys в статье на SearchEngineLand. Скрипт формирует отчет, который показывает по дням процент показов, кликов или расходов по скрытым запросам.
Работает он так: извлекает данные из двух отчетов (с фильтром Ad Network Type = Search):
- Отчет по эффективности аккаунта (Account Performance Report). Содержит данные по всем кликам, в том числе тем, которые шли по скрытым запросам.
- Отчет по поисковым запросам (Search Query Performance Report). Здесь содержатся данные только по известным запросам.
Скрипт сравнивает данные и выводит результат в Google Таблицах.
Настройка и получение результата
Скопируйте код скрипта в аккаунт, который хотите проанализировать (как работать со скриптами — описывали здесь).
Внесите изменения в код:
- В строке var EMAILS обязательно укажите email — для него будет открыт доступ к отчету.
- В строке var PRIMARY_METRIC укажите, по какой метрике хотите получить срез. По умолчанию стоит Cost (затраты), можете заменить на Clicks (клики) или Impressions (показы).
- Опционально в строке var LAST_N_DAYS можете задать период съема статистики. По умолчанию — 30 дней. Советуем для наглядности установить 60 дней.
На этом всё. Запускаете скрипт, и вам на почту приходит уведомление. По ссылке будет отчет. На первом листе — данные по дням, на втором — график.
Вот код:
/***************************************************
* Undefined Search Terms Report
* @version 1.1
* @author: Naman Jindal (Optmyzr)
****************************************************/
var LAST_N_DAYS = 30; // Number of previous days to include in report
var EMAILS = ['example@example.com']; // Array of Emails to be notified and given access to the results in a Google Sheet
var PRIMARY_METRIC = 'Cost'; // E.g. Impressions, Cost, Clicks
function main() {
var map = {};
var DATE_RANGE = getAdWordsFormattedDate(LAST_N_DAYS, 'yyyyMMdd') + ',' + getAdWordsFormattedDate(1, 'yyyyMMdd');
var query = [
'SELECT Date, Impressions, Cost, Clicks FROM ACCOUNT_PERFORMANCE_REPORT',
'WHERE AdNetworkType1 = SEARCH', 'DURING', DATE_RANGE
].join(' ');
var rows = AdsApp.report(query).rows();
while(rows.hasNext()) {
var row = rows.next();
map[row.Date] = {
'ACTUAL': 0,
'QUERIES': 0
};
map[row.Date].ACTUAL = parseInt(row[PRIMARY_METRIC], 10);
}
var query = [
'SELECT Date, Query, Impressions, Cost, Clicks FROM SEARCH_QUERY_PERFORMANCE_REPORT',
'WHERE AdNetworkType1 = SEARCH',
'DURING', DATE_RANGE
].join(' ');
var rows = AdsApp.report(query).rows();
while(rows.hasNext()) {
var row = rows.next();
map[row.Date].QUERIES += parseInt(row[PRIMARY_METRIC], 10);
}
var output = [];
for(var date in map) {
output.push([date, map[date].ACTUAL, map[date].QUERIES, (map[date].ACTUAL - map[date].QUERIES) / map[date].ACTUAL]);
}
if(!output.length) {
Logger.log('No data in the account');
}
var TEMPLATE_URL = 'https://docs.google.com/spreadsheets/d/1G1-zPqm0kqQjZSPEwS8cfndYVzkswbyl80SiLlqiPF8/edit#gid=0';
var template = SpreadsheetApp.openByUrl(TEMPLATE_URL);
var ss = template.copy(AdsApp.currentAccount().getName() + ' - Undefined Search Terms Report by ' + PRIMARY_METRIC);
ss.addEditors(EMAILS);
var tab = ss.getSheets()[0];
tab.getRange(2,1,tab.getLastRow(),tab.getLastColumn()).clearContent();
tab.getRange(2,1,output.length,output[0].length).setValues(output).sort([{'column': 1, 'ascending': true}]);
var msg = 'Hi,\nPlease find below the undefined search terms report for your Google Ads account:\n'+ss.getUrl();
MailApp.sendEmail(EMAILS.join(','), AdsApp.currentAccount().getName() + ' - Undefined Search Terms Report by ' + PRIMARY_METRIC, msg);
Logger.log("Your report is ready at " + ss.getUrl());
}
function round_(num,n) {
return +(Math.round(num + "e+"+n) + "e-"+n);
}
function getAdWordsFormattedDate(d, format){
var date = new Date();
date.setDate(date.getDate() - d);
return Utilities.formatDate(date,AdsApp.currentAccount().getTimeZone(),format);
}
Результаты: трафик по скрытым запросам взлетел до 50-60%
Мы проанализировали трафик за последние 60 дней в трех аккаунтах. Для чистоты эксперимента брали аккаунты, в которых только одна активная кампания. Делимся наблюдениями.
1. Интернет-магазин оборудования для общепита (B2B)
Трафик — около 100 кликов в сутки. Кампания запущена по «ламповым» ключам вроде «купить холодильную установку».
Загрузили скрипт, выполнили и получили таблицу с данными:
На второй вкладке отчета график:
1 сентября процент трафика по скрытым запросам взлетел практически с 0 до 55%. И далее оставался примерно на том же уровне. То есть мы перестали понимать, какие запросы приводят более половины трафика.
Раньше в отчете было много запросов, связанных с модификациями оборудования. Например, «столы для общепита нсо1м», «столы нсо 1м87Б» и т. п. Теперь же Google скрыл большую их часть, оставив только очевидные.
2. Интернет-магазин детских товаров
Трафик — около 150 кликов в сутки.
Ситуация похожа. Но здесь изначально было немного больше неопознанного трафика. Прирост его доли началася 31.08 (до 21%) и продолжился 1.09 (до 65,7%).
3. Онлайн-сервис для малого бизнеса
Трафик — 200-250 кликов в сутки. В отличие от предыдущих примеров, здесь реклама запущена по ключам в широком, фразовом и точном соответствии (а не в широком с модификатором).
Скачок «неопознанного» трафика здесь тоже есть — но его доля меньше (около 40%).
Сложно искать закономерности в цифрах — все сильно зависит от конкретного аккаунта и используемых настроек. Тем не менее очевидно то, что около половины трафика теперь идет по скрытым запросам.
Откуда теперь брать семантику и минус-слова для рекламы в Google
В теории побороть скрытые запросы можно, если создать отдельные группы объявлений под каждый ключ в точном соответствии. Тогда данные по ключам — это то же самое, что и данные по запросам. Но, объективно, этим вряд ли кто-то будет заниматься.
На чем стоит заострить внимание:
- Тщательно собирать семантику до запуска кампании, особенно если дело касается узких ниш. Например, мы описывали нетривиальные способы подбора семантики для SEO — первые 3 вполне подойдут для контекста.
- Максимально прорабатывать минус-слова до запуска кампании. Что и как делать — описали в гайде по минус-словам. Там же рассказали о возможностях автоматизации подбора минус-слов с помощью бесплатного медиапланера Click.ru.
- Посмотреть в сторону автостратегий (актуальный перечень с разбором — по ссылке). Здесь нужно тестировать — может выстрелить, а может и нет. Так, в начале сентября мы создали тестовую автоматическую кампанию для Click.ru и получили интересные результаты (об этом напишем в одной из следующих статей).
Подытожим
- Скрытые запросы в Google Ads — не новость. Они были и до урезания отчета о поисковых запросах. Но их доля была не более нескольких процентов, в отдельных случаях могла доходить до 20%. Сейчас же их доля доходит до 50-60% и выше.
- Больше всего запросов скрыто, если кампания запущена по ключам в широком соответствии. Для точного соответствия процент скрытых запросов ниже.
- Несмотря на урезание отчета, он по-прежнему работает. Да, это уже не то обилие поисковых фраз. Но все же они есть. Поэтому после запуска рекламы заходите сюда и пополняйте (насколько это возможно) семантику новыми ключами и минус-словами.
Проанализируйте ваши аккаунты, чтобы понять, сколько трафика идет по неопознанным запросам. Будем рады, если поделитесь наблюдениями в комментариях.