new

Как настраивать конверсионные стратегии: работа над ошибками. Читайте в спецпроекте

5323 https://ppc.world/uploads/images/aa/33/58c91f9287dab-rabstol-net-chess-07.jpg 2021-12-06 Google Ads ppc.world 160 31

Скрипт для проверки конфликтующих минус-слов в Google Ads

Как автоматизировать проверку конфликтующих ключевых слов и минус-слов в Google Ads, рассказывает Никита Кравченко, ведущий специалист по платному трафику в eLama.

Этот материал был написан в 2017 году. Мы обновили его в декабре 2021 года. Приятного чтения!

Минус-слова в контекстной рекламе нужны для того, чтобы реклама не появлялась по нерелевантным поисковым запросам. Однако иногда минус-слова могут мешать показу объявлений в нужные моменты и снижать эффективность рекламных кампаний. Так, в Google Ads, в отличие от Яндекс.Директа, минус-слово блокирует показ объявлений, даже если такое слово есть в ключевой фразе.

Пример. В группу объявлений добавлена ключевая фраза подбор авто бесплатный. Минус-слово, добавленное на уровне кампании или группы объявлений, — бесплатный. Google Ads не покажет объявление по запросу подбор авто бесплатный из-за конфликта минус-слова и ключевика.

Google Ads проверяет подобные конфликты и выводит уведомление в том случае, если минус-слово добавлено на уровне группы объявлений или на уровне кампании.

Но проблема возникает, когда минус-слова подключаются к кампании с помощью списков. В таком случае Google Ads не обнаруживает конфликт автоматически, показ объявления блокируется, а рекламодатель теряет целевой трафик.

Что делать?

Даже если вы не используете списки минус-слов, проверьте конфликты хотя бы раз. Не исключено, что однажды вы просто пропустили оповещение Google Ads.

Если вы работаете со списками, то вам необходимо проверять все конфликты ключевых фраз и минус-слов каждый раз, когда вы добавляете в списки новые минус-слова. Особенно это актуально, если вы подключаете общие списки минус-слов без тщательной проверки, а также если с аккаунтом работают несколько человек.

Автоматизировать такую работу может скрипт поиска конфликтующих минус-слов в Google Ads.

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

Принцип работы скрипта

Скрипт получает список всех используемых в аккаунте ключевых фраз и минус-слов и проверяет их на конфликты. Так, скрипт анализирует минус-слова на уровне кампаний, групп объявлений и списков, которые используются в кампаниях.

Обнаружив конфликт, скрипт вносит информацию в таблицу и отправляет оповещение на email адресату. Скрипт не заполняет таблицу и не отправляет сообщение, если не находит конфликты.

Важное дополнение: в Google Ads можно добавить минус-слова в разных типах соответствия. Поэтому некоторые минус-слова не вызывают блокировку ключевиков. Если тип соответствия минус-слова у́же, чем у ключевого слова, то оно не блокируется, ведь ключевик соответствует большему набору поисковых запросов.

Так, минус-слово [компании по подбору авто] с точным соответствием не блокирует обычное ключевое слово с широким соответствием компании по подбору авто. К примеру, при таких настройках показ рекламы произойдет по запросу компания по подбору авто в москве

В то же время минус-слово компании по подбору авто с широким соответствием блокирует все ключевые слова, содержащие слова компании, по, подбору, авто в любом порядке, вне зависимости от их типа соответствия.

Настройка и выполнение скрипта

1. Для начала создайте копию таблицы. Откройте шаблон таблицы, нажмите «Файл» — «Создать копию», введите понятное вам название и нажмите ОК.

2.  Зайдите в ваш рекламный аккаунт Google Ads и перейдите на страницу скриптов.

3. Для создания нового скрипта нажмите на знак плюса.

3. Дайте понятное название новому скрипту и пройдите авторизацию.

4. Скопируйте и вставьте скрипт по ссылке.

5. Найдите и измените в скрипте

var SPREADSHEET_URL: "[YOUR_URL]";

на

var SPREADSHEET_URL: "https://docs.google.com/...";

где https://docs.google.com/... — это адрес таблицы, которую вы скопировали в первом пункте.

Также измените RECIPIENT_EMAILS. Там нужно написать адрес email, на который будет отправлен отчет в случае, если скрипт найдет ошибки.

Далее нужно проверить и запустить скрипт.

6. Проверить результат работы скрипта можно в «Журналах». Для этого нажмите на кнопку «Журналы».

В последней строке будет указано No conflicts were found, если конфликты не были обнаружены, и Conflicts were found и URL-адрес таблицы, если есть конфликты:

7. Можете зайти в свою почту и проверить, пришел ли отчет. Или можете сразу перейти на страницу с таблицей и проверить, появились ли там данные. Если письма и данных нет, значит, конфликтов не обнаружено. Если же конфликты были, то вы увидите их в таблице.

Столбец Negative Keyword — минус-слово, которое конфликтует с ключевиком.

Blocked keywords — ключевые фразы, показ которых заблокирован.

Campaign — кампания, в которой есть конфликтующие слова.

Ad Group — название группы объявлений, в которой блокируется ключевое слово.

8. Вы даже можете проверить, действительно ли происходит блокировка ключевого слова из-за конфликта. Для этого зайдите в «Инструменты» — «Предварительный просмотр и диагностика объявлений». Выберите нужный регион и язык и введите любое ключевое слово из таблицы.

9. Если конфликт обнаружен, перейдите в нужную кампанию и группу объявлений, где есть конфликт, и внесите изменения — удалите минус-слово на уровне кампании или группы объявлений. Также не забудьте проверить созданные списки минус-слов. Когда исправите все ошибки, повторите выполнение скрипта для проверки конфликтов.

Проверка отдельных кампаний

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

1. Создайте новый ярлык для той кампании, которую хотите проверить. Для этого зайдите на страницу кампаний. Выделите нужную кампанию и нажмите «Ярлык» — «Создать ярлык».

2. Дайте ярлыку простое название. Оно появится в столбце «Ярлыки». В примере ярлык называется podbor.

3. Зайдите в скрипты и измените скрипт проверки конфликтов. Найдите строку CAMPAIGN_LABEL и добавьте в нее название ярлыка кампании. Нажмите «Сохранить».

Расписание работы скрипта

Вы можете создать особое расписание проверки ваших рекламных кампаний на конфликты минус-слов. Это особенно актуально, если вы не один работаете с аккаунтом. Для создания расписания выполнения скрипта зайдите на страницу со скриптами и нажмите на «Частота» рядом с нужным скриптом.

Далее выберите, как часто и в какое время вы хотите выполнять скрипт. Он будет запускаться автоматически. В случае, если будут найдены конфликты, вы получите уведомление на email и сможете внести изменения.

На этом всё. Успехов вам!

Перейти на сайт

Комментарии 46

Авторизуйтесь, чтобы оставить комментарий.

  • Станислав

    > Но проблема возникает, когда минус-слова подключаются к кампании с помощью списков. О каких списках идет речь? Имеется ввиду добавление минус-слов через excel или editor?

  • Никита Кравченко

    В аккаунте Google AdWords можно создавать общие списки минус-слов для использования их в кампаниях. Для того, чтобы создать такой список зайдите в "Общую библиотеку" - "Минус-слова кампании" - "+ СПИСОК". Добавьте в новый список минус-слова и сохраните его. Применить список к нужным кампаниям можно на той же странице или во вкладке "Ключевые слова" - "Минус-слова" - Уровень кампании - Списки - + СПИСОК.

  • Владимир Молчанов

    Спасибо большое! Пользуемся:)

  • ppc.world

    Пожалуйста) Будем продолжать делиться с вами полезными материалами)

  • Павел

    При выполнения скрипта пишет: Invalid reporting query: KEYWORDS_PERFORMANCE_REPORT. (line 125) Как поправить?

  • Никита Кравченко

    Павел, запускаете скрипт для обычного или управляющего аккаунта?

  • Геннадий Высоцкий

    Спасибо! Как раз скрипт проверяет конфликт))) Станиславу ниже - нет, списки минус слов что в "общей библиотеке"

  • Геннадий Высоцкий

    Спасибо! Как раз скрипт проверяет конфликт))) Станиславу ниже - нет, списки минус слов что в "общей библиотеке"

  • Геннадий Высоцкий

    еще бы доработать таблицу, добавить туда колонку "название списка откуда взято минус слово"

  • Сергей Невьянский

    Никита, добрый день. Сделал полностью весь вышеуказанный порядок действий. Несколько дней назад скрипт работал. Не могу разобраться с возникшей сегодня проблемой и её причиной. Подскажите пожалуйста. Выдаёт "Статус: Не завершено: Ошибка пользователя" А в журнале "Downloading keywords performance report Invalid reporting query: UNSUPPORTED_VERSION: RequestError.UNSUPPORTED_VERSION. (line 125)"

  • Виталий Кулинич

    Добрый день! Скрипт поработал пару дней. В дальнейшем выдает ошибку: UNSUPPORTED_VERSION: RequestError.UNSUPPORTED_VERSION. (line 125)" либо 184 строка Скрипт глючный?

  • Виталий Кулинич

    Добрый день! Скрипт поработал пару дней. В дальнейшем выдает ошибку: UNSUPPORTED_VERSION: RequestError.UNSUPPORTED_VERSION. (line 125)" либо 184 строка Скрипт глючный?

  • Геннадий Высоцкий

    Раньше работал, сейчас уже нет. Ошибка та же, что у Павла ниже: Invalid reporting query: UNSUPPORTED_VERSION: RequestError.UNSUPPORTED_VERSION. (line 125) И если будете править, очень будет хорошо если добавите в таблицу колонку с названием списка минус слов где находится слово из за которого возникает конфликт, а то когда их много прихъодится долго искать. Просьба как поправите написать об этом (очень нужно сделать проверку) vvgena@gmail.com

  • Никита Кравченко

    Коллеги, всем привет! Спасибо за комментарии. Действительно скрипт перестал работать из-за обновления версии API. Для того, чтобы заработало нужно немного изменить код скрипта. А именно закомментить строку 76. Должно быть вот так: var REPORTING_OPTIONS = { // Comment out the following line to default to the latest reporting version. // apiVersion: 'v201605' }; После этого запускайте, должно работать )

  • Никита Кравченко

    Сам скрипт, приведенный в статье, изменил.

  • Владислав Романов

    Здравствуйте! В чем может быть проблема? Делаю с основного аккаунта и после выполнения пишет: "Не завершено. Ошибка пользователя." You do not have permissions to access the requested document. (line 294) Подскажите, пожалуйста, в чем может быть причина? Спасибо

  • Никита Кравченко

    Владислав, полагаю, что Вы не скопировали таблицу в свои Гугл доки, а вставили в скрипт ссылку на расшаренную таблицу в статье.

  • Бриллиант Британец

    Добрый день Никита. Помогите пожалуйста, не могу запустить скрипт... В журнале пишет Error: Please specify a valid Spreadsheet URL. You can find a link to a template in the associated guide for this script. (line 599) Как исправить ?

  • Никита Кравченко

    Добрый день! Перепроверьте пункт 5 статьи — добавление в скрипт своей таблицы. Нужно скопировать таблицу из статьи, добавить в свой Гугл Доки и уже эту ссылку вставлять в скрипт. То есть у Вас должен быть доступ к редактированию документа.

  • Валерия Н

    Добрый день, Подскажите, пожалуйста, по какой причине может возникать ошибка: Invalid argument: url (line 602) Строка: return SpreadsheetApp.openByUrl(spreadsheeturl); Заранее спасибо!

    • Никита

      Валерия, добрый день! Проблема в таблице, которую вы создали в Google Docs. Проверьте этот пункт: таблицу нужно скопировать, создать у себя на том же аккаунте, что и AdWords, вставить ссылку на нее в скрипт.

  • Сергей

    Добрый день. Коллеги, спасибо за скрипт. Только 1 раз на 1 аккаунте получилось его выполнить. Сейчас все время долго выполняется, а потом выдает опять ошибку: "Время ожидания истекло". Настройки все верные. Такое наблюдается при любом режиме проверки.

    • Никита

      Сергей, добрый день! Сегодня перепроверил скрипт в трех разных аккаунтах — работает без сбоев. Сложно сказать в чем проблема у вас. Попробуйте создать скрипт заново по инструкции, начиная с новой таблицы в Гуглодоках. При первой активации скрипта выйдите из всех других аккаунтов Google в браузере.

    • Никита

      Сергей, кстати, по времени ожидания. Ошибка может быть, если очень большой объем ключевых фраз >250 000 и/или минус-слов >50 000. Может помочь разбивка скрипта с помощью ярлыков и проверка по кампаниям отдельно.

  • Сергей

    Спасибо за ответ. У меня еще 1 вопрос. Из центра клиентов скрипт можно запускать?

    • Никита

      Сергей, да, но скрипт нужно немного переделать. В нем есть возможность выбирать отдельные аккаунты или кампании, если нужно. В остальном все настройки те же. Ссылка: https://goo.gl/1bKtmV

  • Сергей

    На уровне МСС выдает такую ошибку: Exception: The label Новый аккаунт Котлы does not exist. (line 94)

    • Никита

      Сергей, значит нет такого ярлыка среди ваших аккаунтов.

  • Сергей

    Спасибо за уточнение. При прописывании Ярлыков для нескольких кампаний, в каком виде это должно быть правильно представлено? Вот так:? CAMPAIGN_LABEL: '"Кампания 1, Кампания 2",

    • Никита

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

  • Сергей

    Как я писал выше, я проверил. минус слов 50 000 не наберется. И ключевых слов тоже. К тому же, почему в статье указано что этот показатель можно менять? Ведь гугл имеет ограничение по умолчанию.

  • Сергей

    На уровне MCC работает. А на уровене аккаунта - нет. проверял в разных браузерах, Какие еще причины могут быть?

  • Игнат Сосновский

    Здравствуйте! Все сделали, как по инструкции. Скрипт выдает ошибку: Статус: Не завершено: Ошибка пользователя

    • Никита Кравченко

      Игнат, добрый день! С таким не сталкивался. Попробуйте повторить выполнение скрипта. На какой строке останавливается?

      • Игнат Сосновский

        Никита, Downloading keywords performance report Building cache and populating with keywords Downloading campaign negatives report Populating cache with negative keyword lists Finding negative conflicts You do not have permissions to access the requested document. (line 294)

        • Никита Кравченко

          Игнат, проверьте, что вы указали в SPREADSHEET_URL ссылку именно на скопированный документ в свои гугл доки, а не ссылку на документ из статьи. И проверьте, что у пользователя, который запускает скрипт, есть доступ к редактированию этого документа в гугл доках. Если не поможет, пишите.

  • Оля Лавренцова

    Здравствуйте. Выдает ошибку Invalid argument: url (line 602) Ссылка на копию таблицы. Таблица в том же аккаунте. Открыла к ней уже вообще полный доступ для редактирования всех подряд.

  • Оля Лавренцова

    Опытным путем установлено, что ошибка возникает при отсутствии закрывающего / в ссылке на таблицу.

    • Никита Кравченко

      Оля, спасибо. Не замечал такого сбоя, на моих проектах работает без дополнительного слеша в ссылке.

      • Владимир Трофимов

        Никита, Здравствуйте. ошибка Invalid argument: url (line 602), таблица скопирована, доступ дан. Таблица на том же аккаунте что и Эдвордс, в чем может быть проблема?

        • Никита Кравченко

          Владимир, добрый день! Судя по строке, скорее всего ошибка связана с таблицей. Может url не тот указан в скрипте. Точно сказать не могу, попробуйте повторить весь процесс еще раз с другой таблицей, другой ссылкой и тд.

  • Яна Громова

    Здравствуйте. Минут через 20 после запуска скрипта в статусе появляется ошибка: Остановлено (истекло время ожидания) Это история журнала: Downloading keywords performance report Building cache and populating with keywords Downloading campaign negatives report Populating cache with negative keyword lists Finding negative conflicts Exceeded maximum execution time Exceeded maximum execution time Запускал скрипт и для всего аккаунта и для отдельной кампании. Всё равно появляется эта ошибка. Где найти в коде, как увеличить время, не знаю. Подскажите пожалуйста, скрипт действительно очень полезный. Позже запустил скрипт для одной самой маленькой кампании, сработало. В общем нужно увеличить время ожидания, чтобы скрипт работал для всего аккаунта, подскажите пожалуйста, как это сделать.

    • Никита Кравченко

      Добрый день! Не сталкивался с такой проблемой. В стандартном коде увеличить тайм лимит нельзя. Я бы посоветовал вам разбить рекламные кампании на группы ярлыками и создать несколько скриптов для разных ярлыков. Это может решить проблему. Поищу способы увеличить время работы скрипта, если найду, вернусь сюда с ответом.

  • Яна Громова

    Спасибо, буду ждать. Просто в аккаунте есть огромные кампании, я пробовал выполнять скрипт по ним отдельно с помощью ярлыков, выскакивала та же ошибка.

  • Кирилл Ткачук

    21.08.2019 14:48:48 Downloading keywords performance report 21.08.2019 14:48:48 Building cache and populating with keywords 21.08.2019 14:48:49 Downloading campaign negatives report 21.08.2019 14:49:02 Populating cache with negative keyword lists 21.08.2019 14:49:24 Finding negative conflicts Вот выдает проблему, сделал все правильно 21.08.2019 14:52:00 The number of columns in the data does not match the number of columns in the range. The data has 6 but the range has 7. (file Code.gs, line 336)