Как поднять CTR на 30% в Яндекс Директ, используя уникальные быстрые ссылки

И в несколько раз увеличить выручку за 3 месяца лишь с одного типа кампаний — генераторных объявлений по фиду.

Тестируя множество гипотез в контекстной рекламе, мы в Adgasm.io совместно с командой клиента смогли повысить выручку национального туроператора «Алеан» из Яндекс Директ в 2,7 раз год к году. Об одной сработавшей гипотезе расскажем в этой статье.

Начинаем тест

На сайте туроператора «Алеан» можно забронировать номера в отелях, санаториях, пансионатах России, Абхазии и стран СНГ. У каждого отеля есть уникальные характеристики. Например, у отеля Long Beach в Анапе они такие: 50 м от моря, 300 м до центра города, 400 м до парка. На территории находятся открытый бассейн, кафе, парковка.

Как поднять CTR на 30% в Яндекс Директ, используя уникальные быстрые ссылки

Сейчас в нашей базе около 7000 объектов размещения: отели, санатории, пансионаты, дома отдыха, глэмпинги и др.

Мы хотели сделать объявления для каждого объекта более персонализированными. Чтобы они несли пользу для клиентов и помогли создать представление об отеле уже на этапе клика.

Анна Сахарова
заместитель руководителя отдела цифрового маркетинга Alean.ru

Кампании для отелей приносят 50% выручки в контекстной рекламе, поэтому было важно добиться большей эффективности объявлений. Мы решили провести эксперимент с быстрыми ссылками. Выбрали несколько отелей с уникальными преимуществами, заполнили вручную элементы объявлений и запустили тестирование.

  • CTR до эксперимента: 11,17%
  • CTR после: 14,49%

На 30% увеличился CTR объявлений после внедрения уникальных быстрых ссылок.

Процент кликов по быстрым ссылкам по отношению к кликам по объявлению тоже вырос, хотя оставался небольшим:

  • До эксперимента: 0,42%
  • После: 0,58%

Эти результаты вдохновили на масштабирование эксперимента — мы решили внедрить уникальные быстрые ссылки во все объявления. Когда у клиента один или всего несколько объектов с особенностями, написать для них индивидуальное объявление несложно. Но если объектов более 7000, как у «Алеан», подбирать индивидуальные преимущества под каждое вручную — задача на грани безумия.

Поэтому мы озадачились вопросом, как в объявлении для каждого объекта подчеркнуть самые важные преимущества и при этом автоматизировать процесс. В результате мы использовали два инструмента — Excel и Python. В этой статье мы сосредоточимся на решении задачи с помощью Excel.

Дорабатываем фид К50

Чтобы сформировать индивидуальные объявления и расширения, нужен фид с учетом особенностей каждого объекта. Мы использовали сервис «К50: Генератор» и фид К50. Но для формирования уникальных расширений этот инструмент не подходит: у него нет системы, которая в случае отсутствия одного преимущества (например, бассейна), размещает другое преимущество (например, тренажерный зал), а при отсутствии тренажерного зала пишет о наличии SPA и так далее.

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

Анна Сахарова, заместитель руководителя отдела цифрового маркетинга Alean.ru
Фрагмент ТЗ на добавление новых атрибутов
Фрагмент ТЗ на добавление новых атрибутов

Атрибуты в новом фиде делились на два типа:

  • Boolean-атрибуты. Нужны, чтобы подтвердить или опровергнуть наличие преимущества у объекта. Например, если отель подходит для людей с ограниченными возможностями, передаем значение true, если нет — false.
  • Атрибуты с числовым значением. Например, расстояние до моря или до метро. Если метро находится близко, например, в 200 метрах — мы передаём это значение как преимущество. Если метро далеко — передаём значение null.

После доработки фид «Алеан» отражал более 30 преимуществ: близость к морю, наличие тренажерного зала, бассейна, инфраструктуры для детей, парковки и т.п. Но при этом у одного отеля могло быть сразу 16 преимуществ, а количество символов в рекламных кампаниях, как мы помним, ограничено. Поэтому нам понадобилось выбрать самые важные преимущества, которые будут отображаться в объявлениях.

Выбираем самые важные преимущества

Самостоятельно мы не могли определить, какие преимущества более или менее важны для посетителей отелей и санаториев. Правильнее всего было посоветоваться с менеджерами «Алеана», а также проанализировать основные направления в Wordstat, чтобы понять, какие удобства ищут чаще всего. С помощью этих вводных мы проранжировали список преимуществ от более важных к менее важным.

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

Для каждого из объектов нам нужно отобрать 8 или менее самых важных преимуществ — они будут отображаться в быстрых ссылках.

Открываем фид со свойствами объектов в Excel:

Выстраиваем преимущества по порядку нашего ранжирования. Обязательно оставляем url и id (если url меняется) для дальнейшего использования функции ВПР в объявлениях.

Как поднять CTR на 30% в Яндекс Директ, используя уникальные быстрые ссылки

Обрабатываем значения фида для формата быстрых ссылок

Шаг 1. В нашем случае значения true заменяем на соответствующий текст для преимущества. Например, true в столбце SPA заменяем на SPA. Значения null/false заменяем на пустое место.

Шаг 2. В некоторых свойствах, например «расстояние до моря», передаются числовые значения, и от объекта к объекту они могут отличаться. Поэтому для этих свойств недостаточно заменить true на соответствующий текст. Нужно создать отдельный столбец с конкатенацией (объединением) текста и числового значения.

В нашем случае там, где расстояние не передаётся (пустые значения), при конкатенации могут получиться такие значения: «Расстояние до моря м». Их нужно удалить вручную.

Шаг 3. Для «Алеан» несколько преимуществ можно было совместить в одной быстрой ссылке. Например, на территории отеля есть открытый и крытый бассейны, но их наличие передается в разных атрибутах/колонках. Хорошо написать об этом в одной быстрой ссылке, а не в двух разных. Чтобы этого достичь, также конкатенируем данные из столбцов «Открытый бассейн» и «Крытый бассейн». Получаем четыре сочетания:

  • открытый (только открытый бассейн)
  • крытый (только крытый бассейн)
  • открытыйкрытый (есть оба вида)
  • пустые строки (бассейна нет)
Как поднять CTR на 30% в Яндекс Директ, используя уникальные быстрые ссылки

Значения вроде «открытыйкрытый» меняем на «Открытый/крытый бассейны», не забывая проставить чекбокс «Ячейка целиком» в расширенных параметрах замены. То же делаем и с другими похожими преимуществами, например, «Баня», «Хаммам», «Сауна».

Помните, что итоговая длина быстрой ссылки не должна превышать 25 символов. Чем короче будут ссылки, тем больше их будет использовано: в разных трафаретах объявления — до 8 штук.

Шаг 4. Теперь к заголовкам «присоединяем» описания быстрых ссылок.

Для удобства следующей конкатенации сократили название столбцов: заголовок быстрой ссылки — ЗБС, описание быстрой ссылки — ОБС.
Для удобства следующей конкатенации сократили название столбцов: заголовок быстрой ссылки — ЗБС, описание быстрой ссылки — ОБС.

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

Конкатенируем значения из всех ячеек быстрых ссылок с разделителем ||

Формула выглядит так:

=[@[ЗБС 1]]&"||"&[@[ЗБС 2]]&"||"&[@[ЗБС 3]]&"||"&...

[@[ЗБС 1]] — название ячейки в умной таблице
|| — разделитель для загрузки в Яндекс Директ

В итоге мы видим значения с большим количеством разделителей — они получаются, когда одно из преимуществ для объекта отсутствует:

||Открытый/крытый бассейны||||SPA||||||||||Бар/ресторан||||Сауна/Баня/Хаммам||||До подъёмника 530 м||Парковка||||||Снегоходы||||||||Прокат роликов||Вечеринки||

Шаг 5. Удаляем лишние символы.

Перед заменой значений для столбца со всеми заголовками быстрых ссылок вместо формул =[@[ЗБС 1]]&"||"&[@[ЗБС 2]]&"||"&[@[ЗБС 3]]&"||"&... нужно вставить только значения.

Далее заменяем |||| (четыре символа вертикальной черты) на || (два символа вертикальной черты). Повторяем этот шаг до тех пор, пока есть, что заменять.

В итоге из этого значения:

||Открытый/крытый бассейны||||SPA||||||||||Бар/ресторан||||Сауна/Баня/Хаммам||||До подъёмника 530 м||Парковка||||||Снегоходы||||||||Прокат роликов||Вечеринки||

Должно получиться такое значение:

||Открытый/крытый бассейны||SPA||Бар/ресторан||Сауна/Баня/Хаммам||До подъёмника 530 м||Парковка||Снегоходы||Прокат роликов||Вечеринки||

Но еще нужно удалить первые значения || слева и справа, иначе Директ Коммандер будет грузить пустые быстрые ссылки в начале и конце строки. Решить эту задачу можно следующим способом.

Для примера возьмём такое значение ячейки со всеми быстрыми ссылками:

Открытый/крытый бассейны||SPA||Бар/ресторан||Сауна/Баня/Хаммам||До подъёмника 530 м||Парковка||Снегоходы||

1) Конкатенируем значения:

  • ||
  • ячейку со всеми значениями заголовков быстрых ссылок
  • разделитель ||

То есть просто добавляем слева и справа по дополнительному значению ||. Если провести операцию на примере выше, получим:

||Открытый/крытый бассейны||SPA||Бар/ресторан||Сауна/Баня/Хаммам||До подъёмника 530 м||Парковка||Снегоходы||||

Этот пункт нужен для того, чтобы в пунктах 3 и 4 не «срезать» часть текста ЗБС или ОБС.

2) Заменяем |||| на ||, предварительно вставив значения от результатов конкатенации.

3) В соседней ячейке от значений, которые получились во втором пункте, прописываем формулу

=ПРАВСИМВ([«Ячейка со всеми ЗБС»;ДЛСТР(«Ячейка со всеми ЗБС»)-2)

4) В соседней ячейке от значений, которые получились в третьем пункте, прописываем формулу:

=ПРАВСИМВ([«Ячейка со всеми ЗБС»;ДЛСТР(«Ячейка со всеми ЗБС»)-2)

Порядок выполнения 3 и 4 пунктов можно менять — это ни на что не влияет.

5) Итого в значениях ячеек можем получить «#ЗНАЧ !» — такой результат возможен, если количество ЗБС равно нулю. Просто удаляем это значение.

В третьем столбце получились быстрые ссылки без лишних разделителей ||. Не забываем всё то же самое проделать и для описаний быстрых ссылок.

Готовим быстрые ссылки для выгрузки в Директ Коммандер

В начале статьи мы писали, что у разных объектов может быть разное количество ЗБС или ОБС. У одного объекта может быть всего два преимущества, которые передаются в фид, а у другого — 16. Но быстрых ссылок всего 8. Поэтому для каких-то объектов, где быстрых ссылок меньше, нужно добавить быстрые ссылки с общими формулировками. А объектов, где преимуществ больше 8, — исключить некоторые из них.

Шаг 1.

Для начала посчитаем общее количество быстрых ссылок.

1) Делаем дубликат столбца с ЗБС, который получился на шаге 5 в предыдущем разделе.

2) У этого дубликата удаляем все значения ||

3) В следующей ячейке прописываем формулу:

=(ДЛСТР(Ячейка со всеми ЗБС и разделителями «||») - ДЛСТР(Ячейка со всеми ЗБС с удаленными разделителями «||»))/2 + 1

Мы считаем количество символов для всех ЗБС с разделителями, вычитаем из этого числа количество символов для всех ЗБС, но уже без разделителей. Далее делим полученное число на два, т.к. разделитель двойной, и прибавляем единицу, потому что количество разделителей всегда больше, чем количество ЗБС ровно на единицу. Таким образом получаем количество ЗБС для каждого из объектов.

4) Нужно учесть, что для объектов, где ЗБС нет вообще, такая формула не работает. Поэтому нужно выделить все строки с пустыми значениями и установить для них значение 0 вручную.

Шаг 2. Добавляем/удаляем нужное количество ЗБС. Не трогаем только те объекты, где количество ЗБС равно 8.

Там, где ЗБС меньше 8, нужно добавить недостающие заголовки. Их можно взять из общих УТП. Для объектов, где 0 уникальных заголовков, добавим 8 общих заголовков, для одного уникального — 7 общих заголовков и т.д.

Формируем два таких столбца

Для строки «0» перед первым ЗБС не указан разделитель, потому что в строке есть все 8 ЗБС.
Для строки «0» перед первым ЗБС не указан разделитель, потому что в строке есть все 8 ЗБС.

Применяем функцию ВПР для этих значений в дополнительный столбец по количеству уникальных ЗБС, которые мы посчитали на шаге 1 в этом разделе. Вставляем «только значения». Затем меняем все значения /Д на пустое место. И конкатенируем значения столбца уникальных и общих заголовков.

С недостающими уникальными быстрыми ссылками разобрались — осталось удалить их «избыток».

  • Выделяем все заголовки быстрых ссылок и копируем на отдельный лист.
  • Разделяем содержимое столбца по разделителю |
  • Объединяем первые 8 значений через разделитель || (с промежутком в один столбец, так как у нас два разделителя). Копируем полученные значения в исходный файл.
Заголовки быстрых ссылок готовы. Чтобы сформировать описания быстрых ссылок, повторяем все шаги только для ОБС, начиная с шага 5 в предыдущем разделе.

Шаг 3. Теперь нужно сформировать адреса быстрых ссылок. Для этого используем 8 идентичных url для объекта с разделителем ||

В итоге у вас должны получиться четыре колонки: ссылка объявления, заголовки быстрых ссылок, описания быстрых ссылок, адреса быстрых ссылок.
В итоге у вас должны получиться четыре колонки: ссылка объявления, заголовки быстрых ссылок, описания быстрых ссылок, адреса быстрых ссылок.

Загружаем готовые расширения в Директ Коммандер

В завершение делаем выгрузку кампаний из Директ Коммандер, в которые нужно подгрузить быстрые ссылки.

Шаг 1. В файле используем функцию ВПР для заголовков, адресов, описаний быстрых ссылок по ссылке объявления. Старые значения лучше не удалять — они еще нам понадобятся.

Если в Коммандере есть объекты/товары, которых нет в фиде, по результату ВПР вы можете получить значения #Н/Д. Это приведет к ошибке при загрузке файла в Коммандер.

Чтобы вернуть старые данные для значений /Д, используйте следующую формулу для ЗБС и ОБС и на адресах быстрых ссылок:

=ЕСЛИ(СЧЁТЕСЛИ(«Ячейка с новыми быстрыми ссылками»;»#Н/Д»); «Ячейка со старыми быстрыми ссылками»; «Ячейка с новыми быстрыми ссылками»)

Итоговые значения скопируйте в исходные поля «Заголовки быстрых ссылок», «Описания быстрых ссылок», «Адреса быстрых ссылок».

Убираем #Н/Д из значений

=ЕСЛИ(СЧЁТЕСЛИ(«Ячейка c новыми уникальными элементами БС»;«#Н/Д»);«Ячейка cо старыми БС (из РК)»;«Ячейка c новыми уникальными элементами БС»)

Шаг 2. Затем сохраняем файл и загружаем в Директ Коммандер. Перед отправкой на сервер рекомендуем проверить как минимум на десятке объектов, сходятся ли быстрые ссылки с тем, что есть в фиде.

Выводы

Уникальные быстрые ссылки — отличный инструмент повышения CTR и снижения стоимости целевого трафика, что напрямую влияет на количество заявок и их стоимость. Решение для формирования быстрых ссылок, которое мы выбрали, довольно простое, но имеет один недостаток — шаги придется пройти заново в двух случаях:

  • Если добавится несколько важных объектов/товаров, для которых вы захотите прописать релевантные расширения
  • Изменится содержание какого-либо преимущества: например, отель отодвинется от моря на 100 м или высохнет бассейн :)

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

Автор: Иван Кикоть, Senior performance manager

7070
43 комментария

круто! взял на вооружение

4
Ответить

Я бы даже сказал ЗБС!)

9
Ответить

Нестандартно и интересно! Объявления выглядят суперски, погуглила вашу рекламу по отелям)

3
Ответить

Вы автора этого аж репостите.

Ответить

А CTR на 30% поднялся не потому ли что объявление показывается в расширенном формате? Т.е. просто сработало увеличение ставки, чтобы отображались 8 быстрых ссылок.

3
Ответить

Очень дельный вопрос, спасибо! :)

Чтобы тест был наиболее "чистым", в период тестирования в кампании (в которые внедряли уникальные БС) мы не вносили изменения в стратегии (не увеличивали ставку), не изменяли другие элементы объявления.

В эксперименте с БС мы замеряли общий уровень показов в эксклюзивном размещении до и после и он существенно не изменился - все в рамках погрешности.

Ответить

Спасибо, заодно прокачаюсь в экселе

2
Ответить