Пишем биддер для Google AdWords из 10 строчек
Если Вы занимаетесь контекстной рекламой в Google AdWords, то уже успели задуматься об автоматизации управления рекламными кампаниями. Благо, имеется AdWords Editor, с которым многие процессы проходят гораздо быстрее, чем при работе в интерфейсе рекламной системы, хотя и там возможностей предостаточно. Но все еще есть задачи, которые нужно решать массово, а очевидного решения нет. На этот случай мы можем использовать скрипты javascript, тем самым облегчая свою работу и получая необходимый результат.
Посмотрев статьи о скриптах для AdWords в русскоязычных источниках нам не удалось найти материала, который не копировал бы справку AdWords Scripts и не отсылал пользователя к готовым решениям Google. Чаще всего приводятся «многоэтажные» коды для отслеживания битых ссылок, отключения неэффективных ключевых фраз, и выставления ставок в зависимости от температуры. Это все здорово, но слишком сложно для человека, ранее не вникавшего в программирование.
В этой статье мы рассмотрим простейший и очень полезный код, каждый час корректирующий ставки ключевых слов.
Биддеры как основной инструмент оптимизации рекламных кампаний уже давно устарели. Сейчас в почете оптимизация конверсий (CRO) и perfomance marketing. И это правильно. Тем не менее, периодически возникают задачи, которые нельзя решить в рамках новейших методик:
-
Рекламодатель не имеет оптимально настроенной аналитической системы: на момент запуска контекстной рекламы отсутствуют данные, по которым можно сразу оптимизировать рекламные кампании.
-
Недостаточно данных для корректной работы оптимизаторов конверсии.
-
Принципиальное нежелание рекламодателя по определенным запросам уходить из контекстный рекламы, независимо от их эффективности
В этих ситуациях вам поможет биддер. Знания в программировании необязательны. Кодим!
Первым делом мы обозначаем основную функцию (в программировании функция — это фрагмент кода, который выполняется каждый раз, когда его просят выполниться).
function main(){}
Далее в фигурных скобках описываем все команды, которые необходимо выполнить. Первым делом мы создаем переменную, которая представляет собой ключевое слово рекламной кампании:
var kw1 = AdWordsApp.keywords()
С помощью команды «var» задаются переменные в javascript, «kw1» - это имя переменной, а все, что после знака равенства — это метод, позволяющий нам «вытягивать» ключевые слова из аккаунта. Понятное дело, - нужно задать критерий выборки ключевых фраз:
.withCondition('CampaignName = "Имя кампании"')
.get();
Этот фрагмент будет получать все ключевые фразы из указанной кампании. Чтобы «достать» все ключевики надо зациклить обозначенную выше операцию, делается это с помощью условия:
while(kw1.hasNext()){}
Теперь мы будем переходить на каждую следующую фразу, пока они не закончатся, но нам надо успевать обрабатывать каждую из них по очереди, поэтому внутри цикла опишем необходимые операции, прописываем следующие строки между фигурных скобок:
var kw2 = kw1.next();
Тем самым мы создаем переменную «kw2», в которую записываем каждое следующее ключевое слово. Создадим еще одну переменную, в которую будем записывать ставку, необходимую для попадания на первую страницу результатов поисковой выдачи:
var kw3 = kw2.getFirstPageCpc();
Для каждого «ключа» в эту переменную будет записываться своя ставка. Иногда (очень редко) у системы нет данных о том, какая ставка позволит попасть на первую страницу, в таком случае в переменную «kw3» не запишется никакого значения, и наша программа выдаст ошибку (данных обычно нет для низкочастотных или не встречавшихся ранее запросов). Чтобы обойти эту проблему пропишем условие, по которому в случае отсутствия рекомендуемой ставки будет задаваться произвольное значение, например 15 рублей (речь идет о валюте, указанной в настройках аккаунта):
if (kw3<=0){
kw3=15;}
Теперь мы будем записывать в каждую полученную ключевую фразу максимальную цену за клик на основе полученной ставки для входа на первую страницу, помноженной на 5%:
kw2.setMaxCpc(kw3*1.05);
Всё! Это просто, и это работает. Теперь весь код целиком:
function main(){
var kw1 = AdWordsApp.keywords()
.withCondition('CampaignName = "Имя кампании"')
.get();
while(kw1.hasNext()){
var kw2 = kw1.next();
var kw3 = kw2.getFirstPageCpc();
if (kw3<=0){
kw3=15;}
kw2.setMaxCpc(kw3*1.05);}}
Таким образом, наш код будет получать необходимые минимальные ставки всех ключевых слов для занятия первой страницы, будет увеличивать это значение на 5%, и далее присваивать каждую новую ставку каждому ключевому слову. Всего 10 строчек! Можете проверить на любой из кампаний, для этого откройте аккаунт AdWords и перейдите в раздел скриптов в массовых операциях, нажмите кнопку добавления скрипта:
Вам будет предложен тестовый скрипт, на его место вставляете ваш код, сохраняете, авторизуетесь, запускаете просмотр для поиска ошибок и проверки, по мере необходимости сохраняете изменения:
В этом же интерфейсе есть множество примеров, которые помогут решить большое количество различных задач.
Далее скрипт закрываем и настраиваем периодичность его выполнения:
Возможно, сейчас Вы подумали: “А почему бы не использовать правила для автоматизации назначения ставок, которые предложены нам в интерфейсе AdWords?” Кто не знает, они находятся здесь:
Не используем мы их потому, что по этим правилам ставка может только повышаться до необходимого уровня, при таком подходе мы можем переплатить за клики. Например, вчера для конкретного ключевого слова для показов вверху первой страницы была ставка 50 рублей (и система выставила это значение), а сегодня уже 30 рублей, но наша ставка так и останется равной 50 рублям. Вы ведь не хотите переплачивать 20 рублей за каждый дополнительный клик?
Используя приведенный выше код Вы можете управлять ставками по сочетанию различных условий, для занятия различных позиций. Можно затрагивать только фразы из определенных групп, дополнительно повышать ставки для конверсионных и полностью отключать неэффективные ключевые слова.
Что касается качества работы такого биддера, то просто приведем статистику из аккаунтов, где подобный код удерживает ставки для показов вверху страницы.
Аккаунт 1 (18 января - 31 января):
Скрипт был внедрен 22 января. Данные берутся из аккаунта AdWords.
Для аккаунта с 5-ю кампаниями в поисковой сети средняя цена за клик снизилась с 30 до 5,5 рублей.
Благодаря снижению цены клика в тот же период повысилось и число получаемых кликов в день.
При этом дневной расход особо не изменился.
Конечно, средняя занимаемая позиция колебалась, но по всем фразам мы показывались в верхней части страницы, а для стабильного удержания конкретной позиции просто надо задать корректировку ставок, которую можно определить экспериментально в несколько итераций.
Доля выигранных показов в поиске также увеличилась.
Для чего мы вообще решили использовать такой биддинг? Во-первых, Клиент хочет всегда показываться в топе, а, во-вторых, нам было необходимо оптимизировать аккаунт по конверсиям, не имея при этом большой статистики. С помощью удержания ставок должна была решиться задача снижения стоимости конверсии, что и было достигнуто:
Стоимость конверсии снизилась с 1078 рублей до 309 рублей, при этом возросло и число выполняемых целевых действий:
Статистика по работе скрипта хоть и захватила всего пару недель, мы увидели положительную динамику, проявившуюся во всех показателях.
Аккаунт 2(1 января -14 февраля):
Скрипт был внедрен 23 января. Данные берутся из аккаунта Analytics.
Цена клика снизилась с 20 рублей до 5 рублей.
В количестве кликов особых изменений нет.
Количество конверсий не уменьшилось.
Но стоимость конверсии снизилась примерно с 600 рублей до 140 рублей.
Так как на сайте отслеживается не одно выполняемое действие , то суммарное число конверсий оценивается с помощью вычисляемого показателя calcmetric_calcmetric_sostav_target, аналогично, показатель calcmetric_calcmetric_cost_cr подсчитывает среднюю стоимость коверсии.
На примере второго аккаунта также видна положительная динамика в результате внедрения скрипта, которая в первую очередь сказывается на снижении цены клика.
Аккаунт 3(1 января -14 февраля):
Скрипт был внедрен 21 января. Данные берутся из аккаунта AdWords. Конверсии не отслеживаются.
Среднее число кликов в день увеличилось с 22 до 104.
Цена клика уменьшилась с 15 рублей до 2-3 рублей.
Средняя занимаемая позиция зафиксировалась на уровне 1,9.
Процент полученных показов в поиске также начал расти.
Кликабельность не изменилась.
В общем пробуйте, программируйте, это очень хорошо работает. А много полезной информации можно найти на следующих сайтах:
http://www.freeadwordsscripts.com
https://gist.github.com/derekmartinla
http://www.rankhammer.com/blog
А прочитав справку AdWords Scripts, Вы узнаете как из приведенного в статье скрипта сделать биддер для удержания верхних строчек первой страницы:
https://developers.google.com/adwords/scripts/Есть о чем рассказать? Тогда присылайте свои материалы Марине Ибушевой
-
function main(){
var kw1 = AdWordsApp.keywords()
.withCondition('CampaignName = «Camp1_Kiev» ’)
...function main(){
var kw1 = AdWordsApp.keywords()
.withCondition('CampaignName = «Camp1_Kiev» ’)
.get();
while(kw1.hasNext()){
var kw2 = kw1.next();
var kw3 = kw2.getTopOfPageCpc();
if (kw33){
kw3=3;}
kw2.setMaxCpc(kw3);}} -
Сори, точный скрипт вот:
function main(){
var kw1 = AdWordsApp.keywords()
.withCondition('CampaignName = «Camp1_Kiev» ...Сори, точный скрипт вот:
function main(){
var kw1 = AdWordsApp.keywords()
.withCondition('CampaignName = «Camp1_Kiev» ’)
.get();
while(kw1.hasNext()){
var kw2 = kw1.next();
var kw3 = kw2.getTopOfPageCpc();
if (kw33){
kw3=3;}
kw2.setMaxCpc(kw3);}} -
Здравствуйте, Андрей!
Как-то совершенно не обладаю знаниями в программировании(( Однако понимаю важность и необходимость того что вы сделали))
В общем, объединил немножко инфо из ваших кодов, но выдает ошибку.
Цель попасть в ТОП вверху страницы и одновременно не превысить бюджет 3 доллара за запрос.
Вот такое налепил:
function main(){  ...Здравствуйте, Андрей!
Как-то совершенно не обладаю знаниями в программировании(( Однако понимаю важность и необходимость того что вы сделали))
В общем, объединил немножко инфо из ваших кодов, но выдает ошибку.
Цель попасть в ТОП вверху страницы и одновременно не превысить бюджет 3 доллара за запрос.
Вот такое налепил:
function main(){
var kw1 = AdWordsApp.keywords()
.withCondition('CampaignName = «Camp1_Kiev» ’)
.get();
while(kw1.hasNext()){
var kw2 = kw1.next();
var kw3 = kw2.getTopOfPageCpc();
if (kw33){
kw3=3;}
kw2.setMaxCpc(kw3);}}
И вот такую ошибку выдает:
One of the conditions in the query is invalid. (line 2)
Кстати, такую же ошибку выдает если вставить код, который описан у вас.
Прошу, по возможности, помочь устранить эту ошибку(На всякий случай, запускаю скрипт в приостановленной кампании - может в этом проблема).
Благодарю. -
Занимаюсь adwords 3 месяца.
Ранее ставки назначал с использованием стратегии Целевое положение на странице поиска "Над результатами поиска".
Все было хорошо, но постепенно средняя позиция с 3-4 приблизилась к 1 и стал для меня очень дорогой клик.
Решил попробовать размещаться в вверху страницы, но на 2-3 позиции.
Так как ключевых слов около 2 тыс., и вруную ставки назначать нет времени, был выбран вариант попробовать скрипты.
Занимаюсь adwords 3 месяца.
Ранее ставки назначал с использованием стратегии Целевое положение на странице поиска "Над результатами поиска".
Все было хорошо, но постепенно средняя позиция с 3-4 приблизилась к 1 и стал для меня очень дорогой клик.
Решил попробовать размещаться в вверху страницы, но на 2-3 позиции.
Так как ключевых слов около 2 тыс., и вруную ставки назначать нет времени, был выбран вариант попробовать скрипты.
Для чего поставил Ваш скрипт.
Благодарю за скрипт.
Подправил его немного для удержания вверху страницы, заменив
keyword.getFirstPageCpc() на keyword.getTopOfPageCpc() и добавив пару ограничений на величину макс. и мин. ставки;
Работает сам скрипт хорошо, математика верная.
Только возникли следующие вопросы:
1. начал использовать скрипт с Оцен. ставка для показа вверху страницы + 5%, как у Вас в примере.
Обнаружил, что значительная часть ключевых слов просто перестала показываться, пишет нехватает ставки или качества.
Качество по этим объявлениям от 7 до 10.
Техподдержка сказала, что особо опираться на Оцен. ставка для показа вверху страницы, не нужно, так как это цифра рассчитанная для всего мира.
У меня региональная реклама услуг, таргетинг на строго 1 город, только на людей из целевого местоположения, для чего мне ориентир для всего мира???
Ладно, думаю, буду поднимать процент с 5 далее.
За неделю дошел до Оцен. ставка для показа вверху страницы + 40%.
И всё равно вчера почти все показы внизу страницы, средняя позиция 4,5 ((((.
Повторяю, качество от 7 до 10, ctr средний 15%.
Конкуренция по моим запросам низная, зачастую, даже не все блоки заполнены объявлениями.
У меня заполнены все доступные уточнения: адрес, номер телефона, доп ссылки, уточнения.
У конкурентов макс. по 1-2 уточнения.
Не понимаю выдачи((((
Поясните, что может это значить?
И как правильно размещаться на 2-3 строке объявлений над результатами поиска???-
Николай, Вы можете написать скрипт, который будет брать статистику по средней занимаемой позиции для каждого ключевика за указанный период, и на основе этого назначать ставку.
AdWords не очень хорошо показывает низкочастотные запросы, иногда для этого приходится просто ломить ставку.
Также Вы можете с помощью скрипта собирать статистику о проценте выигранных показов, и на основе этих данных назначать ставку, а если у слова низкий показатель качества или мало показов, то просто ло...Николай, Вы можете написать скрипт, который будет брать статистику по средней занимаемой позиции для каждого ключевика за указанный период, и на основе этого назначать ставку.
AdWords не очень хорошо показывает низкочастотные запросы, иногда для этого приходится просто ломить ставку.
Также Вы можете с помощью скрипта собирать статистику о проценте выигранных показов, и на основе этих данных назначать ставку, а если у слова низкий показатель качества или мало показов, то просто ломить по нему ставку.
Извините за поздний ответ.
-
-
Здравствуйте. Спасибо за статью. А как получить величину расчетной ставки для первой позиции? В справке такой функции не нашел((
-
Такой возможности нет, но Вы можете задавать ставку для показа вверху страницы и к ней применять корректировки.
-
У меня задача - держать позицию до 1.5. Можно изменить ваш скрипт так, чтобы он повышал ставку, если средняя позиция ниже 1.5. Но тогда проще правила использовать, как мне кажется.
-
Вы можете добавить условие, по которому будет отдельно повышаться ставка для слов с позицией ниже 1,5. В справке AdWords Scripts посмотрите, для этого есть отдельный метод.
-
// Позиция рекламного объявления которую пытаемся занять.
var TARGET_AVERAGE_POSITION = 3;
// Когда позиция обьявления будет между TOLERANCE и TARGET_AVERAGE_POSITION,
// Ее ставка не будет изменена.
var TOLERANCE = 0.1;
// Значение для корректировки ставки (1.05 = 5%).
var BID_ADJUSTMENT_COEFFICIENT = 1.05;
function main() {
raiseKeywordBids();
lowerKeywordBids(&...// Позиция рекламного объявления которую пытаемся занять.
var TARGET_AVERAGE_POSITION = 3;
// Когда позиция обьявления будет между TOLERANCE и TARGET_AVERAGE_POSITION,
// Ее ставка не будет изменена.
var TOLERANCE = 0.1;
// Значение для корректировки ставки (1.05 = 5%).
var BID_ADJUSTMENT_COEFFICIENT = 1.05;
function main() {
raiseKeywordBids();
lowerKeywordBids();
}
function raiseKeywordBids() {
// Условие для увеличения ставки: Средняя позиция больше (хуже) чем
// TARGET_AVERAGE_POSITION + TOLERANCE
var keywordsToRaise = AdWordsApp.keywords()
.withCondition("Status = ENABLED")
.withCondition("AveragePosition > " + (TARGET_AVERAGE_POSITION + TOLERANCE))
.orderBy("AveragePosition ASC")
.forDateRange("LAST_7_DAYS")
.get();
while (keywordsToRaise.hasNext()) {
var keyword = keywordsToRaise.next();
keyword.setMaxCpc(keyword.getMaxCpc() * BID_ADJUSTMENT_COEFFICIENT);
}
}
function lowerKeywordBids() {
// Условия для снижения ставки: Ctr больше чем 1% и
// средняя позици лучше (меньше) чем TARGET_AVERAGE_POSITION - TOLERANCE
var keywordsToLower = AdWordsApp.keywords()
.withCondition("Ctr > 0.01")
.withCondition("AveragePosition < " + (TARGET_AVERAGE_POSITION - TOLERANCE))
.withCondition("Status = ENABLED")
.orderBy("AveragePosition DESC")
.forDateRange("LAST_7_DAYS")
.get();
while (keywordsToLower.hasNext()) {
var keyword = keywordsToLower.next();
keyword.setMaxCpc(keyword.getMaxCpc() / BID_ADJUSTMENT_COEFFICIENT);
}
}
-
-
-
-
-
Здравствуйте! А как-то можно допилить данный замечательный скрпит, чтобы он ориентировался на конкретно указанные позиции?
-
// Позиция рекламного объявления которую пытаемся занять.
var TARGET_AVERAGE_POSITION = 3;
// Когда позиция обьявления будет между TOLERANCE и TARGET_AVERAGE_POSITION,
// Ее ставка не будет изменена.
var TOLERANCE = 0.1;
// Значение для корректировки ставки (1.05 = 5%).
var BID_ADJUSTMENT_COEFFICIENT = 1.05;
function main() {
raiseKeywordBids();
lowerKeywordBids(&...// Позиция рекламного объявления которую пытаемся занять.
var TARGET_AVERAGE_POSITION = 3;
// Когда позиция обьявления будет между TOLERANCE и TARGET_AVERAGE_POSITION,
// Ее ставка не будет изменена.
var TOLERANCE = 0.1;
// Значение для корректировки ставки (1.05 = 5%).
var BID_ADJUSTMENT_COEFFICIENT = 1.05;
function main() {
raiseKeywordBids();
lowerKeywordBids();
}
function raiseKeywordBids() {
// Условие для увеличения ставки: Средняя позиция больше (хуже) чем
// TARGET_AVERAGE_POSITION + TOLERANCE
var keywordsToRaise = AdWordsApp.keywords()
.withCondition("Status = ENABLED")
.withCondition("AveragePosition > " + (TARGET_AVERAGE_POSITION + TOLERANCE))
.orderBy("AveragePosition ASC")
.forDateRange("LAST_7_DAYS")
.get();
while (keywordsToRaise.hasNext()) {
var keyword = keywordsToRaise.next();
keyword.setMaxCpc(keyword.getMaxCpc() * BID_ADJUSTMENT_COEFFICIENT);
}
}
function lowerKeywordBids() {
// Условия для снижения ставки: Ctr больше чем 1% и
// средняя позици лучше (меньше) чем TARGET_AVERAGE_POSITION - TOLERANCE
var keywordsToLower = AdWordsApp.keywords()
.withCondition("Ctr > 0.01")
.withCondition("AveragePosition < " + (TARGET_AVERAGE_POSITION - TOLERANCE))
.withCondition("Status = ENABLED")
.orderBy("AveragePosition DESC")
.forDateRange("LAST_7_DAYS")
.get();
while (keywordsToLower.hasNext()) {
var keyword = keywordsToLower.next();
keyword.setMaxCpc(keyword.getMaxCpc() / BID_ADJUSTMENT_COEFFICIENT);
}
} -
Вы можете использовать один из методов получения ставки, чтобы занимать либо верхнюю часть страницы, либо нижнюю часть:
keyword.getFirstPageCpc(); keyword.getTopOfPageCpc();
Далее можно полученную ставку увеличить или уменьшить на заданный Вами коэффициент, например, подняли на 4 руб. Далее смотрим статистику в течение 3-4 дней и понимаем, что показываемся на позиции 2,3. Чтобы показаться ближе к третьей строчке изменим наш коэффициент с 4 руб до 2 и снова посмотри...Вы можете использовать один из методов получения ставки, чтобы занимать либо верхнюю часть страницы, либо нижнюю часть:
keyword.getFirstPageCpc(); keyword.getTopOfPageCpc();
Далее можно полученную ставку увеличить или уменьшить на заданный Вами коэффициент, например, подняли на 4 руб. Далее смотрим статистику в течение 3-4 дней и понимаем, что показываемся на позиции 2,3. Чтобы показаться ближе к третьей строчке изменим наш коэффициент с 4 руб до 2 и снова посмотрим. Хотите занять первую строчку - увеличьте коэффициент и снова посмотрите на статистику занимаемой позиции. Так в несколько шагов можно закрепиться на нужной позиции.
-
-
Получается биддер ставит мин.цену для показа на первой странице?
А если задача показываться на первой вверху, какое условие нужно добавить/заменить, при этом ограничив ставку в 100 рублей?
Чем этот биддер отличается от стратегии в разделе Общая библиотека >Стратегии назначения ставок >Вверху первой страницы результатов поиска
???-
Станислав, чтобы добавить ограничение для ставки, - добавьте условие, а для показов наверху нужен метод .getTopOfPageCpc();
как-то так:
function main(){
var kw1 = AdWordsApp.keywords()  ...Станислав, чтобы добавить ограничение для ставки, - добавьте условие, а для показов наверху нужен метод .getTopOfPageCpc();
как-то так:
function main(){
var kw1 = AdWordsApp.keywords()
.withCondition('CampaignName = «Имя кампании»’)
.get();
while(kw1.hasNext()){
var kw2 = kw1.next();
var kw3 = kw2.getTopOfPageCpc();
if (kw3>100){
kw3=100;}
kw2.setMaxCpc(kw3);}} -
Аналогично интересует данный вопрос.
-
В целом такой скрипт повторяет названную выше стратегию, но имеет ряд преимуществ: Вы сами настраиваете режим выполнения, - хоть каждый час, стратегия это не гарантирует. Вы можете в ручную выполнить скрипт в любой момент. Вы можете указать множество дополнительный условий и критериев отбора ключевых слов.
-
-
-
Можно ли запустить скрипт сразу на несколько кампаний? Если, да то как изменить код нужно?
-
Мы сделали вот таким образом (спасибо автору скрипта):
var campagins = ["Name1", "Name2"];
for (var i = 0; i < campagins.length; i++) {
var campagin = campagins[i];
var kw1 = AdWordsApp.keywords()
.withCondition...Мы сделали вот таким образом (спасибо автору скрипта):
var campagins = ["Name1", "Name2"];
for (var i = 0; i < campagins.length; i++) {
var campagin = campagins[i];
var kw1 = AdWordsApp.keywords()
.withCondition('CampaignName = "' + campagin + '"')
.get();
while(kw1.hasNext()){
var kw2 = kw1.next();
var kw3 = kw2.getFirstPageCpc();
if (kw3
-
"Например, вчера для конкретного ключевого слова для показов вверху первой страницы была ставка 50 рублей (и система выставила это значение), а сегодня уже 30 рублей, но наша ставка так и останется равной 50 рублям. Вы ведь не хотите переплачивать 20 рублей за каждый дополнительный клик?"
Разве это не аукцион второй цены?
При ставке в 50 рублей стоимость клика должна быть 30р+минимальная...-
Гость, ставка не останется равной 50 р, если скрипт работает. Он не только повышает, но и понижает ставку до нужного уровня. Вы можете настроить выполнение скрипта каждый час. В итоге ставка будет постоянно подгоняться так, чтобы Вы переплачивали не более того шага, который сами установите.
-
Я не понимаю, почему будет переплата?
-
Вот именно. Это аукцион GSP, в котором ты платишь ставку рекламодателя ниже+1 цент, никакой переплаты быть не должно.
-
Извините, не совсем так выразился. Вы, конечно, правы. Посмотрите, пожалуйста, на наглядную схему аукциона: yadi.sk/d/M5CkY8gUp3WNw
Ставку системы повышаем для удержания в блоке или на какой-то позиции; мы можем переплатить, если завысим ставку и начнем показываться выше намеченной позиции, и у рекламодателя, находящегося выше, будет низкий показатель качества.
-
-
-
-
-
Добрый день. Спасибо за скрипт. Есть несколько вопросов.
как задать максимальную ставку?
Т.е если цена больше 50 рублей то отключить фразу
Если при следующем запуске цена ниже 50 рублей то включить.
И еще вопрос: Если при след. запуске цена клика уменьшится то скрипт тоже уменьшит цену?-
Александр, спасибо за вопрос!
При каждом выполнении скрипта ставка будет изменяться до значения, определенного AdWords. Если ставка для входа в блок уменьшилась, то и скрипт уменьшит старое значение, - в этом преимущество перед автоматическими правилами.
Максимальную ставку можете задать дополнительным условие типа:
if (a>50){
a=45;}
То есть, если AdWords для блока наметил ставку более 50р, то скрипт наз...Александр, спасибо за вопрос!
При каждом выполнении скрипта ставка будет изменяться до значения, определенного AdWords. Если ставка для входа в блок уменьшилась, то и скрипт уменьшит старое значение, - в этом преимущество перед автоматическими правилами.
Максимальную ставку можете задать дополнительным условие типа:
if (a>50){
a=45;}
То есть, если AdWords для блока наметил ставку более 50р, то скрипт назначит 45.
Если Вы хотите отключать ключевики, которые будут иметь ставку выше установленного порога, то делается это с помощью метода - keyword.pause(). В коде это также проще всего сделать через условие:
if (a>17){
b.pause();}
Иначе говоря, когда устанавливаемая ставка более 17р, мы останавливаем это ключевое слово.
Чтобы включать остановленные фразы можно проверить разную логику, но самая простая, наверно, - это сначала включать все остановленные фразы, а потом останавливать те, которые больше установленного ограничения:
if (b.isPaused(true)){
b.enable();}
Первый метод keyword.isPaused() проверяет остановлено ли ключевое слово (это логическая переменная). Второй метод keyword.enable() запускает ключевик.
В итоге приведенный в статье скрипт может выглядеть следующим образом:
function main(){
var kw1 = AdWordsApp.keywords()
.withCondition('CampaignName = «Имя кампании»’)
.get();
while(kw1.hasNext()){
var kw2 = kw1.next();
var kw3 = kw2.getFirstPageCpc();
if (kw350){
kw2.pause();}
kw2.setMaxCpc(kw3*1.05);}}
Если необходимо отключать и включать фразы.-
Еще раз спасибо за ответ.
Как вывести в логи изменений и ошибки?
Примерно накидал
Logger.log("Ставка установлена " + kw3);
Но не знаю как вывести к какой фразе установлена цена. и как задать несколько РК, через запятую?
Т.е так ?
.withCondition('CampaignName = "Название 1, Название 2"')
Или так работать не будет?
-
-