Шукаємо альтернативу скриптам Google Ads, що працюють на основі середньої позиції

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

Степан Лютий

Обожнюю технології в сучасному світі. Хоча частенько і замислююся над тим, як далеко вони нас заведуть. Не те, щоб я прям і знаюся на ядрах, пікселях, коллайдерах і інших парсеках. Просто приходжу в захват від того, що може в творчому пориві вигадати людський розум.

You may also like...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься.