ADPASS рекомендует материал к прочтению
Игроник
20.06.2023, 16:33

Объединение Директ и Метрики в разбивке по регионам

Отслеживание конверсий в Яндекс Директ непосредственно связано с кликом по объявлению, а в Яндекс Метрике — с визитом. Если клик и связанная с ним конверсия имеют разные даты, то мы по-разному их увидим в этих двух кабинетах.Например, клик по рекламному объявлению состоялся 01.05.2023, а конверсия 02.05.2023. Следовательно, в рекламном кабинете Яндекс Директ конверсия будет отнесена на 01.05.2023, а в Яндекс Метрике — на 02.05.2023.

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

Ссылка на дашборд

Пример нестыковки

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

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

Яндекс Метрика

1. Подготовка данных

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

  • utm_source=yandex

  • utm_medium=cpc

  • utm_content — также необходимо передавать динамические параметры

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

  • {campaign_id} — Идентификатор рекламной кампании

  • {campaign_name} — Название кампании

  • {region_name} — Регион, в котором было показано объявление

  • {region_id} — Идентификатор региона, в котором было показано объявление

Пример размеченного URL ↓

https://vash-sait.ru? utm_source=yandex&utm_medium=cpc&utm_campaign=nazvanie_kampanii&utm_content=cid_{campaign_id}|region_name_{region_name}|region_id_{region_id}

Данные из Яндекс Директ и Яндекс Метрики мы забираем по API. В данной статье мы не будем подробно разбирать код и специфику подключения.

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

2. Забираем данные из Яндекс Директ

API Яндекс Директ позволяет получить всю необходимую статистику по рекламным кампаниям. Мы забираем не все данные, а только те, которые необходимы для построения отчета/серии отчетов. В данном случае мы заберем статистику по рекламным кампаниям по дням в разбивке по регионам, в качестве показателей нас интересуют Показы, Клики, Расходы с НДС.

Также для последующего корректного объединения с данными из Яндекс Метрики нам пригодится справочник регионов, который мы также можем забрать по API из Яндекс Директ.

Данные по рекламным кампаниям. В параметрах API запроса забираем из Яндекс Директ следующие поля:

  • Date — Дата

  • CampaignId — ИД рекламной кампании

  • CampaignName — название рекламной кампании

  • LocationOfPresenceId — Идентификатор региона местонахождения пользователя

  • Impressions — показы

  • Clicks — клики

  • Cost — Расходы (если расходы требуется учитывать БЕЗ НДС, то для параметра «IncludeVAT» — указываем «NO», иначе оставляем «YES»

«FieldNames»: [

«Date»,

«CampaignId»,

«CampaignName»,

«LocationOfPresenceId»,

«Impressions»,

«Clicks»,

«Cost»,

«Bounces»,

«Sessions» ]

Справочник регионов. Для того, чтобы корректно соединить регионы из Метрики и Директ, нам понадобится справочник регионов, который мы заберем из Яндекс Директ. Для этого воспользуемся стандартным методом GetRegionsURL запроса = ‘https://api.direct.yandex.ru/live/v4/json/

Пример кода:

import pandas as pd

import requests

import json

import os

ReportsURL =

‘https://api.direct.yandex.ru/live/v4/json/’

token = здесь необходимо указать ваш токен Яндекс Директ

headers = {}

data = {

«method»: «GetRegions»,

«token»: token}

jdata = json.dumps (data,

ensure_ascii=False).encode (‘utf8’)

response = requests.post (ReportsURL, jdata,

headers=headers)

print (response.status_code)

data = json.loads (response.content)

df = pd.DataFrame (data[‘data’])

print (df.head ())

3. Забираем данные из Яндекс Метрики

В Яндекс Метрике нас интересуют целевые визиты из рекламных кампаний Яндекс Директ. Для того, чтобы выделить визиты, относящиеся к Директ, мы будем использовать UTM метки, которыми помечены рекламные объявления.

Давайте рассмотрим следующую ситуацию. Посетитель зашел на сайт и в рамках 1 визита отправил 2 раза одну и ту же форму.

В кабинете Яндекс Метрики мы увидим по этой цели:

Достижение цели — 2

Целевой визит — 1

В нашем случае необходимо получить количество Целевых визитов по конкретной цели. Для этого забираем по API из Яндекс Метрики следующие параметры и показатели

payload = {

‘dimensions’: ‘ym: s: date,

ym: s: UTMSource,

ym: s: UTMMedium,

ym: s: UTMCampaign,

ym: s: UTMContent,

ym: s: UTMTerm’,

‘metrics’: ‘ym: s: goalvisits’,

‘date1’: дата начала периода,

‘date2’: дата окончания периода,

‘ids’: counter_id, // номер счетчика

‘accuracy’: ‘full’, // Размер выборки, используемой для отчета. Позволяет управлять семплированием

‘attribution’: ‘cross_device_last_significant’, // модель атрибуции

‘pretty’: True, // Задает форматирование результата. Чтобы использовать форматирование, укажите значение true}

4. Подготовка данных в Power Query

На этом этапе мы загружаем 3 полученных файла: данные Яндекс Директ, справочник регионов Яндекс Директ, данные из Яндекс Метрики в Power BI, и через инструмент Power Query приводим их в порядок.

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

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

Далее приведем в порядок справочник регионов — из этого файла нас интересует только 3 поля: RegionType, RegionName и RegionID.

Подготовка данных Яндекс Метрика. С данными из Яндекс Метрики будет больше преобразований, так как нам необходимо забрать номер РК и ИД региона из UTM метки. Но по сути эти операции можно выполнить встроенными функциями PowerQuery — забрать текст после разделителя.

Так же, во избежание недоразумений при последующем объединении данных, мы выполним группировку по Дате, Источнику, Каналу, ИД кампании и ИД Региона, а в качестве агрегации применим сумму для поля Целевые визиты.

Вспомогательные таблицы. Для того, чтобы в полной мере воспользоваться возможностями Power BI, лучше всего создать несколько вспомогательных таблиц, которые помогут нам связать между собой Яндекс Директ и Яндекс Метрику

  • Календарь — таблица с набором неповторяющихся дат;

  • Справочник Кампаний — таблица, которая содержит в себе поле с уникальными номером РК Яндекс Директ и названием этой кампании;

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

5. Подготовка данных в Power BI

Перед выведением данных в дашборд нам необходимо произвести некоторые дополнительные настройки: установить связи между таблицами и написать формулы для расчета показателей.У нас совсем небольшая модель данных — 3 справочника и 2 таблицы фактов. Поэтому нам нужно просто соединить поля справочников с соответствующими полями в таблицах фактов.

Календарь: поле Дата соединяется с датами в таблицах Яндекс Директ и Яндекс Метрика.

Справочник кампаний: поле ИД кампании соединяется с полями ИД кампании в таблицах Яндекс Директ и Яндекс Метрика.

Справочник регионов: поле ИД региона соединяется с ИД региона в в таблицах Яндекс Директ и Яндекс Метрика.

Далее нам необходимо написать:

  • меры для расчета каждого показателя в отдельности;

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

6. Визуализация данных в Power BI

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

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

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

  • Горизонтальная гистограмма — с перечнем городов, показатель выбираем из выпадающего списка. Цвет определяется градиентом в зависимости от значения показателя.

Вам понравится

Фестиваль рекламы Red Apple
02.11.2024
SellerDen
31.10.2024