utf8/README.md

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

Содержание

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

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

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

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

install.packages("devtools")

library(devtools)

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

install_github('selesnow/ryandexdirect')

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

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

yadirGetToken()

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

yadirGetClientList(token = NULL)

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

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

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

yadirGetClientParam(Language = "ru", login = NULL, token = NULL)

Функция возврщает Data frame с основными параметрами аккаунта Яндекс Директ.

Аргументы:

Language - Язык ответа

login - Логин на Яндексе

token - Токен дотупа к API

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

ПолеТип данныхОписание LoginchrЛогин пользователя Директа. ClientIdintИдентификатор рекламодателя. CountryIdintИдентификатор страны рекламодателя из справочника регионов. Справочник регионов можно получить с помощью функции yadirGetDictionary. CurrencychrВалюта рекламодателя. Справочник валют можно получить с помощью функции yadirGetDictionary. CreatedAtchrДата регистрации пользователя в Директе, в формате YYYY-MM-DD. ClientInfochrФИО пользователя Директа. AccountQualitynumПоказатель качества аккаунта. CampaignsTotalPerClientintМаксимальное количество кампаний у рекламодателя. CampaignsUnarchivePerClientintмаксимальное количество кампаний, не находящихся в архиве. APIPointsintСуточный лимит баллов API.

yadirGetCampaignList(logins = NULL, token = NULL)

Функция возвращает дата фрейм со списком рекламных кампаний и некоторых их параметров по логину.

Аргументы:

login - Логин на Яндексе

token - Токен дотупа к API

Структура возвращаемого функцией 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Дата начала показов объявлений. ImpressionsintКоличество показов за время существования кампании. ClicksintКоличество кликов за время существования кампании. ClientInfochrНазвание клиента. Значение по умолчанию — наименование из настроек рекламодателя. loginchrЛогин пользователя на Яндексе.

yadirGetAdGroups(CampaignIds = c(1,2,3),Login = NULL, Token = NULL)

Функция возвращает дата фрейм со списком групп объявлений и некоторых их параметров по логину.

Аргументы:

CampaignIds - Вектор с ID рекламных кампаний, по которым необходимо загрузить список групп объявлений

Login - Логин на Яндексе

Token - Токен дотупа к API

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

ПолеТип данныхОписание IdnumИдентификатор группы объявлений. NameFactorНазвание группы. CampaignIdintИдентификатор кампании. TypeFactorТип группы объявлений. См. Тип группы. SubtypeFactorПодтип группы объявлений. Для групп с типом, отличным от DYNAMIC_TEXT_AD_GROUP, возвращается значение NONE. StatusFactorСтатус группы. См. Статус группы. ServingStatusFactorСтатус возможности показов группы. См. Статус возможности показов группы. NegativeKeywordschrМинус-фразы, общие для всех ключевых фраз группы объявлений. TrackingParamsFactorET-параметры для отслеживания источников переходов на сайт, которые добавляются в ссылку всех объявлений группы (не более 1024 символов). Могут содержать подстановочные переменные. Например: from=direct&ad={ad_id} Параметр можно указать для группы любого типа, однако в настоящее время он используется только для групп динамических объявлений. Для других типов групп указанные GET-параметры в ссылку не добавляются. RegionIdsFactorИдентификаторы регионов, для которых показы включены или выключены. Идентификатор 0 — показывать во всех регионах. Минус перед идентификатором региона — выключить показы в данном регионе. Например [1,-219] — показывать для Москвы и Московской области, кроме Черноголовки. RestrictedRegionIdschrИдентификаторы регионов, в которых объявления не будут показаны в связи с законодательными ограничениями. MobileAppAdGroupStoreUrlchrСсылка на приложение в магазине приложений AppStore или Google Play (не более 1024 символов). Должна содержать протокол. Недоступна для изменения. MobileAppAdGroupTargetDeviceTypechr На каких устройствах показывать объявления: DEVICE_TYPE_MOBILE — смартфоны; DEVICE_TYPE_TABLET — планшеты. MobileAppAdGroupTargetCarrierchrПо каким типам подключения к интернету показывать объявления: WI_FI_ONLY — только по Wi-FI; WI_FI_AND_CELLULAR — по мобильной связи и Wi-Fi. MobileAppAdGroupTargetOperatingSystemVersionchrМинимальная версия операционной системы, на которой может быть показано объявление. Например, 2.3. Примечание. Если минимальная версия ОС в магазине приложений выше, чем заданная в параметре, то объявления будут показаны только для версий ОС как в магазине приложений или выше. MobileAppAdGroupAppIconModerationStatuschrРезультат модерации иконки мобильного приложения: ACCEPTED — принята модерацией; MODERATION — находится на модерации; REJECTED — отклонена. MobileAppAdGroupAppIconModerationStatusClarificationchrТекстовое пояснение к статусу и/или причины отклонения на модерации. MobileAppAdGroupAppOperatingSystemTypechrТип операционной системы (определяется автоматически на основании данных из магазина приложений): IOS — iOS; ANDROID — Android; OS_TYPE_UNKNOWN — данные из магазина приложений еще не получены. MobileAppAdGroupAppAvailabilityStatuschrДоступно ли приложение в магазине приложений: AVAILABLE — доступно; NOT_AVAILABLE — недоступно; UNPROCESSED — данные из магазина приложений еще не получены. DynamicTextAdGroupDomainUrlchrДоменное имя сайта, для которого требуется сгенерировать динамические объявления (не более 100 символов). Протокол указывать не нужно. DynamicTextAdGroupDomainUrlProcessingStatuschrСтатус генерации динамических объявлений: UNPROCESSED — генерация объявлений не завершена; PROCESSED — объявления созданы; EMPTY_RESULT — не удалось создать ни одного объявления. DynamicTextFeedAdGroupSourcechrИдентификатор фида. DynamicTextFeedAdGroupSourceTypechrТип источника данных. В настоящее время доступно только значение RETAIL_FEED. фида. DynamicTextFeedAdGroupSourceProcessingStatuschrСтатус генерации динамических объявлений: UNPROCESSED — генерация объявлений не завершена; PROCESSED — объявления созданы; EMPTY_RESULT — не удалось создать ни одного объявления.

Пример кода для получения списка групп объявлений:

#Подключаем пакет
library(ryandexdirect)
#Получаем API token
my_token <- yadirGetToken()
#Получаем список рекламных кампаний
my_campaign <- yadirGetCampaignList(login = <ВАШ ЛОГИН>, 
                                    token = my_token)
#Получаем данные по группам объявлений
my_adgroups <- yadirGetAdGroups(CampaignIds = my_campaign$Id, 
                                Login = <ВАШ ЛОГИН>, 
                                Token = my_token)

yadirGetKeyWords(CampaignIds = c(1,2,3), WithStats = T, Login = NULL, Token = NULL)

Функция возвращает дата фрейм со списком групп объявлений и некоторых их параметров по логину.

Аргументы:

CampaignIds - Вектор с ID рекламных кампаний, по которым необходимо загрузить список групп объявлений

WithStats - Логическое TRUE или FALSE, аргумент отвечает за загрузку статистики по показам и кликам, в случае если вы установите значение TRUE время работы функции будет значительно дольше.

Login - Логин на Яндексе

Token - Токен дотупа к API

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

ПолеТип данныхОписание IdnumИдентификатор ключевой фразы. KeywordFactorКлючевая фраза. Может содержать минус-слова. AdGroupIdnumИдентификатор группы объявлений, к которой относится ключевая фраза. CampaignIdintИдентификатор кампании, к которой относится ключевая фраза. ServingStatusFactorСтатус возможности показов группы объявлений. Описание статусов см. в разделе Статус возможности показов группы. StateFactorСостояние ключевой фразы. Описание состояний см. в разделе Статус и состояние фразы. StatusFactorСтатус ключевой фразы. Описание статусов см. в разделе Статус и состояние фразы. StrategyPriorityFactorПриоритет фразы: LOW, NORMAL или HIGH. StatisticsSearchImpressionsintКоличество показов всех объявлений группы в поиске по данной фразе. Рассчитывается за 28 дней от текущей даты. Для расчета отбираются дни, в течение которых был хотя бы один показ объявления по данной фразе. StatisticsSearchClicks intКоличество кликов по всем объявлениям группы в поиске, показанным по данной фразе. Рассчитывается за 28 дней от текущей даты. Для расчета отбираются дни, в течение которых был хотя бы один клик по объявлению. StatisticsNetworkImpressionsintКоличество показов всех объявлений группы по данной фразе в сетях. Рассчитывается за 28 дней от текущей даты. Для расчета отбираются дни, в течение которых был хотя бы один показ объявления по данной фразе. StatisticsNetworkClicksintКоличество кликов по всем объявлениям группы, показанным по данной фразе в сетях. Рассчитывается за 28 дней от текущей даты. Для расчета отбираются дни, в течение которых был хотя бы один клик по объявлению. UserParam1FactorЗначение подстановочной переменной {param1}. Не более 255 символов. UserParam2FactorЗначение подстановочной переменной {param2}. Не более 255 символов. BidnumСтавка на поиске. ContextBidnumСтавка в сетях.

Пример кода для получения списка ключевых слов:

#Подключаем пакет
library(ryandexdirect)
#Получаем API token
my_token <- yadirGetToken()
#Получаем список рекламных кампаний
my_campaign <- yadirGetCampaignList(login = <ВАШ ЛОГИН>, 
                                    token = my_token)
#Получаем данные по ключевым словам
my_keywords <- yadirGetKeyWords(CampaignIds = my_campaign$Id, 
                                WithStats = F,
                                Login = <ВАШ ЛОГИН>, 
                                Token = my_token)

yadirGetAds(CampaignIds = c(1,2,3), Login = NULL, Token = NULL)

Функция возвращает дата фрейм со списком групп объявлений и некоторых их параметров по логину.

Аргументы:

CampaignIds - Вектор с ID рекламных кампаний, по которым необходимо загрузить список групп объявлений

Login - Логин на Яндексе

Token - Токен дотупа к API

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

ПолеТип данныхОписание IdnumИдентификатор объявления. AdGroupIdnumИдентификатор группы объявлений, к которой относится объявление. CampaignIdintИдентификатор кампании, к которой относится объявление. TypeFactorТип объявления. См. Тип объявления. SubtypeFactorодтип объявления. Для объявлений с типом, отличным от IMAGE_AD, возвращается значение NONE. StatusFactorСтатус объявления. Описание статусов см. в разделе Статус и состояние объявления. AgeLabelchrВозрастная метка. StateintСостояние объявления. Описание состояний см. в разделе Статус и состояние объявления. TextAdTitleFactorЗаголовок 1. Не более 35 символов без учета «узких» плюс не более 15 «узких» символов. Каждое слово не более 22 символов. В случае использования шаблона символы # не учитываются в длине). TextAdTitle2chrЗаголовок 2. Не более 30 символов без учета «узких» плюс не более 15 «узких» символов. Каждое слово не более 22 символов. В случае использования шаблона символы # не учитываются в длине). TextAdTextFactorТекст объявления. Не более 81 символа без учета «узких» плюс не более 15 «узких» символов. Каждое слово не более 23 символов. В случае использования шаблона символы # не учитываются в длине). TextAdHrefFactorСсылка на сайт рекламодателя. TextAdDisplayDomainFactorРекламируемый домен. Определяется автоматически на основе ссылки объявления. TextAdMobileFactorПризнак того, что объявление является мобильным: YES или NO. TextImageAdHrefchrХэш изображения. Для текстово-графических объявлений подходят только изображения с типом REGULAR и WIDE.

Пример кода для получения списка ключевых слов:

#Подключаем пакет
library(ryandexdirect)
#Получаем API token
my_token <- yadirGetToken()
#Получаем список рекламных кампаний
my_campaign <- yadirGetCampaignList(login = <ВАШ ЛОГИН>, 
                                    token = my_token)
#Получаем данные по ключевым словам
my_ads <- yadirGetAds(CampaignIds = my_campaign$Id, 
                      Login = <ВАШ ЛОГИН>, 
                      Token = my_token)

yadirGetBalance(Logins = NULL, Token = NULL)

Функция предназначена для загрузки остатка средств из общего счёта аккаунта рекламодателя, либо аккаунта клиента агентства со всеми доступными параметрами общего счёта.

Аргументы:

Logins - Текстовый вектор содердащий Логин аккаунта рекламодателя на Яндексе, либо логин клиента агентсва.

Token - Токен дотупа к API

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

ПолеТип данныхОписание AmountchrТекущий баланс общего счета (в валюте общего счета, указанной в параметре Currency). AccountIDintИдентификатор общего счета. Discount/td>intТекущая скидка рекламодателя (в процентах). В настоящее время не применяется. LoginchrЛогин рекламодателя — владельца общего счета. AmountAvailableForTransferchrСумма, доступная для перевода с помощью операции TransferMoney (в валюте, указанной в параметре Currency). CurrencychrВалюта общего счета. Возможные значения: RUB, CHF, EUR, KZT, TRY, UAH, USD, BYN. Если параметр отсутствует или равен NULL, подразумеваются условные единицы (у. е.). AgencyNamechrНазвание рекламного агентства, обслуживающего счет. Для счетов, обслуживаемых рекламодателем самостоятельно, параметр отсутствует или равен NULL SmsNotification.MoneyInSmschrСообщать об зачислении средств на общий счет — Yes/No. SmsNotification.SmsTimeTochrВремя, до которого разрешено отправлять SMS о событиях, связанных с общим счетом. Указывается в формате HH:MM, минуты задают кратно 15 (0, 15, 30, 45). SmsNotification.SmsTimeFrom/td>chrВремя, начиная с которого разрешено отправлять SMS о событиях, связанных с общим счетом. Указывается в формате HH:MM, минуты задают кратно 15 (0, 15, 30, 45). SmsNotification.MoneyOutSmschrСообщать об исчерпании средств на общем счете — Yes/No. EmailNotification.MoneyWarningValueintМинимальный баланс, при уменьшении до которого отправляется уведомление. Задается в процентах от суммы последнего платежа. Предустановленное значение — 20. EmailNotification.SendWarnlogiОтправлять оповещение на почту о том что закончились средства на основном счёте. EmailNotification.EmailchrАдрес электронной почты для отправки уведомлений, связанных с общим счетом.

Пример кода для получения списка ключевых слов:

#Подключаем пакет
library(ryandexdirect)
#Получаем API token
my_token <- yadirGetToken()

#Получаем остаток средств общего счёта для аккаунта рекламодателя
my_balance <- yadirGetBalance(Logins = "vasya",  Token = "abcdef123456")

#Получаем список клиентских аккаунтов
my_client <- yadirGetClientList(Token = "abcdef123456")
#Получаем остатки средств на общих счетах всех клиентов агентского аккаунта
my_clients_balance <- yadirGetBalance(Logins = my_client$Login,  Token = "abcdef123456")

yadirGetReport(ReportType = "CAMPAIGN_PERFORMANCE_REPORT", DateRangeType = "LAST_MONTH", DateFrom = NULL, DateTo = NULL, FieldNames = c("CampaignName","Impressions","Clicks","Cost"), FilterList = NULL, IncludeVAT = "NO", IncludeDiscount = "NO", Login = NULL, Token = NULL)

Основная функция пакета с помощь которой вы можете выгружать данные из сервиса Reports Яндекс Директ, ниже приведено подробное описание функции.

Аргументы:

ReportType - Тип отчёта, принимает на вход строку с одним из возможных значений:

Тип отчетаОписаниеДобавляется группировка данныхНе допускаются поля ACCOUNT_PERFORMANCE_REPORTСтатистика по аккаунту рекламодателя–См. раздел Допустимые поля(https://tech.yandex.ru/direct/doc/reports/fields-list-docpage/) CAMPAIGN_PERFORMANCE_REPORTСтатистика по кампаниямCampaignIdСм. раздел Допустимые поля(https://tech.yandex.ru/direct/doc/reports/fields-list-docpage/) ADGROUP_PERFORMANCE_REPORTСтатистика по группам объявленийAdGroupIdСм. раздел Допустимые поля(https://tech.yandex.ru/direct/doc/reports/fields-list-docpage/) AD_PERFORMANCE_REPORTСтатистика по объявлениямAdIdAudienceTargetId, Criteria, CriteriaId, DynamicTextAdTargetId, ImpressionShare, Keyword, Query, RlAdjustmentId, SmartBannerFilterId CRITERIA_PERFORMANCE_REPORTСтатистика по условиям показаAdGroupId, CriteriaId, CriteriaTypeAdFormat, AdId, Placement, Query CUSTOM_REPORTСтатистика с произвольными группировками–ImpressionShare, Query SEARCH_QUERY_PERFORMANCE_REPORTСтатистика по поисковым запросамAdGroupId, QueryСм. раздел Допустимые поля(https://tech.yandex.ru/direct/doc/reports/fields-list-docpage/)

DateRangeType - Тип периода отчёта, принимает на вход строку с одним из следующих значений.

DateFrom и DateTo - Начальная и конечная дата отчётного периода, необходимо указывать только в случае если в аргументе DateRangeType вы указали CUSTOM_DATE.

FieldNames - Строковый вектор содержащий названия полей которые вы хотите в результате получить, список доступных всех полей находится тут, при этом не все поля и типы отчётов совместимы между собой, если в результате запроса вы получили ошибку 400 проверьте все ли поля в вашем запросе между собой совместимы с помощью этой таблицы

Подробное описание всех полей можно посмотреть по этой ссылке.

FilterList - Строковый вектор с описанием всех фильтров которые вы хотите применить к своим данным, пример FilterList = c("Clicks GREATER_THAN 99","Impressions LESS_THAN 1000"), в данном случае вы получите таблицу агрегированные значения в которых имеют более 99 кликов и при этом менее 1000 показов, все перечисленные условия имеют между собой логическую связь "И".

IncludeVAT - Включать ли НДС в денежные суммы в отчете. Если рекламодатель работает в у. е. Директа, допускается только значение YES. Принимает значения "YES" и "NO".

IncludeDiscount - Учитывать ли скидку для денежных сумм в отчете. Если рекламодатель работает в у. е. Директа, допускается только значение NO. Принимает значения "YES" и "NO".

Login - Строковое вектор содержащий логины на Яндексе по которым необходимо получить данные.

Token - Строковое значение, ваш API token.

yadirGetDictionary(DictionaryName = "GeoRegions", Language = "ru", login = NULL, token = NULL)

Функция для загрузки справочников из API v.5. Яндекс Директ.

Аргументы

DictionaryName - Название справочника, принимает одно из следующих значений в текстовом виде.

DictionaryNameОписание AdCategoriesОсобые категории рекламируемых товаров и услуг. ConstantsОграничения на значения параметров. CurrenciesКурсы валют, валютные параметры и ограничения. GeoRegionsРегионы. MetroStationsСтанции метрополитена (только для Москвы, Санкт-Петербурга и Киева). OperationSystemVersionsмобильных приложений. ProductivityAssertionsРекомендации по повышению продуктивности. TimeZonesЧасовые пояса. SupplySidePlatformsВнешние сети (SSP). InterestsИнтересы к категориям мобильных приложений.

Language - Язык предупреждений и сообщеий (не обязательный аргумент)

login - Строковое значение, ваш логин на Яндексе.

token - Строковое значение, ваш API token.

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 Яндекс Метрики, которое позволяет выгрузить сырые данные.

Аргументы:

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

yadirGetMetrikaGAData(start_date = "10daysAgo", end_date = "today", counter_ids = NULL, dimensions = NULL, metrics = NULL, filters = NULL, sort = NULL, samplingLevel = "HIGHER_PRECISION", token = NULL)

Функция для работы с API Яндекс Метрики совместимым с Google Analytics Core Reporting API (v3) и Использовать привычные параметры запросов при сборе статистики, если ранее вы работали с Google Analytics Core Reporting API (v3).

Аргументы:

Пример работы с пакетом 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$Id], 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 = campaignList$Id,
                            dateStart = "2016-01-01",
                            dateEnd = "2016-06-30",
                            currency = "USD",
                            token = myToken)

Пример работы с функцией yadirGetReport и загрузки данных из сервиса Reports.

library(ryandexdirect)
myToken <- yadirGetToken()
My_report <- yadirGetReport(ReportType = "CAMPAIGN_PERFORMANCE_REPORT", 
                            DateRangeType = "CUSTOM_DATE", 
                            DateFrom = '2017-01-01', 
                            DateTo = '2017-01-31', 
                            FieldNames = c("CampaignName","Impressions","Clicks"), 
                            FilterList = c("Clicks GREATER_THAN 49","Impressions LESS_THAN 1001"), 
                            Login = <YourLogin>, 
                            Token = myToken)

Вместо YourLogin подставьте в виде строки ваш логин на Яндексе, для примеры работы с фильтрами данный запрос вернёт рекламные кампании по которым за выбранный период было более 49 кликов и менее 1001 показа.

Данные в отчете можно агрегировать по различным периодам. Для этого укажите в аргументе FieldNames одно из значений Date, Week, Month, Quarter или Year.

Аргумент Login является векторизирован с версии 2.4.1 и может принимать на вход вектор логинов. Пример работы с векторизированной функцией yadirGetReport:

library(ryandexdirect)
myToken     <- yadirGetToken()
clientList  <- yadirGetClientList(myToken)

stat        <- yadirGetReport(ReportType = "ACCOUNT_PERFORMANCE_REPORT", 
                              DateRangeType = "CUSTOM_DATE", 
                              DateFrom = "2017-01-01", 
                              DateTo = Sys.Date(), 
                              FieldNames = c("Date","Impressions","Clicks","Cost"), 
                              Login = clientList$Login, 
                              Token = myToken)

Пример работы с функцией yadirGetDictionary для загрузки справочников из API v.5. Яндекс Директ.

library(ryandexdirect)
myToken <- yadirGetToken()
Regions <- yadirGetDictionary(DictionaryName = "GeoRegions", 
                              Language = "ru", 
                              login = <YourLogin>, 
                              token = myToken

Вместо YourLogin подставьте в виде строки ваш логин на Яндексе, данный запрос загрузит в R справочник регионов Яндекс Директ.

Пример работы с 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)

Пример работы с API Яндекс Метрики совместимым с Google Analytics Core Reporting API (v3)

library(ryandexdirect)
myToken <- yadirGetToken()
metrikData6 <- yadirGetMetrikaGAData(start_date = "2017-08-01",
                                     end_date = "yesterday",
                                     counter_ids = "ga:111111",
                                     metrics = "ga:sessions,ga:bounces,ga:users",
                                     dimensions = "ga:date,ga:sourceMedium",
                                     token = myToken)

Как обратиться к API сервисов Яндекс.Директ и Яндекс.Метрика с помощью proxy сервера, необходимо в случае блокировки доступа к сервисам.

Для обхода блокировки API сервиса Яндекс.Директ, и Яндекс.Метрика необходимо сделать следующие действия: + Найти любой сервис генерирующий списки доступных прокси например этот + Выбрать в фильтре тип прокси поддерживающий HTTPS. + Сформировать список доступных прокси серверов.

+ Далее нам понадобятся только IP адрес и порт прокси сервера (я обычно использую сервера с портом 3128):

+ В данном случае в качестве примера возьмём американский сервер который находится в третей строке списка IP 104.37.212.5 порт 3128, далее в код R перед функцией обращения к API необходимо направить интернет соединение через прокси сервер добавив в код строку Sys.setenv(https_proxy="http://104.37.212.5:3128") + После пишем обычный код обращения к API. + После чего добавляем строку для отклчения интернет соединения от прокси сервера с помощью строки. Sys.unsetenv("https_proxy") + В случае если прокси сервер требует прохождения аутентификации вы можете указать имя пользователя и пароль: Sys.setenv(https_proxy="http://user:password@proxy_server:port") + Проверить установилась ли необходимая настройка соединения можно с помощью команды: Sys.getenv("https_proxy") + Пример кода для обращения к API Яндекс.Директ через прокси сервер. В данном случае подразумевается что ранее вы уже получили токен доступа.

library(ryandexdirect)
Sys.setenv(https_proxy="http://104.37.212.5:3128")
My_report <- yadirGetReport(ReportType = "CAMPAIGN_PERFORMANCE_REPORT", 
                            DateRangeType = "CUSTOM_DATE", 
                            DateFrom = '2017-01-01', 
                            DateTo = '2017-01-31', 
                            FieldNames = c("CampaignName","Impressions","Clicks"), 
                            FilterList = c("Clicks GREATER_THAN 49","Impressions LESS_THAN 1001"), 
                            Login = <YourLogin>, 
                            Token = "897rn4jfk3jhfyb9ufjhkjdhks3390uui")
Sys.unsetenv("https_proxy")           

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

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

Контакты:



alex-www-marketing/ryandexdirect_edit documentation built on May 4, 2019, 10:57 a.m.