Маркетинг Mello
112

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

В закладки

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

Команда Mello — Антон Астахов и Иван Иванов.

Клиент: биофармацевтическая компания полного цикла, которая запускает интернет-рекламу на десятках площадках Рунета.

Для оценки эффективности запусков формируется отчет в MS Excel на основе разрозненных данных: вручную формирующиеся выгрузки и листы в файле xls. Процесс выглядит так, аналитик еженедельно выгружает данные из рекламных кабинетов в определенном формате, складывает их в Excel и потом производится анализ.

Конечно, у такой схемы есть очевидные плюсы в том, что для реализации отчетности:

  • нет необходимости в специализированной базе данных, то есть не нужны тех. специалисты, которые будут обеспечивать настройку, работоспособность и ее безопасность;
  • не нужны коннекторы к рекламным площадкам;
  • не нужны сильные экономические вливания на запуск системы, по сути вы оплачиваете только время сотрудника который вручную собирает данные.

Давайте теперь посмотрим на минусы:

  • человеческий фактор — если один человек занимается формированием такой отчетности, то он может отказываться от внесения каких-то правок, ошибиться, взять больничный, уйти в отпуск, уволиться, не успеть из-за текущей загрузки. Если несколько людей занимаются этим вопросом, то их работу нужно координировать, улаживать конфликты если кто-то ошибся или не сделал обещанное;
  • технологический фактор — представьте что вы собрали данные за прошлую неделю, а через какое-то время площадка пересчитала статистику (недействительные клики, сбои). В этот момент ваша отчетность перестает сходится с данными в рекламных площадках. И чтобы исправить ситуацию, нужно сначала обнаружить время где произошло изменение данных, а потом исправить выгрузку за это время;
  • вероятность ошибки в отчете явно больше нуля, это следствие человеческого и технологического факторов;
  • жесткость системы, если вы решили изменить отчет и добавить в него какие-то данные, то с большой долей вероятности придется переделывать все предыдущие выгрузки, возможно отчет в целом. Причем мы получаем не интеллектуальную и интересную работу для специалиста, а тупую рутинную — выкачать, скопировать, вставить. Тут может включится человеческий фактор;
  • на сбор и обработку нужной информации, аналитики могут тратить гораздо больше времени чем на ее анализ и получается что вместо того чтобы думать как достигать и перевыполнять поставленные KPI компании, сотрудник думает о том, как бы собрать отчет чтобы данные в нем были корректные.

Ручной сбор данных в отчет — это не плохо, наоборот это отличный старт, просто в какой-то момент компания может понять, что минусы этой системы начали перевешивать все плюсы. Тогда возникает мысль: “А давайте автоматизируем процесс сбора данных”. Основной задачей являлась разработка отчета по четко регламентированной структуре, которая принята в организации. Отчет должен решить главную задачу — автоматизация получения и отображения данных о рекламных кампаниях, при этом набор источников (рекламных сервисов) обширен: от контекстной до медийной рекламы.

Выбор стека технологий.

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

Для реализации данной автоматизации нужны:

  • коннекторы, которые будут выгружать данные из рекламных кабинетов;
  • база данных (БД), куда будем загружать данные;
  • программа, которая будет визуализировать данные из БД.

Клиент рассмотрел множество возможных реализаций, от готовых систем сквозной аналитики, до совсем персональных решений и выбрал инструменты компании Microsoft, а именно:

  • БД - Azure.
  • Программа для визуализации - Power BI.

Под этот стек технологий отлично подходит сервис коннекторов myBI, который автоматизирует задачи по выгрузке данных из рекламных систем и Google Analytics (который является основной системой сбора информации о посетителях сайта).

Первые проблемы.

Несмотря на то, что myBI автоматизирует выгрузку, вместе с тем не все системы и рекламные источники были “перекрыты” сервисом. А это значит, что по ряду рекламных площадок мы не можем получить расходы в нашу БД.

Неприятным сюрпризом стало и то, что не все рекламные каналы можно было отследить в Google Analytics. Может возникнуть вопрос: "А как такое возможно?". На самом деле все очень просто — видеореклама без переходов на сайт. При этом задачу о загрузке данных по расходам на рекламу и сведение ее в отчетности никто не отменял.

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

Эта проблема поставила под угрозу разработку отчетности. Дело в том, что данные по расходам мы берем из рекламной площадки, а информацию о посещении сайта и конверсиях из Google Analytics. Связать эти данные в БД мы можем по какому-то ключу. В качестве такого ключа выступают UTM метки и если они составлены таким образом, что по ним нельзя сделать корректный ключ для связи данных, тогда вы не можете корректно связать расходы и конверсии. В итоге разработка отчета заканчивается провалом.

Что делать если не хватает готовых коннекторов для выгрузки данных?

После обдумывания ситуации вместе с клиентом пришли к выводу, что часть источников данных будем вручную загружать в гугл таблицы. Ручная выгрузка частично осталась, но формат и структура данных подверглись серьезным изменениям. Все выгрузки привели к единому формату для всех возможных вариантов, чтобы по-максимуму упростить этот процесс и до минимума снизить вероятность появления ошибок.

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

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

Что делать если есть проблемы с UTM тегированием?

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

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

Использование такого стандарта позволило выстроить необходимым образом иерархию для анализа данных:

Поскольку весь отчет строится на анализе показателей недельными интервалами, то высшей точкой в иерархии является неделя, далее идет “направление” (или канал привлечения трафика), ниже источник, далее возможные варианты для конкретного источника и нижней точкой является кампания.

Другими словами — отчет отображает информацию от сводной информации за неделю до конкретной рекламной кампании в эту неделю.

Сложности учета медийной рекламы в отчете.

Учитывая специфику рекламных кампаний (значительный объем рекламные - видеоролики) клиентом была поставлена задача в обязательном порядке обеспечить вывод в отчете таких показателей как:

  • VTR - соотношение числа просмотренных полностью роликов к показам;
  • 1000CPV - стоимость 1000 досмотров роликов до 100%.

Чтобы получить необходимые значения (данные должны быть отражены из различных систем):

Для Google Рекламы были сформированы отдельные выгрузки в myBI с данными рекламным кампаниям, которые транслируют видеоролики.

По оставшейся медийной рекламе получили 2 проблемы:

  • реклама которая не содержит ссылку на сайт, ее нет в Google Analytics;
  • реклама по которой нет готового коннектора для получения расходов и статистики.

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

Чтобы обеспечить необходимый функционал в отчете для рекламных площадок без посещений, в Google Analytics нужно сделать несколько дополнительных действий к разработанному шаблону. В Power Query формируется сводная таблица по рекламным кампаниям без посещений и они добавляются к основным кампаниям (по которым можно отследить трафик из рекламных систем).

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

Сводим все данные в единое целое.

Одна из задач, которую пришлось решать в процессе работы — получение в различных наборах данных реального идентификатора рекламной кампании, т.к. именно это значение используется в качестве ключа, по которому “связаны” все источники данных в модели.

Изначально в модели данных myBI эти сведения присутствовали в данных по РК (ID кампании в каждой из систем) и в данных из Google Analytics (источники трафика).

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

Имея для источника трафика id кампании и такой-же id в данных по рекламных кампаниях, мы можем получить данные в связке: расходы на РК, сессии и достижения целей.

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

Ключ, используемый для связи данных выглядит как 1234567890, может возникнуть вопрос: "Каким образом все рекламные кампании были сведены в единое целое?".

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

  • параметры кампаний;
  • статистика по объявлениям.

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

Поскольку на сайте от посетителя ожидается совершение определенных целевых действий, то они фиксируются целями в Google Analytics, что можно увидеть в отчете.

Одним из основных показателей является показатель отказов, который рассчитывается как:

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

Что в итоге получилось?

Общий вид отчета — это сводная таблица с данными по неделям, фильтрами по направлению и каналу:

Сама сводная таблица за несколько кликов трансформируется на разные уровни от общей картины, до детальной картины по рекламным кампаниям.

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

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

Стоимость и сроки выполнения проекта.

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

Команда Mello — Антон Астахов и Иван Иванов.

#диджитал #интернетмаркетинг #личныйопыт #аналитика #кейсы

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Mello", "author_type": "self", "tags": ["\u043b\u0438\u0447\u043d\u044b\u0439\u043e\u043f\u044b\u0442","\u043a\u0435\u0439\u0441\u044b","\u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u043c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433","\u0434\u0438\u0434\u0436\u0438\u0442\u0430\u043b","\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430"], "comments": 0, "likes": 0, "favorites": 5, "is_advertisement": false, "subsite_label": "marketing", "id": 67667, "is_wide": false, "is_ugc": true, "date": "Fri, 17 May 2019 15:42:38 +0300" }
28 мая | Telegraph
Callday.Сквозная аналитика
Конференция про сквозную аналитику, на которой нужно быть
Зарегистрироваться
{ "id": 67667, "author_id": 295562, "diff_limit": 1000, "urls": {"diff":"\/comments\/67667\/get","add":"\/comments\/67667\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/67667"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199113, "last_count_and_date": null }

Комментариев нет 0 комм.

Популярные

По порядку

0
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Команда калифорнийского проекта
оказалась нейронной сетью
Подписаться на push-уведомления
{ "page_type": "default" }