Thanks to visit codestin.com
Credit goes to github.com

Skip to content

root482/ryandexdirect

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ryandexdirect - пакет для работы с API Яндекс.Директ версии 4, Live 4 и 5, а так же с Logs API Яндекс метрики на языке R.

##Содержание

Краткое описание.

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

Установка пакета ryandexdirect.

Установка пакета осуществляется из репозитория GitHub, для этого сначала требуется установить и подключить пакет devtools.

install.packages("devtools")

library(devtools)

После чего можно устанавливать пакет ryandexdirect.

install_github('selesnow/ryandexdirect')

Функции входящие в пакет ryandexdirect.

На данный момент в версию пакета 1.3 входит 7 функции:

###yadirGetToken() Функция для получения токена для доступа к API Яндекс.Директ, полученый токен используется во всех остальных функциях.

###yadirGetClientList(token = NULL) Данная функция возвращает дата фрейм со списком всех клиентов доступных в агентском аккаунте которому был выдан токен для доступа к API, используется только при работе с агентскими аккаунтами.

####Структура возвращаемого функцией yadirGetClientList дата фрейма:

ПолеТип данныхОписание
LoginchrЛогин пользователя на Яндексе
FIOchrФамилия Имя Отчество указанные в аккаунте клиентом
StatusArchFactorУчетная запись пользователя помещена в архив — Yes/No
DateCreatePOSIXctДата регистрации пользователя, YYYY-MM-DD.
RoleFactorРоль в Яндекс.Директе: Client — клиент рекламного агентства, или прямой рекламодатель, или представитель прямого рекламодателя; Agency — рекламное агентство или представитель агентства.
EmailchrАдрес электронной почты клиента
PhonechrКонтактный телефон в произвольном формате.

###yadirGetCampaignList(logins = NULL, token = NULL) Функция возвращает дата фрейм со списком рекламных кампаний и некоторых их параметров по логину.

####Структура возвращаемого функцией yadirGetCampaignList дата фрейма:

ПолеТип данныхОписание
IdchrИдентификатор кампании.
NamechrНазвание кампании.
TypeFactorТип кампании ("TEXT_CAMPAIGN" | "MOBILE_APP_CAMPAIGN" | "DYNAMIC_TEXT_CAMPAIGN" | "UNKNOWN").
StatusFactorСтатус кампании ( "ACCEPTED" | "DRAFT" | "MODERATION" | "REJECTED" | "UNKNOWN" ).
StateFactorСостояние кампании ( "ARCHIVED" | "CONVERTED" | "ENDED" | "OFF" | "ON" | "SUSPENDED" | "UNKNOWN" ).
DailyBudgetAmountnumДневной бюджет кампании в валюте рекламодателя.
DailyBudgetModechrDISTRIBUTED — распределять дневной бюджет равномерно на весь день. STANDARD — дневной бюджет может исчерпаться, а показы завершиться ранее окончания дня.
CurrencyFactorВалюта кампании. Совпадает с валютой рекламодателя для всех кампаний.
StartDateDateДата начала показов объявлений.
intКоличество показов за время существования кампании..
ClicksintКоличество кликов за время существования кампании.
ClientInfochrНазвание клиента. Значение по умолчанию — наименование из настроек рекламодателя.
loginchrЛогин пользователя на Яндексе.

###yadirGetCampaignListOld(logins = NULL, token = NULL) Устаревшая функцая для получения списка рекламных кампаний, список функций запрашивался с помощью метода GetCampaignList из версии API 4, с августе 2016 года этот метод стал недоступен, для того что бы получить список кампаний используйте новую функциюyadirGetCampaignList(logins = NULL, token = NULL).

###yadirGetSummaryStat(campaignIDS = NULL, dateStart = Sys.Date() - 10, dateEnd = Sys.Date(), currency = "USD", token = NULL) Основная функция пакета, возвращает дата фрейм со статистикой в разрезе кампаний и дат.

####Структура возвращаемого функцией yadirGetSummaryStat дата фрейма:

ПолеТип данныхОписание
DatePOSIXctДата, за которую приведена статистика.
CampaignIDFactorИдентификатор кампании.
SumSearchnumСтоимость кликов на поиске.
GoalConversionSearchnumДоля целевых визитов в общем числе визитов при переходе с поиска, в процентах.
GoalCostSearchnumЦена достижения цели Яндекс.Метрики при переходе с поиска.
ClickSearchintКоличество кликов на поиске.
ShowsSearchintКоличество показов на поиске.
SessionDepthSearchnumГлубина просмотра сайта при переходе с поиска.
SumContextnumСтоимость кликов в Рекламной сети Яндекса.
GoalConversionContextnumДоля целевых визитов в общем числе визитов при переходе из Рекламной сети Яндекса, в процентах.
GoalCostContextnumЦена достижения цели Яндекс.Метрики при переходе из Рекламной сети Яндекса.
ClicksContextintКоличество кликов в Рекламной сети Яндекса.
ShowsContextintКоличество показов в Рекламной сети Яндекса.
SessionDepthContextnumГлубина просмотра сайта при переходе из Рекламной сети Яндекса.

###yadirCurrencyRates(login = NULL, token = NULL) Функция возвращает дата фрейм с актуальными курсами валют в Яндекс.Директ.

####Структура возвращаемого функцией yadirGetSummaryStat дата фрейма:

ПолеТип данныхОписание
curNamechrКод валюты
fullNamechrПолное название валюты
RateWithVATnumстоимость 1 у. е. с учетом НДС.
Ratenumстоимость 1 у. е. без учета НДС.

###yadirGetLogsData(counter = NULL, date_from = Sys.Date() - 10, date_to = Sys.Date(), fields = NULL, source = "visits", token = NULL) Функция для работы с Logs API Яндекс Метрики, которое позволяет выгрузить сырые данные.

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

По сути просто необходимо установить одну хитрую локаль.

Sys.setlocale("LC_ALL","Russian_Russia.20866")

Далее функция будет работать корректно.

####Аргументы: counter - номер счётчика Яндекс Метрики date_from - начальная дата отчёта date_to - конечная дата отчёта fields - список полей которые вы отите получить, для visits актуальный список доступных полей можно получить тут, для hits актуальный список полей можно получить тут. source - Источник логов, возможные значения hits — просмотры или visits — визиты

Подробное описание аргументов можно посмотреть тут.

Пример работы с пакетом ryandexdirect.

###Подключаем пакет ryandexdirect library(ryandexdirect)

###Получаем токен для доступа к API myToken <- yadirGetToken()

После запуска функции автоматически будет открыт браузер, на странице с выданным вам токеном, скопируйте его и вставьте в консоль R.

После чего в рабочей области появится объект myToken, который вы будете использовать в остальных функциях.

Далее в случае если у вас агетский аккаунт получаем список всех клиентов:

clientList <- yadirGetClientList(myToken)

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

campaignList <- yadirGetCampaignList(logins = clientList$Login, token = myToken)

Для того, что бы получить дата фрейм со статиской по кампаниям в разрезе дней осталось воспользоваться функцией yadirGetSummaryStat

stat <- yadirGetSummaryStat(campaignIDS = campaigns$CampaignID], dateStart = "2016-01-01", dateEnd = "2016-06-30", currency = "USD", token = myToken)

##Образец кода для работы с пакетом ryandexdirect

library(ryandexdirect)
myToken <- yadirGetToken()
clientList <- yadirGetClientList(myToken)
campaignList <- yadirGetCampaignList(logins = clientList$Login, token = myToken)
stat <- yadirGetSummaryStat(campaignIDS = campaigns$CampaignID,
                            dateStart = "2016-01-01",
                            dateEnd = "2016-06-30",
                            currency = "USD",
                            token = myToken)

#Пример работы с Logs API Яндекс Метрики.

library(ryandexdirect)
myToken <- yadirGetToken()
rawmetrikdata <- yadirGetLogsData(counter = "00000000",
                                  date_from = "2016-12-01",
                                  date_to = "2016-12-20",
                                  fields = "ym:s:visitID,ym:s:date,ym:s:bounce,ym:s:clientID,ym:s:networkType",
                                  source = "visits",
                                  token = myToken)

Автор пакета: Алексей Селезнёв, Head of Analytics Dept. at Netpeak

GitHub VK Facebook Linkedin Stepik

About

Загрузка данных из Яндекс.Директ в R.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • R 100.0%