Формируем формат Яндекс Директа из списка ID регионов и самого региона — скрипт на Python
Всем привет! Сегодня будет скрипт, который позволяет быстро сформировать выгрузку регионов в формате директа, который позволяет быстро и без проблем загружать по 10–20 регионов и добавлять их в геотаргетинг рекламных кампаний. Это часто пригождается для того, чтобы вывести приоритетные регионы в отдельные РК. Всё, что меньше, проще сделать руками, а для нашей задачи отправляемся изучать скрипт.
Как директ выгружает данные из кабинета по географии?
При переходе в настройки группы и копировании гео получаем вот такой формат:
[{"id":"977","name":"Республика Крым"},{"id":"10857","name":"Калининградская область"},{"id":"10995","name":"Краснодарский край"},{"id":"11069","name":"Ставропольский край"},{"id":"11119","name":"Республика Татарстан"},{"id":"11146","name":"Саратовская область"},{"id":"2","name":"Санкт-Петербург"},{"id":"54","name":"Екатеринбург"},{"id":"65","name":"Новосибирск"},{"id":"172","name":"Уфа"},{"id":"213","name":"Москва"},{"id":"214","name":"Долгопрудный"},{"id":"235","name":"Магнитогорск"},{"id":"237","name":"Новокузнецк"},{"id":"238","name":"Новочеркасск"},{"id":"10745","name":"Орехово-Зуево"},{"id":"10758","name":"Химки"},{"id":"11030","name":"Азов"},{"id":"11160","name":"Асбест"},{"id":"11319","name":"Горно-Алтайск"},{"id":"11351","name":"Северск"},{"id":"20720","name":"Верхняя Пышма"},{"id":"20728","name":"Королёв"},{"id":"21621","name":"Реутов"},{"id":"21641","name":"Лобня"},{"id":"98586","name":"Истра (городской округ)"},{"id":"98590","name":"Красногорск (городской округ)"},{"id":"98595","name":"Можайский (городской округ)"},{"id":"98596","name":"Мытищи (городской округ)"},{"id":"98599","name":"Одинцовский район"},{"id":"98611","name":"Солнечногорский район"},{"id":"98614","name":"Чехов (городской округ)"},{"id":"98621","name":"Всеволожский район"},{"id":"98634","name":"Тосненский район"},{"id":"99714","name":"Учалинский район"},{"id":"10738","name":"Люберцы"},{"id":"10748","name":"Пушкино"},{"id":"10750","name":"Раменское"},{"id":"10756","name":"Ступино"},{"id":"10872","name":"Кировск"},{"id":"11229","name":"Надым"},{"id":"20718","name":"Ишимбай"},{"id":"21735","name":"Дзержинский"}]
Согласитесь, монструозно? При этом для вставки нам нужен такой же формат, иначе приходится вручную выбирать каждое гео, что лично для меня как адепта оптимизации долго.
Сам скрипт:
Предпоготовка (будет в каждой статье)
Как устанавливать Python и предподготовить среду разработки, можно прочитать в статье:
Как работает скрипт
Сам скрипт состоит из следующих файлов:
- input.csv — в формате ID, Город (как выгружать, разберем ниже).
- output.txt — то, что получится на выходе, как раз формат Яндекс Директа.
- script.py — сам исполнительный файл.
Алгоритм использования скрипта:
1. Сначала нам надо сформировать гипотезу из ваших данных, какие регионы выгружаем, что конкретно надо. Обязательно использовать расход, чтобы получить список.
2. Далее эти регионы смэтчить с ID ГЕО, для этого — для этого используем новый мастер отчетов в директе, выгружаем данные по региону таргетинга.
3. Далее скачиваем в таблицу и получаем вид:
4. Нужно преобразовать данные простой формулой: =B7&","&A7, и этот список скопировать прямо в файл input.csv, скопировав его вручную.
5. Запускаем скрипт.
6. На выходе получаем готовый формат в файле output.txt, далее используем его для вставки в кампании, просто вставляем значения.
Готово, пользуйтесь! Ставьте лайки, делитесь, подписывайтесь на блог.