Автор: Андрей Педченко, руководитель отдела контекстной рекламы в 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.

Статьи по теме:

Оксана Мамчуева
Журналист, новостной редактор, работает на сайте с 2009 года. Специализация: интернет-маркетинг, SEO, поисковые системы, обзоры профильных мероприятий, отраслевые новости рунета.

Прокомментировать

avatar
  Подписаться  
Уведомление о