Статистика по Турбо-страницам из Яндекс.Метрики в сторонних отчетах

Руководитель отдела автоматизации и аналитики MediaGuru

Турбо-страницы появились два года назад и за это время стали популярны. Особенно среди проектов, где есть проблемы с мобильной версией сайта; или в сфере услуг, где важно получать лиды.

Статистику по заявкам с турбо-страниц можно посмотреть только в Яндекс.Метрике вплоть до разреза ключевой фразы. Но многим клиентам не подходит предоставленная статистика эффективности в интерфейсе системы аналитики: отчет должен содержать статистику по затратам не только с Яндекс.Директа. Поэтому нужно искать решение для сбора статистики и агрегации её во вне.

Рассмотрим реализацию на примере отчета с конверсиями с турбо-страниц, который мы построили для нашего клиента sensat.ru.

1 этап: получение авторизационного токена

Для получения автоматизированного отчета есть два подхода: 

  1. Воспользоваться сторонним решением, например renta.im.
  2. Написать собственный скрипт подключения к API Метрики. 

Разберем второй вариант подробнее, т.к. он более полный, а общий смысл не отличается.

Для написания скрипта будем использовать Python 3, так как интерпретатор языка уже есть в Ubuntu, которая используется в качестве операционной системы почти на всех серверах.

Первым делом нам нужно получить авторизационный токен. Если нужен доступ к одному счетчику Метрики под вашим логином, воспользуйтесь «отладочным токеном». Его достаточно.

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

2 этап: пишем модуль для получения статистики из Яндекс.Метрики

Импортируем нужные библиотеки:

import requests

import pandas as pd

from io import StringIO

from time import sleep

Объявим класс, который назовем Metrika. При вызове мы будем помещать в него наш токен.

class Metrika(object):

     def __init__(self, token = None):

     super(Metrika, self).__init__()

     self.token = token

Затем внутри класса создадим метод GetStat, который и будет отвечать за скачивание статистики.

def GetStat(self, counter_id = None, date_from = None, date_to = None,

               dimensions = None, metrics = None, filters = None, attribution = None):

Расшифровка:

  • counter_id – номер счетчика.
  • date_from – дата, с которой нужно получить статистику.
  • date_to – дата, по которую нужно получить статистику (включительно).
  • dimensions – параметры (группировки).
  • metrics – метрики.
  • filters – фильтры, если требуются.
  • attribution – модель атрибуции.

Теперь само тело метода:

stats_api = ‘https://api-metrika.yandex.ru/stat/v1/data.csv’

     token = self.token

     df = pd.DataFrame()

     check = True

     offset = 1

     try:

         while check:

             params = {  «date1»:date_from,

                            «date2»:date_to,

                            «dimensions»:’,’.join(dimensions),

                            «metrics»:’,’.join(metrics),

                            «ids»:counter_id,

                            «accuracy»:1,

                            «attribution»:attribution,

                            «group»:»day»,

                            «filters»:filters,

                         «offset»: offset,

                        «limit»:10000}

             headers = {«Authorization» : «OAuth » + token}

             r = requests.get(stats_api, params=params, headers = headers)

             tmp = pd.read_csv(StringIO(r.text), sep = ‘,’)

             df = df.append(tmp, sort = False)

             if len(tmp) == 0:

                 check = False

             offset += 10000

         return df

     except:

         print(‘Metrika: Error’)

         raise

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

Используется get – запрос с параметрами и настройками, которые мы хотим получить из Метрики.

Мы задаем offset – отступ, т.е. с какой строки отбирать результат. Через цикл while мы проверяем данные, и, как только данные приходят пустые, выходим из цикла.

Этап 3: Создаем новый файл, на который будет ссылаться модуль

Импортируем модуль, а также модули работы с датой:

import metrika

from datetime import datetime as dt

from datetime import timedelta as td

Объявляем токен и номер счетчика:

token = ‘AQAAAAAh-AQAAAAAh-AQAAAAAh’

counter_id = ‘11111111’

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

date_from = dt.now()-td(days = 2)

date_to = dt.now()-td(days = 1)

Поскольку заявки с турбо-страниц отправляются без визита на сайт, то брать UTM в качестве группировок нет смысла. Нужно использовать параметры отчетов Директа. 

Для среза по кампании и условию показа нужны такие ключи:

dimensions =[‘ym:s:date’,’ym:s:lastsignDirectClickOrder’,   ‘ym:s:lastsignDirectPhraseOrCond’]

Указываем номера целей вместо XXXXXXX. Вместо количества достижений цели используем целевые визиты:

metrics = [‘ym:s:goalXXXXXXXvisits’,’ym:s:goalXXXXXXXvisits’]

Создаем экземпляр нашего класса:

mk = metrika.Metrika(token)

И получаем отчет:

df = mk.GetStat(counter_id = counter_id, date_from = date_from, date_to = date_to,

             dimensions = dimensions, metrics = metrics, attribution = ‘lastsign’)

На выходе получим подобную таблицу:

Теперь полученный DataFrame можно импортировать в таблицы SpreadSheets, xlsx или в базу данных. Остается сопоставить его со статистикой из Директа, используя Функции ВПР или Join для баз данных.

Если нужно получить статистику из Метрики по другим конверсиям для разных источников, стоит использовать UTM-метки в качестве параметров. Полный список всех параметров можно найти здесь

Оцените статью

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Поделитесь в соцсетях

Похожие публикации

Всё и сразу: массовые действия в Директе и их использование

Массовые действия позволяют работать с большим количеством рекламных кампаний, групп, элементов объявлений, настроек и таргетингов. Ведущий аккаунт-менеджер в MediaGuru Алексей Котенко в своем материале рассказал, какие массовые действия доступны в Яндекс.Директе и как их можно применять. Для работы с большим количеством рекламных кампаний, групп, элементов объявлений, настроек и таргетингов, в Яндекс.Директе предусмотрены инструменты массового управления (действия) или массового изменения (редактирование). Например, вы решили провести акцию, для которой необходимо […]

Использование данных о звонках в Метрике: как и зачем

Загружаете данные о звонках в Яндекс.Метрику из сервисов коллтрекинга на автомате или просто потому, что нужно? А ведь полученную информацию можно использовать для атрибуцирования звонков, корректировки ставок, создания аудитории look-a-like и других способов улучшения вашей рекламы. Руководитель отдела автоматизации и аналитики MediaGuru Роман Любимцев рассказал, как использовать импорт данных о звонках на благо кампании. Возможность […]

Тестируем Метрику для медийной рекламы на клиенте: первые впечатления

В декабре 2019 в открытую бету вышел новый инструмент аналитики — Яндекс.Метрика для медийной рекламы. С его помощью можно быстро оценить эффективность кампании, отследить выполнение плана по KPI и увидеть отчеты по аудиториям, конверсиям, показам, охвату.  О тестировании инструмента, настройках, результатах и впечатлениях рассказал руководитель отдела автоматизации и аналитики MediaGuru Роман Любимцев. Исходные данные Недавно […]

+7 (495) 153-37-98
Оставить заявку