Алексей Филатов , 21 февраля 2017

Пишем заголовки в Яндекс Директ

Продолжаем цикл статей на тему автоматизации разработки рекламных кампаний для интернет-магазина: составляем заголовки!


После прочтения статей вы научитесь: оптимизировать кампании в Excel методами, которые используются в оптимизаторах конверсий; автоматически собирать семантику, сегментировать и создавать объявления; прогнозировать конверсию на базе истории и многое другое.

Темы статей:

  1. Выгрузка данных из Google Analytics и Яндекс Метрики по API
  2. Парсинг ключевых слов в Key Collector
  3. Кластеризация запросов
  4. Агрегирование данных
  5. Прогнозирование конверсии для ключевых слов
  6. Расчет ставок
  7. Разработка заголовков
  8. Разработка рекламных кампаний
  9. Анализ эффективности

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

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

Когда у нас 11 000 объявлений, то разработка заголовков вручную может потребовать неоправданно много ресурсов, поэтому заголовки составляем из мета-тегов Title или H1 URL, на которые ссылаются ключевые слова.

Итак, что у нас есть? URL страниц, с которых мы можем спарсить мета-теги и из них составить заголовки, а для высокочастотных слов (в точном соответствии) пишем заголовки руками.

Здесь есть 3 варианта:

Выгрузить Titles по URL из Google Analytics - охват URL будет 90%

В предыдущих частях мы уже использовали API GA, поэтому показываю только запрос. Вы могли заметить, что в поле Start index и Max results у нас стоят значения 0-10000 и 10001-20000. Суть в том, что GA позволяет выгрузить только 10000 строк на один запрос и мы как бы делаем два запроса, но указываем, что в первому нужно с 1-ой по 10000-ую строку, а во втором точно такой-же запрос, но строки с 10001 по 20000.

На выходе имеем URL и Title, которые сможем подставить вместо заголовков.


Написать скрипт запроса к базе данных

Попросить клиента сделать скрипт, где на входе URL, а на выходе теги - самый оптимальный вариант! Вы можете попросить клиента сделать скрипт на секретном URL адресе.

Использовать парсеры, например Datacol. Это вариант в лоб, демонстрирую.

Создаем кампанию


Вставляем URL, которые нужно парсить


Выбираем пункт Все, это значит, что без лишних заморочек :)


Добавляем поле H1


Нажимаем селектор


Загружается одна из наших ссылок и нам нужно тыкнуть на текст, который нужно сохранить, он выделятся красным. Потом нажимаем «Сохранить» в левом верхнем углу.


Готово! Появится новая кампания - запускаем ее!


Внизу сразу появятся результаты, которые по завершении сохранятся в папку «Мои документы»


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

В нашем кейсе у нас есть скрипт на стороне заказчика, поэтому проблем по-убавится.

Теперь нужно придать заголовка вид, уместить их в 33 символа, использовать добавку к заголовку 23 символа, восклицательные знаки и так далее.

У нас для этого есть скрипт в питоне. Итак на входе мы имеем:


Применяем код

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import pandas as pd
import re

df = pd.read_excel('Headlines.xlsx', header=0)

# очищаем
df.dropna(inplace=True)
df.reset_index(drop=True, inplace=True)

# считаем символы в колонке с текстом
df.loc[:,'Len'] = df.loc[:,'Title'].str.len()

# очищаем от ненужных символов с помощью регулярного выражения
df.loc[:,'Title'] = df.loc[:,'Title'].str.replace(r'\/|\(|\)', '')

# создаем колонки для заголовков и первой строки
df.loc[:,'headline'] = ''
df.loc[:,'text1'] = ''

# экспортируем данные из исходного текста в колонки заголовка и первой строки
for i in range(len(df)):
    if df.loc[i,'Len'] > 33:
        for word in df.loc[i,'Title'].split(' '):
            if (len(df.loc[i,'headline']) + len(word) + 1) <= 33:
                df.loc[i,'headline'] += word + ' '
            else:
                if (len(df.loc[i,'text1']) + len(word) + 1) <= 23:
                    df.loc[i,'text1'] += word + ' '
                else:
                    df.loc[i,'text1'] = df.loc[i,'text1'][0].upper() + df.loc[i,'text1'][1:]
                    df.loc[i,'text1'] = df.loc[i,'text1'][0:(len(df.loc[i,'text1'])-1)] + '!'
                    break
        else:
            if len(df.loc[i,'text1']) > 0:
                df.loc[i,'text1'] = df.loc[i,'text1'][0].upper() + df.loc[i,'text1'][1:]
                df.loc[i,'text1'] = df.loc[i,'text1'][0:(len(df.loc[i,'text1'])-1)] + '!'
    else:
        df.loc[i,'headline'] = df.loc[i,'Title']
        continue

# пишем добавки
d = [u' в Москве', u' в МСК', u'!']

# скрипт добавления
for i in range(len(df)):
    if df.loc[i,'text1'] == '' and len(df.loc[i,'headline']) <33:
        for add in d:
            if len(add) <= (33 - len(df.loc[i,'headline'])):
                df.loc[i,'headline'] += add
                break
    else:
        continue

# добавляем текст в пустые добавки
for i in range(len(df)):
    if df.loc[i,'text1'] == '':
        df.loc[i,'text1'] = u'В наличии!'

df.to_excel('headlines.xlsx')

И получаем


Так же есть возможность применить применить подобный подход в Excel


Прикрепляю ссылку на файл

Теперь копируем заголовки в главный Excel и подтягиваем в основную таблицу с помощью VLOOKUP


Все!

Пишите вопросы в комментариях, какие темы было бы интересно раскрыть подробнее? Если у вас есть идеи или советы, то делитесь!

Хотите дальше узнавать новое про контекстную рекламу для интернет-магазинов?
Подписывайтесь на наш канал в телеграме.

Перейти на канал
Другие материалы по теме
Основные стратегии Яндекс.Директа 2023 для управления рекламными кампаниями
Основные стратегии Яндекс.Директа 2023 для управления рекламными кампаниями
Лучшая стратегия — та, которая решает задачи бизнеса. Если верно поставить цели и определиться с KPI, настроить рекламу будет проще.
5 типичных проблем в контексте, которые мы видим у 90% клиентов
5 типичных проблем в контексте, которые мы видим у 90% клиентов
Мы провели аудит более чем для 100 интернет-магазинов и постоянно видим одни и те же ошибки. Например, клиент хочет масштабироваться, поднимает бюджет — и реклама начинает работать в минус.
За 2 года подняли контекст с минусов до 330 тысяч ₽/месяц магазину тканей, хотя Google ушел и автостратегии не работали
За 2 года подняли контекст с минусов до 330 тысяч ₽/месяц магазину тканей, хотя Google ушел и автостратегии не работали
Какие инструменты использовали, какие гипотезы тестировали, чем компенсировали уход Google из России и почему не для всех подходят автостратегии и товарные площадки.
Пакетные стратегии в Яндекс Директ: для чего нужны и как настроить
Пакетные стратегии в Яндекс Директ: для чего нужны и как настроить
Как работают пакетные стратегии и как их настраивать — с примерами из практики
Модели атрибуции в Яндекс Директе: как использовать в аналитике и какую выбрать при настройке рекламы
Модели атрибуции в Яндекс Директе: как использовать в аналитике и какую выбрать при настройке рекламы
Объясняем на картинках, что такое модели атрибуции в Директе и как они помогают анализировать рекламу и обучать автостратегии.
Ретаргетинг в Яндекс Директ: что это такое, какой бывает и как настроить
Ретаргетинг в Яндекс Директ: что это такое, какой бывает и как настроить
Пошаговая инструкция, как собрать аудиторию и настроить ретаркетинг на поиске и в РСЯ.
читать наш блог

Оставьте заявку

После того, как вы оставите заявку: интервью ~15 минут → гостевые доступы для аудита ~15 минут → аудит в течение недели → согласование предложения → начало первой итерации. По нашему опыту реально начать что-то делать уже через неделю.

Менеджер проектов Александр
Александр

Менеджер проектов



Пишите на — или в Телеграмм