Сначала вам следует получить токен для своего аккаунта (подробнее тут: yandex.ru/dev/oauth/doc/dg/tasks/get-oauth-token-docpage)
Пакет yadirstat уже опубликован на pypi вы сможете установить его с помощью pip
pip install yadirstat
Пакет позволяет получить следующую статистику:
- Статистика по кампаниям
- Статистика по условиям показов (например, ключевые слова и аудитории)
- Статистика по поисковым запросам
Как запрашивается статистика:
yadirstat.yadirstat.тип запроса(Токен клиента, Логин клиента, Дата начала, Дата окончания)
Примерно так будет выглядеть запрос для получения статистики по поисковым запросам
query_report =yadirstat.yadirstat.query('блаблаБЛАБЛАблаблАбалблаблаб','клиент-1245234','2020-05-10','2020-07-15')print(query_report)
А так запрос для получения статистики по кампаниям:
campaign_report = yadirstat.yadirstat.campaign('блаблаБЛАБЛАблаблАбалблаблаб','клиент-1245234','2020-05-10','2020-07-15')print(campaign_report)
А так запрос для получения статистики по условиям показов:
criteria_report = yadirstat.yadirstat.criteria('блаблаБЛАБЛАблаблАбалблаблаб','клиент-1245234','2020-05-10','2020-07-15')print(criteria_report)
Пример моего запроса:
from yadirstat import yadirstatx = yadirstat.yadirstat.campaign('AgAAAxxxxxxxXXXXXXxxxxxXXXXXcI','BxxxxXXXX','2020-05-10','2020-07-15')print(x)
Вывод выглядит следующим образом
Если во время вывода данные не помещаются, можете использовать следующее:
import pandas as pdpd.set_option('display.max_columns', None)pd.set_option('display.expand_frame_repr', False)pd.set_option('max_colwidth', 80)pd.set_option('max_rows', 600000)
На выходе мы получаем DataFrame
Для полноценного использования я заменяю "--" на 0
Структура данных:
Поисковые запросы:
- CampaignName
- Query
- Impressions
- Clicks
- Ctr
- Cost
- AvgCpc
- ConversionRate
- CostPerConversion
- Conversions
Кампании*:
- Date
- CampaignName
- Impressions
- Clicks
- Ctr
- Cost
- AvgCpc
- BounceRate
- AvgPageviews
- ConversionRate
- CostPerConversion
- Conversions
- Date
Условия показа:
- CampaignName
- Criterion
- Impressions
- Clicks
- Ctr
- Cost
- AvgCpc
- Date
*- Добавление даты последним столбцом позволяет не терять данные по датам при передачи DataFrame (Например, при передаче в BigQuery, теряется столбец с датами из-за того, что он индексный, чтобы избежать проблем я просто продублировал этот столбец).
Почему именно така структура? именно так я собираю статистику, чтобы потом отправлять ее в Google BigQuery и далее визуализировать в Google DataStudio.
Буду рад выслушать предложения по развитию данного пакета и ваш опыт сбора статистики.
P.S:
С агентскими аккаунтами это тоже работает
И с аккаунтами еламы