Як відстежити ефективність рекламних кампаній у прив’язці до продажу конкретного товару і виробника
Автор кейсу: Олена Березовська, керівник відділу аналітики в агентстві.
Клієнт. Інтернет-магазин годинників ДЕКА.
Завдання:
- Збільшити ефективність рекламних кампаній в межах певних брендів і продуктів (сегменти бренду + категорія на сайті).
- Дізнатися, які канали найбільш ефективні для просуванні певних брендів і товарів, з урахуванням кількох взаємодій користувача з різними джерелами на шляху до конверсії.
Що було зроблено:
- Вивантаження даних про товар, про шляхи до покупки, про ефективність каналів в межах різних моделей атрибуції.
- Об’єднання даних в єдину систему.
- Візуалізація даних на дашборді.
Результат. Зручний інтерактивний дашборд з інформацією про ефективність різних джерел і каналів. Дашборд оновлюється автоматично. У звіті є фільтри, які дозволяють вибрати окремі бренди або товари, після чого дашборд автоматично відобразить дані за заданими вами умовами. Також з’явилася можливість розрахувати ROI в необхідних межах і зв’язці сегментів сайту – джерело рекламування
Підключити послугу «АНАЛІТИКА» від ADINDEX →
Повний текст кейсу ↓
Проблема
Відсутність можливості в інтерфейсі Google Analytics об’єднати в одному звіті інформацію про багатоканальні послідовності та інформацію про товар. Це, в свою чергу, не дозволяє відстежувати ефективність рекламних кампаній в прив’язці до продажу конкретного товару конкретного виробника.
Завдання
Як відомо, в більшості випадків, до здійснення покупки, клієнт здійснює більше одного дотику з вашим сайтом.
Тому для оптимізації маркетингових активностей важливо аналізувати, як і які канали взаємодіють між собою і яким є їхній вплив на продаж. Найпростіший, але, на жаль, не найточніший спосіб – це аналізувати звіти за багатоканальною конверсією (шлях до конверсії, порівняння моделей атрибуції). Для отримання цих даних достатньо встановити код відстеження Google Analytics і налаштувати електронну комерцію або як мінімум мету.
Однак є ситуації, коли бізнесу цікаво які канали ефективні під час продажу певних брендів і товарів.
Налаштувавши розширену електронну торгівлю, можна побачити, який бренд або товар купують, і яке джерело трафіку є останнім на шляху до покупки певної кількості цього товару.

Як ми розв’язали це завдання?
План виконання завдання був наступний:
КРОК 1. Ми визначили які метрики і показники нам необхідні для вирішення бізнес-завдань клієнта.
КРОК 2. Визначили, які необхідні показники і метрики пов’язані між собою.
КРОК 3. Почали шукати шляхи отримання та об’єднання необхідних нам даних.
КРОК 4. Візуалізували в зручний дашборд отриману інформацію.
Тепер зупинимося на кожному кроці окремо і докладно розповімо, що зробили.
Крок 1 і Крок 2
Визначаємо, які метрики і показники нам необхідні для вирішення бізнес-завдань клієнта. І як вони пов’язані між собою.
Для реалізації першого і другого кроку ми:
- Провели інтерв’ю з представником компанії Дека для виявлення потреб.
- Отримавши бізнес-завдання і додаткову ввідну інформацію ми сформулювали аналітичне завдання.
- Склали попередню схему даних, яка містила у собі:
- Список необхідних параметрів і метрик.
- Карту зв’язків між параметрами і метриками.
Крок 3
Пошук шляхів отримання та об’єднання необхідних нам даних.
Як відомо, Google Analytics має API для роботи з вашими даними без використання веб-інтерфейсу сервісу.
Google надає 6 різновидів API для роботи з різними типами даних:

Для вирішення нашого завдання нас цікавить 2 види API:
- Core Reporting API – дозволяє отримати параметри і показники для створення звітів. За допомогою нього можна отримати дані про електронну торгівлю, поведінку користувача, трафік і ще багато іншої інформації. АЛЕ не можна отримати інформацію про багатоканальні послідовності.
- Multi-Channel Funnels Reporting API – якраз дозволяє отримати дані для побудови звітів за багатоканальними послідовностями для аналізу складних шляхів до транзакцій і переходів.
Один з найпростіших способів для НЕ програмістів – отримувати дані за допомогою API Google Analytics, використовувати додаток до Google таблиць Google Analytics Spreadsheet Add-on. Доповнення якраз дає можливість отримувати дані, які цікавлять нас в API.
Про те, як використовувати Google Analytics Spreadsheet Add-on в межах Core Reporting API написано багато хороших статей, а про використання Multi-Channel Funnels Reporting API незабаром з’явиться наша стаття. Тому в цій статті ми не загострюємо увагу на тому, як працювати з доповненням.
Повернемося до нашого завдання.
За допомогою трьох запитів отримали необхідні нам дані. Потім, використовуючи функції Google Таблиць з’єднуємо дані воєдино.


Нижче наведено короткий опис параметрів конфігурації, які ми використовували для вирішення нашого завдання:
Report Name – назва звіту і листа, куди буде збережена інформація.
View ID – ідентифікатор уявлення, з якого буде братися інформація.
Start Date та End Date – дата початку і кінця періоду, за який необхідно отримати дані.
Metrics – показники, які необхідно вивантажити.
Dimensions – параметри, які необхідно вивантажити
Filters – фільтр даних.
Limit – максимальна кількість рядків у вивантаженні (є обмеження).
Report Type – тип API, який використовується в запиті. Може мати два типи core і mcf. Якщо поле пусте, то за замовчуванням використовується core.
Наступним кроком формуємо таблицю, де для кожної транзакції вказуємо участь.

Олена Березовська, керівник відділу аналітики в агентстві
Робота з Multi-Channel Funnels Reporting API має одну особливість: дозволяє працювати тільки з 30-денним вікном ретроспективного огляду. Відповідно, такий спосіб отримання не підходить, якщо період прийняття рішення щодо покупки у вас більше 30 днів і для вас важливі взаємодії, які виходять за цей період.
Водночас, під час вивантаження, дані про останній непрямий клік за допомогою Core Reporting API останнім непрямим дотиком відобразиться правильно, навіть якщо було здійснено більше ніж за 30 днів до конверсії.
Тому в деяких транзакціях у вивантаженні «last non-direct con» є джерела, відмінні від прямих, а у вивантаженні «MFC» ця ж конверсія буде мати тільки прямі переходи. Але більш поширеною є ситуація, коли у вивантаженні «last non-direct con» є джерело / канал, як останній непрямий, а у вивантаженні «MFC» він або асоційований, або перший або останній. Щоб не втратити джерела, нам необхідно вибрати всі унікальні пари ідентифікатору транзакцій – джерело або канал з двох таблиць «MFC» і «last non-direct con».
Оскільки нам потрібно вибрати дані про транзакції і всі джерела, які брали участь в ній без дублікатів, ми використовуємо таку формулу:
= UNIQUE (QUERY ({ ‘last non-direct con’! B16: C; MFC! B16: C}; «Select * where Col2! =» »))
- UNIQUE () – функція, яка повертає унікальні рядки в зазначеному діапазоні, прибираючи дублікати.
- QUERY (дані; запит) – функція, що виконує запити на базі мовних запитів API візуалізації Google. Це SQL подібна мова.
- {Джерело 1; Джерело 2} – дані для запиту з декількох джерел.
- “Select * where Col2! =” “ – запит, який вибирає всі стовпці даних.
Отримавши унікальні пари параметрів, нам необхідно для кожної з пар заповнити значення.
Розглянемо як приклад отримані значення для останнього непрямого кліка. Для цього використовуємо формулу, яка робить наступне:
Для осередку С2: Дана формула для всіх непустих рядків перевіряє чи є збіг пари параметрів у вивантаженні «last non-direct con». Якщо збіг є, то потрібно додати число транзакцій за останнім непрямим кліком для даної пари параметрів, якщо немає – записати нуль.
Вид формули
= ARRAYFORMULA (ЯКЩО (A2: A <> »»; ЕСЛІОШІБКА (ARRAYFORMULA (ВВР (A2: A & B2: B; { ‘last non-direct con’! B: B & ‘last non-direct con’! C: C \ ‘ last non-direct con ‘! D: D}; 2; 0)); 0); “”))
- ARRAYFORMULA () – Завдяки їй можна використовувати масиви у функціях, які не призначені для цього.
- ЯКЩО(джерело; значення_при_дотриманні_умови;значення_при_дотриманні_умови) – дозволяє задати умову, коли використовувати формулу.
- ЕСЛІОШІБКА (значення; [значення_при_помилці]) – формула для обробки помилок
- ВПР (запит; діапазон; індекс; [відсортовано]) – виробляє пошук по на одну колонку діапазону і повертає значення зі знайденого осередку.
Розглянемо детальніше частину формули
ARRAYFORMULA (ВВР (A2: A & B2: B; { ‘last non-direct con’! B: B & ‘last non-direct con’! C: C \ ‘last non-direct con’! D: D}; 2; 0 ))
- Оскільки функція ВПР може шукати тільки за одним значенням, то об’єднуємо у формулі параметри у фінальній і вихідній таблиці в одне:
A2: A & B2: B
‘Last non-direct con’! B: B & ‘last non-direct con’! C: C
- З таблиці нам потрібно повернути значення стовпця D під час виконання заданих умов. Для цього створюємо масив даних, згрупувавши в ньому об’єднаний параметр зі стовпцем з таблиці:
{ ‘Last non-direct con’! B: B & ‘last non-direct con’! C: C \ ‘last non-direct con’! D: D}
- 2 – вказує який стовпець з групи повертати за умови збігу.
- 0 – вказує на те, що збіг параметрів повинен бути точним.
Аналогічно для інших значень.
У результаті отримуємо наступну таблицю:

Далі за допомогою скрипта об’єднуємо транзакцію з її товарами і їх параметрами і зберігаємо в архів. На прикладі транзакції 100602 в результаті роботи скрипта отримаємо наступне:

Фінальна таблиця має досить дивний вигляд, оскільки призначена для візуалізації в Google Data Studio.
Останнім кроком у налаштуванні збору даних для звіту є установка таймерів на вивантаження даних з Google Analytics і скрипт.
Крок 4
Фінальний крок – візуалізація даних в Google Data Studio.

Під час візуалізації необхідно бути уважним у виборі типу агрегації.
Так, наприклад, для графіка «число транзакцій за обраний період» ідентифікатор транзакції береться як показник і вважається його кількістю без урахування повторів, оскільки ідентифікатор транзакції є унікальним.

Висновок
Хтось може запитати, чому не можна використовувати поєднані дані в Data Studio?
Поєднання даних в Google Data Studio з’явилося відносно недавно і все ще має ряд обмежень в роботі сервісу. Наприклад, не завжди зручно використовувати поєднані дані, з тієї причини, що технічно, поєднані джерела даних є продуктом операції left outer join (воназнайома тим, хто працює з SQL). До того ж нашій команді було швидше і простіше написати скрипт.
Але, якщо у вас немає досвіду написання скриптів, то ви можете створити поєднані дані в Data Studio. Це дозволить усунути необхідність спочатку керувати вашими даними, заощаджуючи ваш час і зусилля.
Ну і на завершення, розповімо про плюси і мінуси нашого налаштування..
Плюси
- Автоматично формується звіт.
- Можна побачити дані в новому розрізі.
- Дозволяє економити людино-години і нівелює помилку, пов’язану з людським фактором.
Мінуси
- Така реалізація підходить для бізнесу у якого період прийняття рішення менше 30 днів або вони готові пожертвувати даними і статистикою за більш тривалий період.
- У Google таблицях можна зберігати до 5 мільйонів осередків в одному документі, тому вам необхідно розрахувати, наскільки вам вистачить таблиці для зберігання даних. Можливо на рік, а можливо і на місяці.
Як бачимо, за допомогою Google Sheets, Google App Script, Google Analytics Spreadsheet Add-on, Google Data Studio можна створювати базу для вирішення нетривіальних завдань.