Алексей Филатов, 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


Все!

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

Хочешь уведомления
о новых постах?
Никакого спама — честно :)
Другие материалы по теме
Как построить dash-board в Google Data Studio с данными из Google Analytics? HOWTO
Как построить dash-board в Google Data Studio с данными из Google Analytics?
Что вы делаете, когда хотите посмотреть основные показатели по рекламным кампаниям? — Заходите в Google Analytics и хаотично просматриваете все стандартные отчеты или смотрите «кастомные отчеты» по ключевым словам, в уме сводя необходимые цифры. — Решение внутри!
Как управлять ставками в Яндекс Директ и Google Adwords? HOWTO
Как управлять ставками в Яндекс Директ и Google Adwords?
Как управлять ставками в Яндекс Директ и Google Adwords? Пример работы аукциона. Что делаеют оптимизаторы конверсий?
Рассчитываем ставки Часть 6
Рассчитываем ставки
Продолжаем цикл статей на тему автоматизации разработки рекламных кампаний для интернет-магазина: рассчитываем ставки!
Импорт рекламных кампаний в Директ Коммандер Часть 8
Импорт рекламных кампаний в Директ Коммандер
Продолжаем цикл статей на тему автоматизации разработки рекламных кампаний для интернет-магазина: импортируем кампанию!
Пишем заголовки в Яндекс Директ Часть 7
Пишем заголовки в Яндекс Директ
Продолжаем цикл статей на тему автоматизации разработки рекламных кампаний для интернет-магазина: составляем заголовки!
Прогнозирование конверсии для ключевых слов Часть 5
Прогнозирование конверсии для ключевых слов
Продолжаем цикл статей на тему автоматизации разработки рекламных кампаний для интернет-магазина: прогнозируем конверсию!
читать наш блог
Расскажите о своем проекте!
Мы все продумаем и сделаем
Отправить заявку!
Пишите на — info@1jam.ru , звоните в скайпе — jam.agency , или по телефону — 8 (499) 112-36-92