Автор: Андрей Педченко, руководитель отдела контекстной рекламы в Mello
Многие уже в курсе, что Google как и обещал, отменил показатель «Средняя позиция» в интерфейсе Google Ads. И на смену ему уже окончательно ввел новые метрики. Но что делать, если в аккаунтах были настроены скрипты, работавшие на основе средней позиции? Попробуем разобраться.
В самом простом случае логика работы программы была очевидной, как и у любого скрипта на основе одного показателя — если средняя позиции на уровне объекта (ключ, кампания, группа) за заданный период больше/меньше N, изменяем ставку на выбранный коэффициент. Посмотрим, что можно делать с новыми показателями для такого же простого случая.
Но прежде стоит проверить, может в скриптах средняя позиция еще доступна. (Так из API Директа ставки для позиций спецразмещения все еще не исчезли.)
Проверяем простой скрипт, который выводит статистику по средней позиции в разрезе ключевых слов за последние 30 дней.
Как видим, метод getAveragePosition еще доступен и работает, хотя на этой странице сказано, что в сентябре он должен быть удален. Это замечательно, что метод еще активен, и старые скрипты пока не выдают ошибок, но раз написано, что он будет удален, то стоит поторопиться и отредактировать код.
Посмотрим какие методы статистики доступны.
Ни одного из новых показателей по процентам полученных/потерянных показов нет. Что же делать? Получение статистики через метод getStatsFor не единственный способ, чтобы узнать значения показателей за прошедший период. Статистику также можно получать через объект отчета AdsApp.Report. А именно с помощью Keywords Performance Report, если говорим об эффективности ключевых слов.
В данном отчете доступны целых 72 возможных метрики (в том числе и новые показатели Ads): AbsoluteTopImpressionPercentage, ActiveViewCpm, ActiveViewCtr, ActiveViewImpressions, ActiveViewMeasurability, ActiveViewMeasurableCost, ActiveViewMeasurableImpressions, ActiveViewViewability, AllConversionRate, AllConversions, AllConversionValue, AverageCost, AverageCpc, AverageCpe, AverageCpm, AverageCpv, AveragePageviews, AveragePosition, AverageTimeOnSite, BounceRate, ClickAssistedConversions, ClickAssistedConversionsOverLastClickConversions, ClickAssistedConversionValue, Clicks, ConversionRate, Conversions, ConversionValue, Cost, CostPerAllConversion, CostPerConversion, CostPerCurrentModelAttributedConversion, CrossDeviceConversions, Ctr, CurrentModelAttributedConversions, CurrentModelAttributedConversionValue, EngagementRate, Engagements, GmailForwards, GmailSaves, GmailSecondaryClicks, HistoricalCreativeQualityScore, HistoricalLandingPageQualityScore, HistoricalQualityScore, HistoricalSearchPredictedCtr, ImpressionAssistedConversions, ImpressionAssistedConversionsOverLastClickConversions, ImpressionAssistedConversionValue, Impressions, InteractionRate, Interactions, InteractionTypes, PercentNewVisitors, SearchAbsoluteTopImpressionShare, SearchBudgetLostAbsoluteTopImpressionShare, SearchBudgetLostTopImpressionShare, SearchExactMatchImpressionShare, SearchImpressionShare, SearchRankLostAbsoluteTopImpressionShare, SearchRankLostImpressionShare, SearchRankLostTopImpressionShare, SearchTopImpressionShare, TopImpressionPercentage, ValuePerAllConversion, ValuePerConversion, ValuePerCurrentModelAttributedConversion, VideoQuartile100Rate, VideoQuartile25Rate, VideoQuartile50Rate, VideoQuartile75Rate, VideoViewRate, VideoViews, ViewThroughConversions.
Давайте проверим тестовый скрипт для показателя SearchAbsoluteTopImpressionShare (Процент показов на самой верхней позиции). Программа будет поднимать ставки для ключевых слов, у которых значение выбранной метрики менее 50%.
Код скрипта:
function main(){
function testFunc()
{
var report = AdWordsApp.report(
'SELECT AdGroupId, SearchAbsoluteTopImpressionShare, Id ' + // Эти три метрики обязательны для данной задачи
'FROM KEYWORDS_PERFORMANCE_REPORT ' + // Выбрали тип отчета
"WHERE SearchAbsoluteTopImpressionShare <0.5 "+ // Задали условия
'DURING LAST_30_DAYS');
var rows = report.rows();
var stats=[];
var ids=[];
var i=0;
while (rows.hasNext()) { // Перебираем строки отчета
var row = rows.next();
var adGroupId = row['AdGroupId'];
var searchAbsoluteTopImpressionShare = row['SearchAbsoluteTopImpressionShare'];
var id = row['Id'];
ids[i]=[adGroupId,id]; // Заполняем массив с id групп и ключей
stats[i]=searchAbsoluteTopImpressionShare; // Заполняем массив со значениями процента показов на самой верхней позиции
i++;
}
Logger.log(ids); // Печатаем
Logger.log(stats);
var keySelector = AdWordsApp.keywords().withIds(ids).get(); // Выбираем нужные ключи
while (keySelector.hasNext()) { // Перебираем ключи
var key = keySelector.next();
var currentBid = key.bidding().getCpc();
key.bidding().setCpc(currentBid*1.2); // Ставим новую ставку, умноженную на 1.2
}
}
testFunc(); // Запускаем функцию
}
Скрины об успешном выполнении:
Все корректно работает, здорово!
В коде есть комментарии, проблем быть не должно. Это базовый вариант скрипта, который можно легко расширить, добавив дополнительные условия и действия. Массив stats для работы не нужен, он просто выводится в консоль для наглядности.
Если вы еще используете скрипты, работающие по средней позиции, то пока у вас есть время и, самое главное, возможность, чтобы обновить свои инструменты. Ну а если не хочется разбираться со скриптами, начинайте использовать автоматические стратегии Google Ads.
Статьи по теме: