Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Скрипт применяется для фразы помеченной ярлыком. например "lablex"

Если CTR > X% (параметры процента значок > или

И средняя позиция > Y (параметры средней позиции и значок > или

ТО      Макс Цена за Клик  = Средняя Цена за Клик - Z  (параметры Z и значок -  или + так же я должен мочь задавать самостоятельно в скрипте)

Нужны две вариации этого скрипта (в принципе это один и тот же скрипт в котором просто немного меняется форма)

1. У меня есть группы под мобильные устройства где корректировка задана +900% для мобил. То есть если макс стоимость клика =1,5р то на поиске в мобиле цена будет 15 р. Для этого случая нужно вводить корректировку 

ТО      Макс Цена за Клик  = (Средняя Цена за Клик - Z)*0,9 (параметры Z и значок -  или + так же я должен мочь задавать самостоятельно в скрипте)

Если это делается формулой в скрипте, то супер

2. И еще одна вариация ТО Макс Цена за Клик  = Макс Цена за Клик - Z (параметры Z и значок -  или + так же я должен мочь задавать самостоятельно в скрипте)

Все данные должны браться за текущий день само собой.

Есть вот такой скрипт и его надо модефицировать

function main() {  

var LabelNames = ["ск"]; 

var maxPrice = 16; 

var minPrice = 0.3; 

var customLowerAveragePosition = 2; 

var customUpperAveragePosition = 2.5; 

var customPercent = 0;   

var stepPercent = 5; 

var minAveragePosition = 1; 

var maxAveragePosition = 10; 

var diapason = 0.5;     

var tempPercent = customPercent; 

var down_max = customLowerAveragePosition; 

var down_min = down_max - diapason;   

var up_min = customUpperAveragePosition; 

var up_max = up_min + diapason;   

var to_up = maxAveragePosition - customUpperAveragePosition;   

var labelName = ""; 

if(LabelNames.constructor === Array){    labelName = "LabelNames CONTAINS_ANY ['" + LabelNames.join("','") + "']"; 

}else{    labelName = "LabelNames = '" + LabelNames + "'";  }  Logger.log("Condition for labels: " + labelName);   

var selectedKeyword = 0;  while(down_max > minAveragePosition){    Logger.log("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++");   

tempPercent = tempPercent - stepPercent;   

var keywordIterator = AdWordsApp.keywords()    .withCondition(labelName)    .withCondition("AveragePosition " + Number(down_min - 0.01))    .withCondition("Impressions > 0")    .forDateRange("YESTERDAY")    .get();    Logger.log(" AveragePosition " + Number(down_min - 0.01));    while(keywordIterator.hasNext()){      selectedKeyword = selectedKeyword + 1;     

Logger.log("   ---------------");     

var keyword = keywordIterator.next();     

Logger.log("   " + selectedKeyword + "   ----------- keyword: " + keyword.getText());      Logger.log("   old price " + keyword.getMaxCpc());       

var tempPrice = keyword.getMaxCpc() + (keyword.getMaxCpc() * tempPercent)/100;     

if (tempPrice > maxPrice) {         keyword.setMaxCpc(maxPrice);       

}else if (tempPrice

}else{         keyword.setMaxCpc(tempPrice);       }       Logger.log("   new price " + keyword.getMaxCpc());       Logger.log("   add percent " + tempPercent);     }    down_max = down_min - 0.01;    down_min = down_max - diapason;  }    tempPercent = customPercent;    while(up_min

tempPercent = tempPercent + stepPercent;    var keywordIterator = AdWordsApp.keywords()    .withCondition(labelName)    .withCondition("AveragePosition " + Number(up_min-0.01))    .withCondition("Impressions > 0")    .forDateRange("YESTERDAY")    .get();

Logger.log(" AveragePosition " + Number(up_min-0.01));     

while (keywordIterator.hasNext()){       selectedKeyword = selectedKeyword + 1;       Logger.log("   ---------------");       

var keyword = keywordIterator.next();       

Logger.log("   " + selectedKeyword + "   ------------------keyword " + keyword.getText());       

Logger.log("   old price " + keyword.getMaxCpc());       

var tempPrice = keyword.getMaxCpc() + (keyword.getMaxCpc() * tempPercent)/100;       

if (tempPrice > maxPrice) {         keyword.setMaxCpc(maxPrice);       

}else if (tempPrice

}else{         keyword.setMaxCpc(tempPrice);       }       Logger.log("   new price " + keyword.getMaxCpc());       

Logger.log("   add percent " + tempPercent);     }        up_min = up_max;    up_max = up_max + diapason; 

}    

}

7 лет назад
dimasstuy
41 годУкраина
9 лет в сервисе
Был
7 лет назад