ExcelЯндекс Директ

Второй заголовок в Яндекс.Директ. Почему он пропадает и как это исправить? (обновлено 14-08-18)

By in Excel, Яндекс Директ

Всем привет!

Не так давно Директ ввел второй заголовок, а так же изменил ограничение по количеству символов в тексте и первом заголовке.

Это не может не радовать.

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

Таким образом у нас получался «длинный заголовок».

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

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

Так каким же образом нам рассчитать длину наших заголовков в пикселях?

И как узнать, какова максимальная суммарная их длина (в тех же пикселях), которую нельзя превышать?

Пользовательская функция для Excel

Я написал 2 простые функции, которые вы сможете использовать в своих формулах.

  1. ДлинаТекстаВПикселях — для подсчета длины заголовка в пикселях, в соответствии со шрифтом яндекса, используемым по-умолчанию на поиске. Эта функция поддерживает Русский, Английский, Украинский, цифры и большую часть знаков препинания, которые можно использовать в тексте и заголовках Яндекс.Директ. Есть возможность учесть подсветку текста.
  2. МаксимумПикселей — просто возвращает ограничение на максимальное количество пикселей для обоих заголовков. Просто проверяйте, чтобы суммарная длина двух заголовков не превышала это значение.

Значение МаксимумПикселей добыто опытным путем, как и ширина каждого символа. Оно может варьироваться, поэтому слегка занижено. Не удивляйтесь, если заметите в интерфейсе, что есть возможность добавить к некоторым заголовкам еще пару знаков. Это нормально. Это связано с тем, что невозможно точно измерить ширину каждого символа.

Примеры использования

Формула для расчета длины текста без подсветки будет выглядеть вот так:

=ДлинаТекстаВПикселях(B4)

, где B4 — адрес ячейки

В случае, если нам нужно посчитать длину текста с подветкой, формула будет следующей:

=ДлинаТекстаВПикселях(B10; «True»)

, где B10 — адрес ячейки, либо текст, который будет подсвечиваться яндексом жирным шрифтом

И пример посложнее, для случая, когда в заголовке встречается точное вхождение ключевого слова:

=ДлинаТекстаВПикселях( ПОДСТАВИТЬ(C3;B3;»»))+ ЕСЛИОШИБКА(ЕСЛИ(ПОИСК(B3;C3) >0;ДлинаТекстаВПикселях( B3;»True»));0)

, где:

C3 — ячейка, содержащая заголовок;

B3 — ячейка, содержащая ключевое слово.

p.s. обратите внимание, что эта формула не будет работать если ключевое слово будет в заголовке в измененном виде (например, в другом падеже)

Где скачать?

Каждое обновление буду скидывать вот сюда:

Версия 1: https://goo.gl/MdY9H5

Версия 1-1: https://goo.gl/MgACzf

И файл с примерами (предварительно установите надстройку):

https://goo.gl/Qi2YSn

Как установить?

Видео по установке и использованию для Excel 2013 (для 2010 в принципе тоже): Как установить надстройку в Excel 2013?

Вот тут есть подробная статья как это сделать в Excel 2010: http://micro-solution.ru/faq/addins_enable

Если операционная система автоматически заблокирует файл как «потенциально опасный», то следует кликнуть по нему правой кнопкой, зайти в «Свойства». И кликнуть по кнопке разблокировать в нижней части появившегося окна.

Вместо заключения

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

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

А еще можно было бы добавить сюда немного морфологии, чтобы функция умела учитывать наличие слов в разных падежах (или хотя бы приводить все это дело к лемме и сравнивать по словам).

Спасибо что дочитали до конца! Буду рад отзывам и комментариям.

 

(обновлено 14-08-18)

Добавлена поддержка спецсимволов, которые поддерживаются директом: ®©°²

p.s. если найдете ошибку, пишите сюда: https://www.facebook.com/cntxt1

или в Telegram: @cntxt

Функция для Google Spreadsheet

Аналогичная функция для Google Таблиц:

ДлинаТекстаВПикселях для Google Docs (update от 03-12-2020)

  • Валерия

    Спасибо большое за надстройку. А какой порог кол-ва пикселей по этим формулам?

    • Eugene Yudin

      Привет! Пожалуйста.
      После установки надстройки введи в любой строке вот такую формулу:
      =МаксимумПикселей()
      Вместо этой функции будет вставлено максимальное количество пикселей.

  • Инесса Паридуха

    Крутая надстройка! Спасибо большое 🙂
    Подскажите, пожалуйста, это для поиска актуально или для РСЯ тоже?

    • Eugene Yudin

      Здравствуйте! Это для поиска.
      Для РСЯ не актуально.

  • Александр Житарюк

    у меня не заработал почему-то(( Правда у меня MS Office древний. Это может как-то повлиять?

    • Eugene Yudin

      Здравствуйте!
      Надстройка тестировалась на 2010 и 2013 excel.
      По поводу более ранних версий затрудняюсь ответить.

  • Jane Mirnaya

    А как эта формула звучит в английском икселе?

    • Eugene Yudin

      Т.к. это пользовательская формула, то по идее она одинаково будет выглядеть как в английской, так и в русской версиях.
      Поправьте меня, если это не так.

  • Павел Коган

    Вопрос.Как подставлять два заголовка? Их для начала необходимо сцепить? Есть ли какие-то символы разделения (у яндекса на поиске есть 2 пробела и тире)? Или функция учитывает уже символы?

    • Eugene Yudin

      Добрый день! Отличный вопрос.
      Функция уже учитывает эти символы (2 пробела и тире).
      Вы можете просто написать заголовки, посмотреть их суммарную длину и сравнить с МаксимумПикселей().

      Специально добавлять пробелы и тире между заголовками — не нужно.

      • Павел Коган

        Спасибо, понятно! Но вот еще проблемка. Функция возвращает одно кол-во символов, а Яндекс получается другое, т.к. принимает общую длину заголовков. Посмотрите, постарался проиллюстрировать проблему — https://prnt.sc/jkr1kh

        • Eugene Yudin

          Да, все корректно. Примерно 22 пикселя — 2 пробела + тире. И еще 20 пикселей я вычел, протестировав работу на нескольких кампаниях. Я так и не понял с чем это связано, но иногда максимальная ширина в пикселях — меньше, чем 522 пикселя.

  • Дмитрий

    Все описанные ниже нюансы типа «примерно 22 пикселя», «иногда максимальная ширина в пикселях меньше, чем 522 пикселя», «функция возвращает одно кол-во символов, а Яндекс получается другое» и прочее из-за того, что тут все намного сложнее, чем просто подсчитывать ширину символа в пикселях и всё. Есть такое понятие, как «метрика шрифта», которая учитывает ширину символа, а также ширину отступа для каждого символа. Например, отступ между двумя буква «О» (ОО) равен 2 пикселя, а отступ между двумя буквами «Д» (ДД), как видите, ноль пикселей, т.к. они вплотную друг к другу стоят.
    Я думаю, тут нужно либо глубже копать, либо дожидлать от Яндекса официальной информации о ширине каждого символа.

    • Eugene Yudin

      Добрый день!
      Да, наверное этот момент имеет место быть, но
      О = 10,78 пикс
      ОО = 21,77 пикс

      Разница — 0,01 пикселя, которая как раз и составляет технический пробел между буквами

      ДД = 18,95 пикс
      Д = 9,47

      Разница — опять же 0,01 пикселя

      С учетом длины строки в символах, погрешность достаточно маленькая, чтобы ей пренебречь — 0,32 пикселя (т.к. технических пробелов между символами = 33 символа — 1).

      В любом случае — я с вами согласен в том плане что формула гораздо сложнее, чем нам кажется. Банально может оказаться что Яндекс смотрит на процентовку или на какую-то другую относительную метрику. И соответственно формула все-равно будет рабочей, просто работает она не очень точно.

  • Artem Teterin

    Добрый день. Спасибо за интересный скрипт. Взял потестировать и заметил, что скрипт не учитывает спецсимволы, которые были добавлены в Директ https://yandex.ru/adv/news/v-obyavleniyakh-stalo-mozhno-ispolzovat-bolshe-spetssimvolov

    • Eugene Yudin

      Ага, кто-то выше уже обратил внимание на это. Проверю в выходные.

  • Artem Teterin

    И да, звонил недавно с техподдержку яндекса, мне озвучивали, что на заголовок1 и заголовок2 включая 2 пробела и тире выделяется 517 пикселей.

    • Eugene Yudin

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

  • dobrokot

    Евгений, приветствую!
    Исправленная версия 1-1 тоже не подсчитывает эти спецсимволы, проверьте, пожалуйста.

    • Eugene Yudin

      Привет! Ок. Проверю как будет свободное время.