R клиент для работы с API Яндекса, загрузка данных из Яндекс.Директ в R.
Вы можете поддержать проект любой произвольной суммой воспользовавшись кнопкой или перейдя по этой ссылке.
Ссылка на страницу пакета на CRAN
Пакет ryandexdirect предназначен для загрузки данных из Яндекс Директ и Яндекс Метрики в R, с помощью функций данного пакета вы можете работать с перечисленными ниже сервисами и службами API Яндекса с помощью готовых функций, не углубляясь при этом в документацию по работе с этими API сервисами.
Наиболее быстрый и эффективный способ обучение - просмотрт коротких видео уроков. На YouTube у пакета ryandexdirect
есть официальный плейлист с такими уроками.
На данный момент в плей лист добавлено 5 уроков.
Наиболее простой и распространённый способ установки из резитория CRAN использовать стандартную команду install.packages("ryandexdirect")
.
Так же вы можете установить dev версию из репозитория GitHub, для этого сначала требуется установить и подключить пакет devtools.
install.packages("devtools")
library(devtools)
После чего можно устанавливать пакет ryandexdirect.
install_github('selesnow/ryandexdirect')
# Установка пакетов
install.packages("ryandexdirect")
# Подключение пакета
library(ryandexdirect)
# Авторизация
yadirAuth(Login = "my_yandex_login", # логин пользователя Яндекс.Директ
TokenPath = "C:/direct/tokens") # путь к папаке в которой будет храниться файл с учётными данными
# ###################################################
# Загрузка различных объектов из рекламного аккаунта
# ###################################################
# Список рекламных кампаний
camp <- yadirGetCampaign(Logins = "my_yandex_login",
TokenPath = "C:/direct/tokens",
States = "ON",
Types = "TEXT_CAMPAIGN")
# Список ключевых слов
kw <- yadirGetKeyWords(Login = "my_yandex_login",
TokenPath = "C:/direct/tokens",
CampaignIds = camp$Id[1:5],
States = "ON")
# Список групп объявлений
adgroups <- yadirGetAdGroups(Login = "my_yandex_login",
TokenPath = "C:/direct/tokens",
CampaignIds = camp$Id[c(1,2)],
Types = "TEXT_AD_GROUP",
Statuses = c("ACCEPTED", "MODERATION"))
# Список объявлений
ads <- yadirGetAds(Login = "my_yandex_login",
TokenPath = "C:/direct/tokens",
CampaignIds = camp$Id[c(1,2)])
# Список быстрых ссылок
links <- yadirGetSiteLinks(Login = "my_yandex_login",
TokenPath = "C:/direct/tokens")
# ###################################################
# Загрузка справочной информации
# ###################################################
# Справочник валют
currency <- yadirGetDictionary(DictionaryName = "Currencies",
Language = "en",
Login = "my_yandex_login",
TokenPath = "C:/direct/tokens")
# Георгафический справочник
regions <- yadirGetDictionary(DictionaryName = "GeoRegions",
Language = "ru",
Login = "my_yandex_login",
TokenPath = "C:/direct/tokens")
# ###################################################
# Загрузка статистики
# ###################################################
# простейший отчёт за прошлый месяц
simple_report <- yadirGetReport(DateRangeType = "LAST_MONTH", # относительный период
FieldNames = c("Date", "Clicks", "Impressions"),
Login = "my_yandex_login",
TokenPath = "C:/direct/tokens")
# отчёт по конверсиям с моделью аттрибуции за статичный период
attribution_report <- yadirGetReport(DateFrom = "2018-11-15", # статичный период, дата начала
DateTo = "2018-11-20", # статичный период, дата завершения
FieldNames = c("Date",
"Conversions"),
Goals = c(27475434, 38234732),
AttributionModels = c("LC", "FC"),
Login = "my_yandex_login",
TokenPath = "C:/direct/tokens")
# отчёт с применением фильтрации
filtring_report <- yadirGetReport(DateRangeType = "LAST_30_DAYS",
FieldNames = c("Date", "Clicks", "Impressions"),
FilterList = c("Conversions GREATER_THAN 1",
"Impressions LESS_THAN 3500"),
Login = "my_yandex_login",
TokenPath = "C:/direct/tokens")
Наиболее подробно этот вопрос я осветил в статье “Насколько безопасно использовать R пакеты для работы с API рекламных систем”, которую опубликовал на Хабре.
Авторизация в API Яндекс.Директ осуществляется по протоколу OAuth2, если коротко этот протокол позволяет вам использовать стороние приложения для управления своими рекламными материалами не передавая свои учётные данные, логин и пароль орт входа в аккаунт.
В пакете ryandexdirect для авторизации есть 2 функци:
yadirAuth
- двухэтапная авторизацияyadirGetToken
- одноэтапная авторизацияПри использовании функции yadirAuth, а именно её я рекомендную использовать при работе с ryandexdirect, процесс авторизации идёт по описанной тут схеме, единственным уязвимым местом в данном случае является период от момента генерация кода подтверждения до ввода его в консоль R.
Объясню почему, вот как отображаются в Google Analytics данные о посещении страницы генерации кода подтверждения.
Т.е. код идёт после знака ‘?’, и считается GET параметром, который фиксирует счётчик Google Analytics, но срок жизни такого кода подтверждения заканчивается сразу после его использования, т.е. сразу после того, как вы ввели его в консоль R. Максимальный срок жизни такого кода - 10 минут.
Вторая функция yadirGetToken
, осуществляет авторизацию по другой, упрощённой, описанной тут схеме. И при её использовании никакой код подтверждения не генерируется, т.е. после того, как вы дали пакету разрешение на доступ к данным вы попадаете на страницу генерации токена. Сам токен в URL возвращается после знака ‘#’, это не get параметр, а якорь, или как ещё называют эту часть URL - хеш. Браузер не передаёт эти данные, соответственно они не передаются дальше в отчёты Google Analytics, т.е. посещение этой страницы в отчётах отображаются вот так:
В этом, втором, случае рисков никаких нет, но минус использования функции yadirGetToken заключается в том, что она не сохраняет учётные данные в файл на вашем ПК, и далее соответственно не может использовать эти данные между разными R сессиями, а это не особо удобно. Токен полученный с его помощью вы будете хранить, и использовать в скриптах как текстовую строку, срок жизни такого токена 1 год, после чего пакет не сможет автоматически его заменить, как это происходит при использовании функции yadirGetAuth.
ВАЖНО никому не передавайте полученные с помощью пакета ryandexdirect авторизационные токены, т.к. передав токен вы предоставите доступ к управлению вашеми рекламными матеариалами, при этом доступ к аккаунту вы в любом случае не потеряете, но ваши объявления сможет редактировать человек завладевший токеном.
Сами токены храняться на стороне сервера oauth.yandex.ru и они недоступны человеку зарегистрировшему приложение, подробно о том как проходит авторизация на стороне Яндекса можно узнать из официальной документации в разделе “Что такое OAuth-авторизация и OAuth-токен”.
Весь код пакета ryandexdirect открыт, и перед его использованием вы можете ознакомиться с ним на GitHub.
Первые 28 минут вебинара полностью посвящены демонстрации работы с API Яндекс.Директ с помощью пакета ryandexdirect
.
Для генерации токена в пакете есть две функции, yadirAuth
и yadirGetToken
. Получить токен можно с помощью любой из этих функций, но я рекомендую использовать yadirAuth
, функция yadirGetToken
считается устарвшей начиная с ryandexdirect 3.0.0.
Разница между ними состоит в том, что yadirGetToken
просто генерирует токен и перенаправляет вас на страницу где вы можете его скопировать, а yadirAuth
первый раз направляет вас на старницу где будет сгенерирован код для получения токена, после чего сама запрашивает токен и сохраняет в файл, в дальнейшем сама его обновляет и работает с сохранённым файлом.
Вы можете передавать токен в виде строки в агрумент Token при работе с любой из функций, но этот метод является устаревшим и не эффективным способом работы с функциями пакета ryandexdirect.
В версии 3.5.0 в пакет была добавлена новая функция для прохождения аутентификации в API yadirAuth
, но отдельно вызывать её для получения токена больше не требуется, при любом обращении к API если вы в используемой функции явно не указываете никакой токен, любая функция пакета сначала будет искать файл с сохранёнными учётными данными в рабочей директории, или в папке которую вы укажите в аргументе AgencyAccount, если файл найден то учётные данные будут загружены из него, если файл не был найден то будет открыт браузер и вам потребуется разрешить приложению ryandexdirect доступ к своему рекламному аккауну, далее будет сформирован код авторизации, который вам необходимо вставить в R консоль в ответ на запрос “Enter authorize code:”, после чего функция сама сохранит учётные данные в файл с именем login.yadirAuth.RData, где вместо login будет подставлен логин аккаунта к которому вы предоставили доступ, это необходимо для сохранения токенов полученных для разных аккаунтов. При следующих обращениях, все функции пакета будут запрашивать токен из сохранённого файла.
aut <- yadirAuth(Login = "Ваш логин в яндексе", NewUser = TRUE, TokenPath = "token_yandex")
При каждом обращении к API проверяется количество дней до того как используемый токен станет просроченным, если остаётся менее 30 дней токен автоматически будет обновлён, и файл с учётными данными перезаписан.
Ещё раз обращаю внимание на то, что хоть вы в любой момент при желании можете пройти аутентификацию в API Яндекс Директ с помощью функции yadirAuth, но это действие не является обязательным, т.к. при использовании любой функции пакета будет запущен поиск файла с учётными данными, и если файл не будет найден, то автоматически будет запущен процесс авторизации и запроса токена.
yadirGetToken()
Функция для получения токена для доступа к API Яндекс.Директ с помощью упрощённой одноэтапной аутентификации. Полученый токен используется во всех остальных функциях. Перед запуском функции необходимо авторизироваться в яндексе под логином через который есть доступ к аккаунту Яндекс.Директ, далее запустить функции, в окне браузера подтвердить разрешение на доступ к данным.
Полученный токен необходимо скопировать с сайта и ввести в консоль R, далее вам будет предложено сохранить полученный токен в файл, рекомендуется отвечать y
, в таком случае вам не придётся проходить авторизации при старте новой R сессии.
Ещё один способ получить токен, скопировать его, и использовать во всех остальных функциях как обычную текстовую строку.
Если у вас не отображается кнопка перейдите на страницу официальной документации ryandexdirect по этой ссылке.
Во всех функции пакета существуют общие аргументы, в дальнейшем эти аргументы рассматриваться в описании функций не будут.
Таким образом при работе с обычным рекламным аккаунтом вам необходимо передавать логин этого аккаунта в аргументе Login или Logins. При запуске любой функции в первую очередь будет запущен процесс поиска учётных данных для заданного логина в папке, название или путь к которой указан в аргументе TokenPath. Если файл с учётными данными для заданного логина был найден то работа функции будет продолжена без вашего вмешательства, если учётные данные для данного логина ещё не были получены, или были получены но вы не указали путь к папке в которой данный файл был сохранён то автоматически будет запущен веб браузер и вам потребуется пройти авторизацию и разрешить доступ пакету ryandexdirect к вашему рекламному аккаунту, учётные данные при этом будут сохранены в локальный файл и при дальнейшей работе будут загружаться именно из файла.
Для получения статистики по рекламным аккаунтам прикреплённым к агентскому аккаунту необходимо использовать аргумент AgencyAccount, в который необходимо передать логин или почту для вашего агентского аккаунта, а в аргумент Login / Logins передавать логин клиента, или вектор содержащий логины клиентов данного агентского аккаунта, по которым вы хотите запросить какие либо данные или совершить ещё какие либо действия.
Авторизация в данном случае будет проходить по агентскому аккаунту.
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 | Статистика по объявлениям | AdId | AudienceTargetId, Criteria, CriteriaId, DynamicTextAdTargetId, ImpressionShare, Keyword, Query, RlAdjustmentId, SmartBannerFilterId |
CRITERIA_PERFORMANCE_REPORT | Статистика по условиям показа | AdGroupId, CriteriaId, CriteriaType | AdFormat, 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 показов, все перечисленные условия имеют между собой логическую связь “И”.
Goals - Идентификаторы целей Яндекс.Метрики, по которым требуется получить статистику (см. раздел Что такое цели. Типы целей помощи Яндекс.Метрики). Не более 10 элементов в массиве. Если параметр указан, то в отчете вместо полей ConversionRate, Conversions, CostPerConversion, GoalsRoi и Revenue с агрегированными данными по всем целям будут выведены аналогичные поля с именами вида *<поле>\_
AttributionModels - Модели атрибуции, используемые при расчете данных по целям Яндекс.Метрики (см. раздел Модели атрибуции помощи Директа). Указывается вектором, прим c(“LC”, “FC”). Возможные значения:
IncludeVAT - Включать ли НДС в денежные суммы в отчете. Если рекламодатель работает в у. е. Директа, допускается только значение YES. Принимает значения “YES” и “NO”.
IncludeDiscount - Учитывать ли скидку для денежных сумм в отчете. Если рекламодатель работает в у. е. Директа, допускается только значение NO. Принимает значения “YES” и “NO”.
Login - Строковое вектор содержащий логины на Яндексе по которым необходимо получить данные.
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth
, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
TokenPath - Путь к папке в которой хранятся все файлы с учётными данными, по умолчанию все функции пакета пытаются найти нужный файл с хранящимися учётными данными в текущей рабочей директории, но вы можете указывать абсолютный или условный путь к совершенно любой папке на вашем ПК, в которой вы хотите хранить все учётные данные ваших аккаунтов Яндекс Директ. Пример условного пути TokenPath = “yandex_token”, в таком случае в рабочей директории будет создана папка yandex_token в которую и будут сохраняться все учётные данные, указав этот путь во всех функциях пакета вам не понадобится повторно запрашивать токены.
yadirGetCampaign(Logins = NULL, States = c("OFF","ON","SUSPENDED","ENDED","CONVERTED","ARCHIVED"),Types = c("TEXT_CAMPAIGN","MOBILE_APP_CAMPAIGN","DYNAMIC_TEXT_CAMPAIGN"), Statuses = c("ACCEPTED","DRAFT","MODERATION","REJECTED"), StatusesPayment = c("DISALLOWED","ALLOWED"), Token = NULL)
Функция возвращает дата фрейм со списком рекламных кампаний и некоторых их параметров по логину.
Login - Вектор с логинами на Яндексе
States - На вход принимает текстовый вектор, используется для для фильтрации кампаний в указанных состояниях. Описание состояний см. в разделе Статус и состояние кампании., допустимые значения ( “ARCHIVED” | “CONVERTED” | “ENDED” | “OFF” | “ON” | “SUSPENDED” ), пример использования (c(“ON”,”SUSPENDED”,”CONVERTED”))
Types - На вход принимает текстовый вектор, используется для фильтрации кампаний по типам, См. Тип кампании.
Statuses - На вход принимает текстовый вектор, используется для фильтрации кампаний по указанными статусами. Описание статусов см. в разделе Статус и состояние кампании.*
StatusesPayment - На вход принимает текстовый вектор, используется для фильтрации кампаний по указанным статусам оплаты. Описание статусов см. в разделе Статус и состояние кампании..*
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth
, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
yadirGetCampaign
дата фрейма:Id | chr | Идентификатор кампании. |
Name | chr | Название кампании. |
Type | Factor | Тип кампании ("TEXT_CAMPAIGN" | "MOBILE_APP_CAMPAIGN" | "DYNAMIC_TEXT_CAMPAIGN" | "UNKNOWN"). |
Status | Factor | Статус кампании ( "ACCEPTED" | "DRAFT" | "MODERATION" | "REJECTED" | "UNKNOWN" ). |
State | Factor | Состояние кампании ( "ARCHIVED" | "CONVERTED" | "ENDED" | "OFF" | "ON" | "SUSPENDED" | "UNKNOWN" ). |
DailyBudgetAmount | num | Дневной бюджет кампании в валюте рекламодателя. |
DailyBudgetMode | chr | DISTRIBUTED — распределять дневной бюджет равномерно на весь день. STANDARD — дневной бюджет может исчерпаться, а показы завершиться ранее окончания дня. |
Currency | Factor | Валюта кампании. Совпадает с валютой рекламодателя для всех кампаний. |
StartDate | Date | Дата начала показов объявлений. |
Impressions | int | Количество показов за время существования кампании. |
Clicks | int | Количество кликов за время существования кампании. |
ClientInfo | chr | Название клиента. Значение по умолчанию — наименование из настроек рекламодателя. |
Login | chr | Логин пользователя на Яндексе. |
SearchBidStrategyType | chr | Стратегия показа объявлений в поисковой сети Яндекса |
NetworkBidStrategyType | chr | Стратегия показа объявлений в рекламной сети Яндекса |
yadirGetAdGroups(CampaignIds = NULL,Login = NULL, Token = NULL)
Функция возвращает дата фрейм со списком групп объявлений и некоторых их параметров по логину.
CampaignIds - Вектор с ID рекламных кампаний, по которым необходимо загрузить список групп объявлений
Ids - ID групп объявлений которые необходимо получить
Types - Текстовый вектор, фильто по типу групп объявлений, пример: c("TEXT_AD_GROUP" ,"MOBILE_APP_AD_GROUP" ,"DYNAMIC_TEXT_AD_GROUP")
, подробно о каждом типе групп можно узнать по ссылке
Statuses - Текстовый вектор, фильтр по статусу группы объявлений, пример c( "ACCEPTED", "DRAFT", "MODERATION", "PREACCEPTED", "REJECTED")
, описание каждого статуса можно посмотреть по ссылке
Login - Логин на Яндексе
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth
, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
yadirGetAdGroups
дата фрейма:Id | num | Идентификатор группы объявлений. |
Name | Factor | Название группы. |
CampaignId | int | Идентификатор кампании. |
Type | Factor | Тип группы объявлений. См. Тип группы. |
Subtype | Factor | Подтип группы объявлений. Для групп с типом, отличным от DYNAMIC_TEXT_AD_GROUP, возвращается значение NONE. |
Status | Factor | Статус группы. См. Статус группы. |
ServingStatus | Factor | Статус возможности показов группы. См. Статус возможности показов группы. |
NegativeKeywords | chr | Минус-фразы, общие для всех ключевых фраз группы объявлений. |
TrackingParams | Factor | ET-параметры для отслеживания источников переходов на сайт, которые добавляются в ссылку всех объявлений группы (не более 1024 символов). Могут содержать подстановочные переменные. Например: from=direct&ad={ad_id} Параметр можно указать для группы любого типа, однако в настоящее время он используется только для групп динамических объявлений. Для других типов групп указанные GET-параметры в ссылку не добавляются. |
RegionIds | Factor | Идентификаторы регионов, для которых показы включены или выключены. Идентификатор 0 — показывать во всех регионах. Минус перед идентификатором региона — выключить показы в данном регионе. Например [1,-219] — показывать для Москвы и Московской области, кроме Черноголовки. |
RestrictedRegionIds | chr | Идентификаторы регионов, в которых объявления не будут показаны в связи с законодательными ограничениями. |
MobileAppAdGroupStoreUrl | chr | Ссылка на приложение в магазине приложений AppStore или Google Play (не более 1024 символов). Должна содержать протокол. Недоступна для изменения. |
MobileAppAdGroupTargetDeviceType | chr | На каких устройствах показывать объявления: DEVICE_TYPE_MOBILE — смартфоны; DEVICE_TYPE_TABLET — планшеты. |
MobileAppAdGroupTargetCarrier | chr | По каким типам подключения к интернету показывать объявления: WI_FI_ONLY — только по Wi-FI; WI_FI_AND_CELLULAR — по мобильной связи и Wi-Fi. |
MobileAppAdGroupTargetOperatingSystemVersion | chr | Минимальная версия операционной системы, на которой может быть показано объявление. Например, 2.3. Примечание. Если минимальная версия ОС в магазине приложений выше, чем заданная в параметре, то объявления будут показаны только для версий ОС как в магазине приложений или выше. |
MobileAppAdGroupAppIconModerationStatus | chr | Результат модерации иконки мобильного приложения: ACCEPTED — принята модерацией; MODERATION — находится на модерации; REJECTED — отклонена. |
MobileAppAdGroupAppIconModerationStatusClarification | chr | Текстовое пояснение к статусу и/или причины отклонения на модерации. |
MobileAppAdGroupAppOperatingSystemType | chr | Тип операционной системы (определяется автоматически на основании данных из магазина приложений): IOS — iOS; ANDROID — Android; OS_TYPE_UNKNOWN — данные из магазина приложений еще не получены. |
MobileAppAdGroupAppAvailabilityStatus | chr | Доступно ли приложение в магазине приложений: AVAILABLE — доступно; NOT_AVAILABLE — недоступно; UNPROCESSED — данные из магазина приложений еще не получены. |
DynamicTextAdGroupDomainUrl | chr | Доменное имя сайта, для которого требуется сгенерировать динамические объявления (не более 100 символов). Протокол указывать не нужно. |
DynamicTextAdGroupDomainUrlProcessingStatus | chr | Статус генерации динамических объявлений: UNPROCESSED — генерация объявлений не завершена; PROCESSED — объявления созданы; EMPTY_RESULT — не удалось создать ни одного объявления. |
DynamicTextFeedAdGroupSource | chr | Идентификатор фида. |
DynamicTextFeedAdGroupSourceType | chr | Тип источника данных. В настоящее время доступно только значение RETAIL_FEED. фида. |
DynamicTextFeedAdGroupSourceProcessingStatus | chr | Статус генерации динамических объявлений: UNPROCESSED — генерация объявлений не завершена; PROCESSED — объявления созданы; EMPTY_RESULT — не удалось создать ни одного объявления. |
#Подключаем пакет
library(ryandexdirect)
#Получаем данные по группам объявлений
my_adgroups <- yadirGetAdGroups(Login = "ВАШ ЛОГИН")
yadirGetKeyWords(CampaignIds = c(1,2,3), WithStats = T, Login = NULL, Token = NULL)
Функция возвращает дата фрейм со списком групп объявлений и некоторых их параметров по логину.
Необходимо использовать только 1 из аргументов CampaignIds, AdGroupIds, Ids.
CampaignIds - Вектор с ID рекламных кампаний, по которым необходимо загрузить список групп объявлений
AdGroupIds - Вектор с ID групп объявлений, по которым необходимо загрузить список групп объявлений
Ids - Вектор из Id ключевых слов которые необхоимо загрузить
States - Текстовый вектор, фильтр по состоянию объявлений, пример c("OFF","ON","SUSPENDED")
. Подробнее о каждом состоянии можно узнать тут.
WithStats - Логическое TRUE или FALSE, аргумент отвечает за загрузку статистики по показам и кликам, в случае если вы установите значение TRUE время работы функции будет значительно дольше.
Login - Логин на Яндексе
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth
, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
yadirGetKeyWords
дата фрейма:Id | num | Идентификатор ключевой фразы. |
Keyword | Factor | Ключевая фраза. Может содержать минус-слова. |
AdGroupId | num | Идентификатор группы объявлений, к которой относится ключевая фраза. |
CampaignId | int | Идентификатор кампании, к которой относится ключевая фраза. |
ServingStatus | Factor | Статус возможности показов группы объявлений. Описание статусов см. в разделе Статус возможности показов группы. |
State | Factor | Состояние ключевой фразы. Описание состояний см. в разделе Статус и состояние фразы. |
Status | Factor | Статус ключевой фразы. Описание статусов см. в разделе Статус и состояние фразы. |
StrategyPriority | Factor | Приоритет фразы: LOW, NORMAL или HIGH. |
StatisticsSearchImpressions | int | Количество показов всех объявлений группы в поиске по данной фразе. Рассчитывается за 28 дней от текущей даты. Для расчета отбираются дни, в течение которых был хотя бы один показ объявления по данной фразе. |
StatisticsSearchClicks | int | Количество кликов по всем объявлениям группы в поиске, показанным по данной фразе. Рассчитывается за 28 дней от текущей даты. Для расчета отбираются дни, в течение которых был хотя бы один клик по объявлению. |
StatisticsNetworkImpressions | int | Количество показов всех объявлений группы по данной фразе в сетях. Рассчитывается за 28 дней от текущей даты. Для расчета отбираются дни, в течение которых был хотя бы один показ объявления по данной фразе. |
StatisticsNetworkClicks | int | Количество кликов по всем объявлениям группы, показанным по данной фразе в сетях. Рассчитывается за 28 дней от текущей даты. Для расчета отбираются дни, в течение которых был хотя бы один клик по объявлению. |
UserParam1 | Factor | Значение подстановочной переменной {param1}. Не более 255 символов. |
UserParam2 | Factor | Значение подстановочной переменной {param2}. Не более 255 символов. |
ProductivityValue | num | Значение продуктивности фразы (до 1 знака после запятой). |
ProductivityReferences | Factor | Массив номеров рекомендаций для данной фразы. Справочник рекомендаций можно получить с помощью функции yadirGetDictionary, указав в качестве параметра DictionaryName "ProductivityAssertions". |
Bid | num | Ставка на поиске. |
ContextBid | num | Ставка в сетях. |
#Подключаем пакет
library(ryandexdirect)
#Получаем данные по ключевым словам
my_keywords <- yadirGetKeyWords(CampaignIds = my_campaign$Id,
WithStats = F,
Login = "ВАШ ЛОГИН")
yadirGetAds(CampaignIds = c(1,2,3), Login = NULL, Token = NULL)
Функция возвращает дата фрейм со списком групп объявлений и некоторых их параметров по логину.
Необходимо испольовать только один из аргументов CampaignIds, AdGroupIds, Ids CampaignIds - Вектор с ID рекламных кампаний, по которым необходимо загрузить список групп объявлений
AdGroupIds - Вектор с ID групп объявлений, по которым необходимо загрузить список групп объявлений
Ids - Вектор из Id объявлений, данные по которым надо получить
States - Ветор, фильтрация по состоянию объявления, пример c("OFF","ON","SUSPENDED","OFF_BY_MONITORING","ARCHIVED")
. Подробнее о состоянии объявления можно узнать по ссылке.
Login - Логин на Яндексе
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth
, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
yadirGetAds
дата фрейма:Id | num | Идентификатор объявления. |
AdGroupId | num | Идентификатор группы объявлений, к которой относится объявление. |
CampaignId | int | Идентификатор кампании, к которой относится объявление. |
Type | Factor | Тип объявления. См. Тип объявления. |
Subtype | Factor | одтип объявления. Для объявлений с типом, отличным от IMAGE_AD, возвращается значение NONE. |
Status | Factor | Статус объявления. Описание статусов см. в разделе Статус и состояние объявления. |
AgeLabel | chr | Возрастная метка. |
State | int | Состояние объявления. Описание состояний см. в разделе Статус и состояние объявления. |
TextAdTitle | Factor | Заголовок 1. Не более 35 символов без учета «узких» плюс не более 15 «узких» символов. Каждое слово не более 22 символов. В случае использования шаблона символы # не учитываются в длине). |
TextAdTitle2 | chr | Заголовок 2. Не более 30 символов без учета «узких» плюс не более 15 «узких» символов. Каждое слово не более 22 символов. В случае использования шаблона символы # не учитываются в длине). |
TextAdText | Factor | Текст объявления. Не более 81 символа без учета «узких» плюс не более 15 «узких» символов. Каждое слово не более 23 символов. В случае использования шаблона символы # не учитываются в длине). |
TextAdHref | Factor | Ссылка на сайт рекламодателя. |
TextAdDisplayDomain | Factor | Рекламируемый домен. Определяется автоматически на основе ссылки объявления. |
TextAdMobile | Factor | Признак того, что объявление является мобильным: YES или NO. |
TextImageAdHref | chr | Хэш изображения. Для текстово-графических объявлений подходят только изображения с типом REGULAR и WIDE. |
#Подключаем пакет
library(ryandexdirect)
#Получаем данные по ключевым словам
my_ads <- yadirGetAds(CampaignIds = my_campaign$Id,
Login = "ВАШ ЛОГИН")
yadirGetBalance(Logins = NULL, Token = NULL)
Функция предназначена для загрузки остатка средств из общего счёта аккаунта рекламодателя, либо аккаунта клиента агентства со всеми доступными параметрами общего счёта.
Logins - Текстовый вектор содердащий Логин аккаунта рекламодателя на Яндексе, либо логин клиента агентсва.
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth
, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
yadirGetBalance
дата фрейма:Amount | chr | Текущий баланс общего счета (в валюте общего счета, указанной в параметре Currency). |
AccountID | int | Идентификатор общего счета. |
Discount | int | Текущая скидка рекламодателя (в процентах). В настоящее время не применяется. |
Login | chr | Логин рекламодателя — владельца общего счета. |
AmountAvailableForTransfer | chr | Сумма, доступная для перевода с помощью операции TransferMoney (в валюте, указанной в параметре Currency). |
Currency | chr | Валюта общего счета. Возможные значения: RUB, CHF, EUR, KZT, TRY, UAH, USD, BYN. Если параметр отсутствует или равен NULL, подразумеваются условные единицы (у. е.). |
AgencyName | chr | Название рекламного агентства, обслуживающего счет. Для счетов, обслуживаемых рекламодателем самостоятельно, параметр отсутствует или равен NULL |
SmsNotification.MoneyInSms | chr | Сообщать об зачислении средств на общий счет — Yes/No. |
SmsNotification.SmsTimeTo | chr | Время, до которого разрешено отправлять SMS о событиях, связанных с общим счетом. Указывается в формате HH:MM, минуты задают кратно 15 (0, 15, 30, 45). |
SmsNotification.SmsTimeFrom | chr | Время, начиная с которого разрешено отправлять SMS о событиях, связанных с общим счетом. Указывается в формате HH:MM, минуты задают кратно 15 (0, 15, 30, 45). |
SmsNotification.MoneyOutSms | chr | Сообщать об исчерпании средств на общем счете — Yes/No. |
EmailNotification.MoneyWarningValue | int | Минимальный баланс, при уменьшении до которого отправляется уведомление. Задается в процентах от суммы последнего платежа. Предустановленное значение — 20. |
EmailNotification.SendWarn | logi | Отправлять оповещение на почту о том что закончились средства на основном счёте. |
EmailNotification.Email | chr | Адрес электронной почты для отправки уведомлений, связанных с общим счетом. |
#Подключаем пакет
library(ryandexdirect)
#Получаем остаток средств общего счёта для аккаунта рекламодателя
my_balance <- yadirGetBalance(Logins = "vasya")
#Получаем список клиентских аккаунтов
my_client <- yadirGetClientList(AgencyAccount = "agency_account_login")
#Получаем остатки средств на общих счетах всех клиентов агентского аккаунта
my_clients_balance <- yadirGetBalance(Logins = my_client$Login,
AgencyAccount = "agency_account_login")
yadirGetSiteLinks(Login, Token)
Функция для загрузки списка быстрых ссылок и их параметров, Id, текста, адресса и описания.
Login - Строковое вектор содержащий логины на Яндексе по которым необходимо получить данные.
Ids - Вектор из Id быстрых ссылок.
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth
, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
library(ryandexdirect)
ya_token <- yadirAuth(Login = "Ваш Логин в Директе")
my_links <- yadirGetSiteLinks(Login = "Ваш Логин в Директе", Token = ya_token)
yadirGetClientList(AgencyAccount = NULL, Token = NULL, TokenPath = getwd())
Данная функция возвращает дата фрейм со списком всех клиентов доступных в агентском аккаунте которому был выдан токен для доступа к API, используется только при работе с агентскими аккаунтами.
yadirGetClientList
дата фрейма:Login | chr | Логин пользователя на Яндексе |
FIO | chr | Фамилия Имя Отчество указанные в аккаунте клиентом |
StatusArch | Factor | Учетная запись пользователя помещена в архив — Yes/No |
DateCreate | POSIXct | Дата регистрации пользователя, YYYY-MM-DD. |
Role | Factor | Роль в Яндекс.Директе: Client — клиент рекламного агентства, или прямой рекламодатель, или представитель прямого рекламодателя; Agency — рекламное агентство или представитель агентства. |
chr | Адрес электронной почты клиента | |
Phone | chr | Контактный телефон в произвольном формате. |
yadirGetClientParam(Language = "ru", Login = NULL, Token = NULL)
Функция возврщает Data frame с основными параметрами аккаунта Яндекс Директ.
Language - Язык ответа
Login - Логин на Яндексе
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth
, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
yadirGetClientParam
дата фрейма:Login | chr | Логин пользователя Директа. |
ClientId | int | Идентификатор рекламодателя. |
CountryId | int | Идентификатор страны рекламодателя из справочника регионов. Справочник регионов можно получить с помощью функции yadirGetDictionary. |
Currency | chr | Валюта рекламодателя. Справочник валют можно получить с помощью функции yadirGetDictionary. |
CreatedAt | chr | Дата регистрации пользователя в Директе, в формате YYYY-MM-DD. |
ClientInfo | chr | ФИО пользователя Директа. |
AccountQuality | num | Показатель качества аккаунта. |
CampaignsTotalPerClient | int | Максимальное количество кампаний у рекламодателя. |
CampaignsUnarchivePerClient | int | максимальное количество кампаний, не находящихся в архиве. |
APIPoints | int | Суточный лимит баллов API. |
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, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth
, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
yadirStartAds(Login = NULL, Ids = NULL, Token = NULL)
Функция возобновляет показ по объявлениям и возвращает вектор с Id объявлений, по котором не удалось возобновить показы.
Ids - Числовой или текстовый вектор, содержащий Id объявлений по которым необходимо возобновить показ объявлений.
Login - Строковое значение, ваш логин на Яндексе.
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth
, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
#Получаем токен
yadirAuth(Login = "Логин")
#Получаем список рекламных кампаний
my_camp <- yadirGetCampaignList(Login = "Логин")
#Получаем список остановленных и выключенных объявлений
my_ads <- yadirGetAds(Login = "Логин", States = c("SUSPENDED","OFF"))
#Возобнолвям показы объявлений
err <- yadirStartAds(Login = "Логин", Ids = my_ads$Id)
yadirStopAds(Login = NULL, Ids = NULL, Token = NULL)
Функция останавливает показ по объявлениям и возвращает вектор с Id объявлений, по котором не удалось возобновить показы.
Ids - Числовой или текстовый вектор, содержащий Id объявлений по которым необходимо остановить показ.
Login - Строковое значение, ваш логин на Яндексе.
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth
, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
#Получаем список рекламных кампаний
my_camp <- yadirGetCampaignList(Login = "Логин")
#Получаем список остановленных и выключенных объявлений
my_ads <- yadirGetAds(Login = "Логин", States = "ON")
#Останавливаем показы объявлений
err <- yadirStopAds(Login = "Логин", Ids = my_ads$Id)
yadirStartCampaigns(Login = NULL, Ids = NULL, Token = NULL)
Функция возобновляет показ по объявлениям по рекламным кампаниям и возвращает вектор с Id рекламных кампаний, по котором не удалось возобновить показы.
Ids - Числовой или текстовый вектор, содержащий Id рекламных кампаний по которым необходимо возобновить показ объявлений.
Login - Строковое значение, ваш логин на Яндексе.
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth
, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
#Получаем список рекламных кампаний
my_camp <- yadirGetCampaignList(Login = "Логин")
#Возобнолвям показы объявлений
err <- yadirStartCampaigns(Login = "Логин", Ids = my_camp$Id)
yadirStopCampaigns(Login = NULL, Ids = NULL, Token = NULL)
Функция останавливает показ по объявлениям по рекламным кампаниям и возвращает вектор с Id рекламных кампаний, по котором не удалось возобновить показы.
Ids - Числовой или текстовый вектор, содержащий Id рекламных кампаний по которым необходимо остановить показ объявлений.
Login - Строковое значение, ваш логин на Яндексе.
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth
, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
#Получаем список рекламных кампаний
my_camp <- yadirGetCampaignList(Login = "Логин")
#Останавливаем показы объявлений
err <- yadirStopCampaigns(Login = "LOGIN", Ids = my_camp$Id)
yadirStartKeyWords(Login = NULL, Ids = NULL, Token = NULL)
Функция возобновляет показ объявлений по ключевым словам и возвращает вектор с Id ключевых слов, по котором не удалось возобновить показы.
Ids - Числовой или текстовый вектор, содержащий Id ключевых словй по которым необходимо возобновить показ объявлений.
Login - Строковое значение, ваш логин на Яндексе.
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth
, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
#Получаем список рекламных кампаний
my_camp <- yadirGetCampaignList(Login = "Логин")
#Получаем список ключевых слов
my_kw <- yadirGetKeyWords(Login = "Логин",CampaignIds = my_camp$Id[1:10])
#Возобнолвям показы объявлений
err <- yadirStartCampaigns(Login = "Логин", Ids = my_kw$Id)
yadirStopKeyWords(Login = NULL, Ids = NULL, Token = NULL)
Функция останавливает показ объявлениям по ключевым словам и возвращает вектор с Id ключевых слов, по котором не удалось возобновить показы.
Ids - Числовой или текстовый вектор, содержащий Id ключевых слов по которым необходимо остановить показ объявлений.
Login - Строковое значение, ваш логин на Яндексе.
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth
, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
#Получаем токен
yadirAuth(Login = "Логин")
#Получаем список рекламных кампаний
my_camp <- yadirGetCampaignList(Login = "Логин")
#Получаем список ключевых слов
my_kw <- yadirGetKeyWords(Login = "Логин", CampaignIds = my_camp$Id[1:10])
#Останавливаем показы объявлений
err <- yadirStopKeyWords(Login = "Логин", Ids = my_kw$Id)
yadirGetKeyWordsBids(KeywordIds = NULL, AdGroupIds = NULL, CampaignIds = NULL, AuctionBids = NA, Login = NULL, Token = NULL)
Функция возвращает ставки и приоритеты для ключевых фраз и автотаргетингов, отвечающих заданным критериям, а также данные торгов: ставки и списываемые цены для различных объемов трафика на поиске и ставки для охвата различных долей аудитории в сетях.
KeywordIds - Идентификатор ключевой фразы или автотаргетинга.
AdGroupIds - Идентификатор группы объявлений, к которой относится ключевая фраза или автотаргетинг.
CampaignIds - Идентификатор кампании, к которой относится ключевая фраза или автотаргетинг.
AuctionBids - Тип аукционов данные о торгах на которым вы хотите получить, возможные значения. Возможные значения NA, search и network.
# запрашиваем список ключевых слов
kw <- yadirGetKeyWords()
# запрашиваем ставки
bids <- yadirGetKeyWordsBids(kw$Id)
# запрашиваем ставки и данные торго на поиске
bids_search <- yadirGetKeyWordsBids(kw$Id,
AuctionBids = "search")
# запрашиваем ставки и данные торго в сетях
network_bids <- yadirGetKeyWordsBids(kw$Id,
AuctionBids = "network")
yadirSetKeyWordsBids(KeywordIds = NULL, AdGroupIds = NULL, CampaignIds = NULL, AuctionBids = NA, Login = NULL, Token = NULL)
KeywordIds - Идентификатор ключевой фразы или автотаргетинга;
AdGroupIds - Идентификатор группы объявлений, к которой относится ключевая фраза или автотаргетинг;
CampaignIds - Идентификатор кампании, к которой относится ключевая фраза или автотаргетинг;
StrategyPriority - Приоритет фразы: LOW, NORMAL или HIGH. Только для автоматической стратегии.
SearchBid - Ставка на поиске. Только для ручной стратегии. Указывается в валюте рекламодателя.
NteworkBid - Ставка в сетях. Только для ручной стратегии с независимым управлением ставками в сетях. Указывается в валюте рекламодателя.
# запрашиваем список рекламных кампаний
camp <- yadirGetCampaign()
# меняем ставки
setbid <- yadirSetKeyWordsBids(CampaignIds = camp$Id[1],
SearchBid = 9)
yadirSetAutoKeyWordsBids(KeywordIds = NULL, AdGroupIds = NULL, CampaignIds = NULL, TargetTrafficVolume = NA,SearchIncreasePercent = NULL, SearchBidCeiling = NULL, TargetCoverage = NULL, NetworkIncreasePercent = NULL, NetworkBidCeiling = NULL, Login = NULL, Token = NULL)
KeywordIds - Идентификатор ключевой фразы или автотаргетинга;
AdGroupIds - Идентификатор группы объявлений, к которой относится ключевая фраза или автотаргетинг;
CampaignIds - Идентификатор кампании, к которой относится ключевая фраза или автотаргетинг;
TargetTrafficVolume - Желаемый объем трафика на поиске. Указывается в процентах от 5 до 100. К ставке, соответствующей выбранному объему трафика, прибавляется надбавка (см. аргумент SearchIncreasePercent).
SearchIncreasePercent - Процент надбавки от 0 до 1000. Если не задан, надбавка не рассчитывается.
SearchBidCeiling - Ограничение на ставку. Целое число. Указывается в валюте рекламодателя.
TargetCoverage - Желаемая частота показа (доля аудитории) в сетях. Указывается в процентах от 1 до 100. К ставке, соответствующей выбранной частоте показа, прибавляется надбавка (см. параметр NetworkIncreasePercent).
NetworkIncreasePercent - Процент надбавки от 0 до 1000. Если не задан, надбавка не рассчитывается.
NetworkBidCeiling - Ограничение на ставку, умноженное на 1 000 000. Целое число. Указывается в валюте рекламодателя.
# запрашиваем список ключевых слов
kw <- yadirGetKeyWords()
# меняем ставки
autosetbids <- yadirSetAutoKeyWordsBids(KeywordIds = kw$Id,
TargetTrafficVolume = 50)
Подробную справку по данному функционалу вы можете получить из соответствующей виньетки или данного видео обзора.
Phrases - Вектор ключевых фраз, по которым требуется получить статистику поисковых запросов (не более 10 фраз в кодировке UTF-8). Ключевые фразы могут содержать минус-фразы. Минус-фразу из нескольких слов следует заключить в скобки, например: холодильник -морозильник -(морозильная камера) -ремонт
;
GeoID - Вектор идентификаторов регионов. Позволяет получать статистику поисковых запросов, сделанных только в указанных регионах. Чтобы исключить регион, перед его идентификатором ставят минус, например [1,-219] — получить статистику для Москвы и Московской области, кроме Черноголовки. Статистика выдается суммарно по всем плюс-регионам, из которых исключены все минус-регионы. Получить справочник регионов можно с помощью функции yadirGetDictionary()
;
s_ws_rep <- yadirGetWordStatReport(c('купить смартфон',
'купить сотовый телефон',
'купить мобильный',
'samsung -(серого цвета)'),
Login = "selesnow")
Phrases - Вектор ключевых фраз, для которых требуется получить прогноз (не более 100 фраз);
GeoID - Вектор, содержащий идентификаторы регионов для составления прогноза. Если не задан, прогноз составляется по всем регионам.;
Currency - Валюта, в которой должны быть выражены цены клика и суммарные затраты в отчете. Возможные значения: RUB, CHF, EUR, KZT, TRY, UAH, USD, BYN.;
AuctionBids - Выводить ли в отчете результаты торгов — Yes/No или TRUE
/ FALSE
. Если не задано, подразумевается No.;
library(dplyr)
# запрашиваем справочник регионов
regions <- yadirGetDictionary(Login = "selesnow")
# получаем идентификатор России
regions <- regions %>%
filter(GeoRegionName %in% c("Россия"))
# получаем идентификатор минус регионов и помечаем их минусом
minus_regions <- regions %>%
filter(GeoRegionName %in% c("Москва",
"Санкт-Петербург",
"Екатеринбург",
"Владивосток")) %>%
mutate(GeoRegionId = paste0("-", GeoRegionId))
# запрашиваем прогноз с результататми торгов
forecast <- yadirGetForecast2(Phrases = c('купить смартфон -xiaomi',
'купить xiaomi',
'самсунг -(серого цвета)'),
GeoID = c(regions$GeoRegionId, minus_regions$GeoRegionId),
AuctionBids = 'Yes',
Login = "selesnow")
Перед запуском кода замените логин агентского аккаунта на логин, под которым вы входите в ваш агентский аккаунт.
# подключение пакета
library(ryandexdirect)
# авторизация под агентским аккаунтом
yadirAuth(Login = "логин агентского аккаунта")
# список клиентов из агентского аккаунта
clientList <- yadirGetClientList(AgencyAccount = "логин агентского аккаунта")
# запрос списка рекламных кампаний из клиентских аккаунтов привязанных к агентскому аккаунту
campaignList <- yadirGetCampaignList(Logins = clientList$Login,
AgencyAccount = "логин агентского аккаунта")
# загрузка статистики из рекламных аккаунтов привязанных к агентскому аккаунту
stat <- yadirGetReport(ReportType = "ACCOUNT_PERFORMANCE_REPORT",
DateRangeType = "CUSTOM_DATE",
DateFrom = "2018-01-01",
DateTo = "2018-05-10",
FieldNames = c("AdNetworkType",
"Impressions",
"Clicks",
"Cost"),
AgencyAccount = "логин агентского аккаунта",
Login = clientList$Login)
Перед запуском кода замените значение “yandex_login”, передаваемое в аргумент Login функции yadirGetReport на логин под которым вы авторизуетесь в рекламном аккаунте Яндекс Директ.
library(ryandexdirect)
statistic <- yadirGetReport(ReportType = "ACCOUNT_PERFORMANCE_REPORT",
DateRangeType = "CUSTOM_DATE",
DateFrom = "2018-01-01",
DateTo = "2018-05-10",
FieldNames = c("AdNetworkType",
"Impressions",
"Clicks",
"Cost"),
Login = "yandex_login",
TokenPath = "token_yandex")
# Пример работы с агентским рекламным аккаунтом
library(ryandexdirect)
# Задаём переменную с логином агентского аккаунта
agency_login <- "YourLogin"
# Загрузка списка клиентов
clients <- yadirGetClientList(AgencyAccount = "netpeak.kz",
TokenPath = agency_login )
# Загрузка статистики по всем клиентам агентского аккаунта
agancy_stats <- yadirGetReport(ReportType = "ACCOUNT_PERFORMANCE_REPORT",
DateRangeType = "CUSTOM_DATE",
DateFrom = "2018-01-01",
DateTo = "2018-05-10",
FieldNames = c("AdNetworkType",
"Impressions",
"Clicks",
"Cost"),
Login = clients$Login,
AgencyAccount = agency_login ,
TokenPath = "token_yandex")
Вместо YourLogin подставьте в виде строки ваш логин на Яндексе, для примеры работы с фильтрами данный запрос вернёт рекламные кампании по которым за выбранный период было более 49 кликов и менее 1001 показа.
Данные в отчете можно агрегировать по различным периодам. Для этого укажите в аргументе FieldNames одно из значений Date, Week, Month, Quarter или Year.
Аргумент Login является векторизирован с версии 2.4.1 и может принимать на вход вектор логинов.
library(ryandexdirect)
myToken <- yadirAuth(Login = "Ваш Логин на Яндексе")
После запуска функции автоматически будет открыт браузер, на странице с выданным вам токеном, скопируйте его и вставьте в консоль 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)
library(ryandexdirect)
myToken <- yadirGetToken()
Regions <- yadirGetDictionary(DictionaryName = "GeoRegions",
Language = "ru",
login = <YourLogin>,
token = myToken
Вместо YourLogin подставьте в виде строки ваш логин на Яндексе, данный запрос загрузит в R справочник регионов Яндекс Директ.
Для обхода блокировки API сервиса Яндекс.Директ, и Яндекс.Метрика необходимо сделать следующие действия:
Sys.setenv(https_proxy="http://104.37.212.5:3128")
Sys.unsetenv("https_proxy")
Sys.setenv(https_proxy="http://user:password@proxy_server:port")
Sys.getenv("https_proxy")
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")
Контакты
email: selesnow@gmail.com skype: selesnow telegram: @AlexeySeleznev |
|||||
Vkontakte | Blog | GitHub | Stepic |