Блог про интернет-маркетинг для бизнеса

PPC

Как научиться читать скрипты Google AdWords

272
1
7
67

Как правило, специалисты по контекстной рекламе, у которых нет опыта в программировании, просто копируют готовые скрипты из различных источников, совершенно не понимая, как они работают. Не надо так. Тем более, что простая кастомизация может сделать скопированный скрипт гораздо полезнее.

Что такое скрипт AdWords

По сути это фрагмент кода на языке JavaScript. Скрипты AdWords позволяют автоматизировать рутинные и монотонные процессы. Каждый скрипт состоит из функций, переменных, объектов, сущностей, селекторов, итераторов и других элементов.

Что делают функции

Каждый скрипт начинается с записи функций, это обязательная часть кода. Функции запускают задачу или действия, которые будут повторяться постоянно.

Функции легко распознать по термину «function», за которым стоит название функции и пустые круглые скобки «()».

Например:

function main() {фрагмент кода}

Часто в скриптах встречаются такие функции:

  • function addAdGroup() {фрагмент кода} — добавить группу объявлений;
  • function setCampaignBudget() {фрагмент кода} — установить бюджет кампании;
  • function pauseKeywordInAdGroup() {фрагмент кода} — остановить работу ключевого слова в группе объявлений.

В принципе, минимального знания английского достаточно, чтобы это понять.

Скобки могут оставаться пустыми или содержать параметры, разделенные запятыми. Фрагмент кода всегда находится в фигурных скобках.

Как работают переменные

Как правило, после функции следует запись вроде «var campaign». «Var» — сокращение от variables, «переменные» в дословном переводе. Это контейнеры, в которых содержатся значения данных. Переменные обращаются к объектам и сущностям в AdWords.

Переменную для каких-то определенных данных, например, ключевых слов, можно называть как угодно: «KW», «keywords». Главное, не менять названия в разных фрагментах скрипта, иначе ничего не сработает.

Что такое объекты

Это основа скрипта. Объекты по иерархии находятся выше сущностей (отдельным сущностями являются, например, кампании, группы объявлений) и по сути представляют из себя их коллекцию. В скриптах AdWords четыре основных объекта: AdWordsApp, SpreadsheetApp, MccApp, UrlFetchApp.

Для основных скриптов достаточно использовать только объект AdWordsApp. Когда вы используете этот объект, то как бы сообщаете скрипту, что нужно посмотреть в AdWords, чтобы найти нужные данные.

Если говорить о других объектах, то MccApp работает на уровне Центра клиентов AdWords (МСС); SpreadsheetApp позволяют использовать таблицы Google для отчетов, а UrlFetchApp позволяет скриптам использовать данные сторонних сервисов и приложений.

Что такое сущности

Объекты состоят из сущностей. Для AdWordsApp это:

  • аккаунт (Account);
  • кампании (Campaigns);
  • группы объявлений (Ad Groups);
  • ключевые слова (Keywords);
  • ярлыки (Labels);
  • расписания объявлений (Ad schedules);
  • бюджеты (Budgets);
  • таргетинг (Targeting).

Возьмем переменную «keywords» — она связана с сущностью «keywords» в объекте AdwordsApp. Чтобы составить одно выражение — строку скрипта, разместим между ними знак равенства:

var keywords = AdWordsApp.keywords()

Мы указали скрипту на конкретную сущность — ключевые слова в AdWords. Но нужно еще выбрать конкретные ключевые слова в аккаунте, а для этого нужны селекторы.

Как работают селекторы

Селекторы служат для фильтрации и сортировки данных.

Чаще всего используются:

  • withCondition() — сортировка с условием;
  • forDateRange() — фильтрация за указанный период;
  • orderBy() — сортировка по результатам;
  • withLimit() — ограничивает количество возвращаемых объектов до указанного значения. Например, если нужно получить только 10 ключевых слов с самым высоким показателем качества.

Например, вот этот код:

var campaignSelector = AdWordsApp.campaigns ()
    .withCondition("CampaignStatus = 'ENABLED'")
.withCondition(“Clicks > 10”)
.withCondition(“Impressions > 100”)
   .forDateRange(“TODAY”);

Переводится так: выбрать активные кампании в аккаунте AdWords, которые получили более 10 кликов и 100 показов за сегодня.

Обратите внимание: при использовании нескольких условий .withCondition() скрипт сработает по принципу «и», а не «или». То есть необходимый объект должен соответствовать всем указанным условиям.

Как работают итераторы

Итераторы в скрипте — аналог команды «Идем дальше!». Они всегда идут в скрипте после селекторов и отвечают за то, чтобы скрипт без остановки двигался по аккаунту в поисках необходимого ему значения (или значений). Итераторы перебирают все варианты ключевых слов или любых других сущностей, пока не найдут то, что задано в условии.

В итераторе должен быть фрагмент next(), который при каждом обращении возвращает объект со свойствами:

  • value — если есть очередное значение;
  • done = false — если есть ещё значения;
  • done = true — в конце ответа.

Пример итератора:

while (keywords.hasNext()) {
var keyword = keywords.next()

Читаем скрипт AdWords

Этот простейший скрипт регулярно будет показывать десять ключевых слов с наибольшим количеством показов за вчерашний день

Этот простейший скрипт регулярно будет показывать десять ключевых слов с наибольшим количеством показов за вчерашний день.

Выводы

  1. Каждый скрипт состоит из функций, переменных, объектов, сущностей, селекторов, итераторов.
  2. Функции запускают задачу или действия, которые будут повторяться постоянно.
  3. Переменные содержат значения данных и обращаются к объектам и сущностям в AdWords.
  4. Для основных скриптов достаточно использовать только объект AdWordsApp. Когда вы используете этот объект, то как бы сообщаете скрипту, что нужно посмотреть в AdWords, чтобы найти нужные данные.
  5. Объекты в AdwordsApp состоят из сущностей: аккаунта, кампаний, ключевых слов и так далее.
  6. Селекторы служат для фильтрации и сортировки данных.
  7. Итераторы отвечают за то, чтобы скрипт без остановки двигался по аккаунту в поисках необходимого ему значения (или значений).

Если хотите, чтобы я в новой статье больше рассказал о фишках скриптов — методах, аутентификаторах и конструкторах, шерьте этот пост к себе на стену или пишите в комментариях.

Обнаружили ошибку? Выделите ее и нажмите Ctrl + Enter.

Комментарии (11)

  1. 0
    7 дней назад
    Спасибо. Было бы супер, если бы периодически делали разбор популярных скриптов.
  2. 0
    2 месяца назад

    В апреле как раз разрешили смотреть остаток по аккаунтам через скрипты. Сам только недавно узнал) 


    Новость с блога гугла - https://googleadsdeveloper.blogspot.ru/2017/04/support-for-budgetorders-and-userlists.html

  3. 1
    3 месяца назад
    Пожалуйста, продолжай!
  4. 1
    3 месяца назад

    Отлично! все становится на свои места в буйной моей головушке! А возможно запилить скрипт, который будет сигнализировать об окончании баланса?

    • 0
      Константин Одесский
      3 месяца назад

      Как такового доступа к остатку средств на аккаунтах Google API по моим данным не дает.

      Но, есть способ как контролировать остаток, если знаете точно, каков ваш бюджет. Специально для вас, Константин, скрипт:


      // Задайте желаемый бюджет

       var BUD=Например, 1000;

      function main() {

      if (AdWordsApp.currentAccount().getStatsFor("THIS_MONTH").getCost() < Порог для остатка, который вы желаете установить для оповещения, например 100) {

        MailApp.sendEmail("Ваша почта",

                      "Тема высылаемого сообщения(рекомендую указать название аккаунте, если их много",

                      "Текст письма, которое будет высылаться на почту");

      }

      }


      !Обязательно проверьте работоспособность и не доверяйте скриптам на 100%, это все-таки набор символов ;)

      • 0
        Евгений Глазырин
        3 месяца назад

        Прошу прощения, ошибся, вместо:

        if (AdWordsApp.currentAccount().getStatsFor("THIS_MONTH").getCost() < Порог для остатка, который вы желаете установить для оповещения, например 100) {

        Нужно:

        if (BUD - AdWordsApp.currentAccount().getStatsFor("THIS_MONTH").getCost() < Порог для остатка, который вы желаете установить для оповещения, например 100) {

  5. 0
    3 месяца назад
    Евгений, кажется, тебе не отвертеться от продолжения :)
  6. 1
    3 месяца назад

    Спасибо большое, очень не хватало такой статьи.

    Теперь все стало намного понятнее!)

  7. 1
    3 месяца назад

    Отлично! Нужно больше таких статей.

Чтобы оставить комментарий, необходимо авторизироваться

Подписаться

на самую полезную рассылку по интернет-маркетингу

Самое

обсуждаемое популярное читаемое