Директ яндекс документация: API Директа — Технологии Яндекса

Содержание

Урок 1. Что такое API Директа. API Яндекс.Директа. Версия 5

В этом уроке вы узнаете:

  1. Что такое API
  2. Для чего нужен API Директа
  3. С чего начать
  4. Объекты в веб-интерфейсе и в API
  5. Задание
  6. Как выглядит запрос к API
  7. Полезные ссылки
  8. Вопросы

В этом уроке мы расскажем, зачем Директу API, и познакомим вас с основными принципами работы.

Яндекс.Директ — это единая платформа для размещения контекстной и медийной рекламы. Директ покажет объявления целевой аудитории вашего бизнеса, заинтересованной в ваших товарах или услугах.



Чтобы работать с Директом, достаточно открыть веб-интерфейс, создать аккаунт и разместить объявления. В дальнейшем управлять рекламой в Директе можно не только в веб-интерфейсе, но и через API.

Совет. Если вы еще не работали с Директом, рекомендуем предварительно пройти обучающий курс Как разместить рекламу в Директе и ознакомиться с Помощью. Это позволит вам понять общие принципы создания и ведения рекламных кампаний и лучше освоить наш курс по API.

API (англ. Application Programming Interface) — это интерфейс программирования приложений. API сервиса предоставляет набор готовых процедур, функций и структур, с помощью которых разработчики могут создавать свои программы, приложения, скрипты (далее — приложения) для работы с сервисом.

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



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

Используя API Директа, вы можете управлять теми же рекламными материалами, что и в веб-интерфейсе. API позволяет автоматизировать рутинные операции, ускорить их выполнение и тем самым повысить эффективность управления аккаунтом. API полезен для тех, кто работает с большими объемами данных, не хочет зависеть от интерфейса в браузере и предпочитает тонкую настройку рекламы.



Вы можете создать приложение для решения своих задач — как независимый разработчик, рекламодатель или рекламное агентство. Например, вы можете написать скрипт, который будет через API автоматически обновлять ставки по вашему собственному алгоритму. Вы можете интегрировать с Директом информационную систему вашей компании — загрузить в Директ большое количество объявлений из вашей базы данных, автоматически обновлять тексты объявлений при изменении цены товара, останавливать и возобновлять показы в зависимости от наличия товара на складе. Вы можете выгружать ежедневную статистику по рекламным кампаниям в аналитическую систему или систему финансового учета.

Подключение к API Директа и его использование является бесплатным.

Для прохождения курса вам потребуется аккаунт в Директе. Создайте, если у вас его еще нет:

  1. Войдите на Яндекс под своим логином, который будете использовать как разработчик приложений. Если у вас нет логина на Яндексе — зарегистрируйтесь.

  2. В веб-интерфейсе Директа (https://direct.yandex.ru) нажмите кнопку Запустить рекламу.
  3. Укажите актуальный адрес электронной почты, выберите страну и валюту. Нажмите кнопку Начать пользоваться сервисом.

  4. Создайте первую рекламную кампанию — рекомендуем выбрать тип кампании «Текстово-графические объявления». Укажите параметры кампании и создайте первое объявление. На этом этапе вам достаточно создать одно объявление-черновик с одной ключевой фразой. Отправлять объявления на модерацию и зачислять денежные средства на кампанию не требуется.

Примечание. Более подробную информацию о создании аккаунта в Директе вы можете найти в Помощи. Советуем также пройти соответствующий урок курса по Директу.

Теперь у вас есть аккаунт в Директе. Давайте посмотрим, как выглядят ваши рекламные материалы в веб-интерфейсе и в API.

Рекламная кампания в Директе состоит из групп объявлений, каждая из которых содержит объявления и ключевые фразы. Объявления могут включать в себя дополнительные элементы: изображения, быстрые ссылки и другие.



Взаимосвязь объектов в API представлена на схеме:



  • Campaign — рекламная кампания, AdGroup — группа объявлений, Ad — объявление.

  • Дополнения к объявлению: AdImage — изображение, VCard — визитка, SitelinksSet — набор быстрых ссылок, AdExtension — уточнение.

  • Условия показа объявлений группы: Keyword — ключевая фраза и другие, в зависимости от типа кампании. Для условия показа можно установить ставку — KeywordBid.



Изучите настройки своей рекламной кампании в Директе. Создайте новые объявления с разными параметрами. Если вы не хотите запускать реальную кампанию — не отправляйте группы объявлений на модерацию, тогда объявления останутся в статусе «Черновик».

Выполнить задание

Рекламные материалы, которые вы видите в веб-интерфейсе, можно получить с помощью запросов к API. Внести изменения тоже можно с помощью запросов к API — и сразу увидеть результат в веб-интерфейсе. API работает с каждым объектом в отдельности: различные методы API позволяют создать объявление, обновить визитку, получить статистику и многое другое.

Вот как выглядит запрос к API, который позволяет получить список рекламных кампаний пользователя. Запрос отправляется по сетевому протоколу HTTPS методом POST.



В следующих уроках мы проведем вас по всем начальным этапам работы с API:

  • Расскажем, как получить доступ к API — зарегистрировать приложение на сервисе Яндекс.OAuth, подать заявку на доступ, получить OAuth-токен.

  • Поможем настроить тестовую среду для отладки приложения — Песочницу.

  • Научим формировать запросы к API: покажем, какие сервисы и методы предоставляет API, подробно рассмотрим структуру запроса.

  • В завершение дадим несколько советов, как перейти от тренировки в Песочнице к работе с реальными рекламными материалами реальных пользователей.

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

Желаем успеха!

  1. Для работы с API необходим аккаунт в Директе. Что нужно сделать для создания аккаунта в Директе?
  2. Что можно делать с помощью API Директа?
  3. Если вы внесете изменения в рекламную кампанию через API Директа, то где они будут отображены?

Руководство по API Яндекс.Директ | Блог YAGLA

API Яндекс.Директа – это интерфейс рекламной системы для разработчиков программ. Он позволяет автоматизировать работу с Яндекс.Директ и использовать все его функции – от получения статистики до создания рекламных кампаний с нуля. И всё абсолютно бесплатно.

 

Результат работы с API – ваше приложение по управлению контекстной рекламой в Яндекс.Директ с собственными настройками и алгоритмами. Кстати, для этого совсем не обязательно быть профи в программировании – достаточно базовых знаний PHP или Python.

 

Как всё это применять и что нужно, чтобы начать работу – смотрите в этой статье.

Для чего нужен API Яндекс.Директ

API Директа дает возможность разрабатывать и внедрять алгоритмы для управления рекламными кампаниями под ваши нужды. Это пригодится как агентствам, так и крупным рекламодателям, которые запускают и ведут масштабные кампании. Их деятельность предполагает множество рутинных действий, например:

 

  • Массовое создание и редактирование кампаний, объявлений и ключевых фраз;
  • Управление ставками;
  • Получение статистики по показам и кликам;
  • Прогноз бюджета.

 

Инструмент API позволяет создать приложение, в котором все нужные вам однотипные операции выполняются автоматически и в котором можно создавать удобные инструменты для просмотра и редактирования кампаний. Автоматизировать можно практически всё, даже обновление цены за клик по заданному вами алгоритму.

 

Вы разрабатываете что-то наподобие Директ Коммандера. Эта программа – готовое решение Яндекса на основе API Яндекс.Директа. Как её применять, смотрите руководство по старой и новой версиям.

 

Приложения, созданные по API Яндекс.Директа, рассчитаны на пользователей, у которых есть аккаунт в Директе. Это прямые рекламодатели, агентства и их клиенты с доступом только на чтение (могут только получать и просматривать данные) или на редактирование (они получают в API все те же самые функции, что в интерфейсе).

Структура API

По сути API Директа – это набор сервисов, каждый из которых привязан к конкретному классу объектов и имеет отдельный URL. Объекты API взаимосвязаны между собой, как показано на скриншоте:

 

 

Изображение из руководства Яндекса для разработчиков

 

Сервисы верхнего уровня – Campaign и AdGroup. Первый содержит настройки рекламной кампании, второй нужен для работы с группами объявлений.

 

На следующем уровне – сервисы Ad (параметры объявления), Keyword (ключевые фразы), Audience Target (условия нацеливания на аудиторию) и DynamicTextAdTarget (условия нацеливания для динамических объявлений).

 

Далее идут сервисы для работы с элементами объявления: AdImage (изображениями), VCard (виртуальной визиткой), SitelinksSet (блоком быстрых ссылок), AdExtension (расширением к объявлению).

 

Для управления условиями ретаргетинга и подбора аудитории есть специальный сервис – RetargetingList.

 

У каждого сервиса свой набор методов для выполнения операций с его объектами. Основные методы, которые доступны для всех объектов – это добавление (add), изменение параметров (update), удаление (delete) и получение параметров (get).

 

Есть также специфические методы, которые поддерживают определенные объекты. Например, отправление объявлений на модерацию (moderate) – метод для сервиса Ads. Весь список доступных методов по областям применения смотрите в документации API.

 

Итак, с чего начать, чтобы разработать собственное приложение для работы с контекстной рекламой в Яндекс.Директе? Во-первых, нужен доступ к API. Далее рассмотрим пошагово, как его получить.

Шаг 1: создание и регистрация приложения на Яндекс.OAuth

Авторизуйтесь в Яндекс.Директе. Используйте для этого аккаунт разработчика – именно от этого имени ваше приложение будет выполнять запросы и управлять данными.

 

Перейдите по ссылке oauth.yandex.ru. Нажмите кнопку «Зарегистрировать новое приложение»:

 

В правой части страницы – ссылки на справочные материалы для разработчиков.

 

Далее вы попадаете на форму «Создание приложения», где нужно указать все его необходимые параметры:

 

 

Обязательные опции помечены звездочкой, это «Название» и «Доступы». Но чем больше информации о приложении вы укажете, тем более прозрачно оно будет для пользователей. Они будут знать, какой именно программе разрешают доступ к своему аккаунту.

 

В блоке «Платформы» отметьте галочкой «Веб-сервисы»:

 

 

Появится поле адреса. В нем вы указываете, куда направлять пользователя после того, как он разрешил или отказал приложению в доступе. Адресов Callback URI может быть несколько, например, для тестового и боевого режима.

 

На этапе создания приложения нажмите ссылку «Подставить URL для разработки».

 

 

В поле появится тестовый адрес, который позволит получать отладочные токены вручную. Они нужны для проверки работы приложения, подробнее об этом далее в статье.

 

В блоке «Доступы» выберите «Яндекс.Директ» и отметьте «Использование API Яндекс.Директа»:

 

 

Завершите создание приложения:

 

 

На этом регистрация закончена. При этом OAuth-сервер Яндекса сразу же генерирует и показывает на странице идентификатор и пароль приложения.

 

 

Они понадобятся вам далее.

Шаг 2: создание заявки на доступ

В аккаунте Яндекс.Директа долистайте до нижнего меню и перейдите по ссылке «API»:

 

 

Далее нажмите «Получить доступ к API»:

 

 

Вы попадете на страницу настроек API. Чтобы она была доступна, нужно выполнить формальное требование: в интерфейсе Яндекс. Директа должна быть минимум одна рекламная кампания с одним объявлением и одной ключевой фразой.

 

При первом входе нужно принять пользовательское соглашение:

 

 

На странице «Настройки API» перейдите на вкладку «Мои заявки», чтобы создать и отправить заявку на доступ к API. Нажмите кнопку «Новая заявка» и выберите её тип.

 

 

Тестовый доступ – это ограниченный доступ к API, то есть только к Песочнице – тестовой среде для отладки приложений. Она имитирует работающие рекламные кампании, их достаточно для того, чтобы протестировать и отладить приложение. Полный доступ (боевой) дает возможность управлять реальными рекламными кампаниями клиентов.

 

Так как приложение еще не разработано, создайте заявку на тестовый доступ. Для этого:

 

1) Из выпадающего списка выберите идентификатор, который получили после регистрации приложения на OAuth-сервере:

 

 

2) Укажите email для связи со службой поддержки;

 

3) Заполните остальные данные о приложении по максимуму – укажите, для чего оно предназначено, его основные функции и возможности и т. д.:

 

4) Подтвердите согласие с пользовательским соглашением и отправьте заявку.

 

 

Статус заявки отслеживайте здесь же – на вкладке «Мои заявки» в настройках. Дождитесь её одобрения – это может занять до 7 дней. Только после этого можно начинать разрабатывать приложение. В случае отклонения – узнайте причины и исправьте ошибки.

 

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

 

На вкладке «Мои приложения» можно увидеть, какие приложения уже имеют доступ к аккаунту Яндекс.Директ через API. В том числе, если вы использовали Директ.Коммандер, он появится в этом списке:

 

Шаг 3: создание тестового пользователя и тестовых данных для него

1) Зарегистрируйте аккаунт тестового пользователя в Яндекс.Директе;

 

2) Создайте от его имени рекламную кампанию в интерфейсе Яндекс. Директа – достаточно одного объявления с одним ключевиком, чтобы получить доступ к API;

 

3) В разделе API интерфейса Директа нажмите ссылку «Получить доступ к API» и примите пользовательское соглашение;

 

4) Включите песочницу – среду для отладки приложения, где можно управлять тестовыми кампаниями без реальных показов и внесения средств.

 

Для этого откройте вкладку «Песочница» на странице настроек API и начните ею пользоваться:

 

 

В следующем окне задайте параметры песочницы:

 

 

Поставьте галочку «Создать тестовые кампании». Если вы выбрали роль «Клиент» создаются три кампании. Для роли «Агентство» – 3 клиента с 3 кампаниями, их логины формируются автоматически. На одну кампанию каждого клиента зачисляется некоторая сумма.

 

Включение флажка «Общий счет» создает клиента с подключенным общим счетом. Для агентства опция недоступна.

 

Нажмите «Продолжить», чтобы начать управлять песочницей.

 

Внимание! Если сменить параметры, все данные удаляются. Нужно создавать песочницу заново.

 

5) От имени тестового пользователя получите отладочный токен. С помощью него можно проверять работу приложений.

 

Когда пользователь авторизуется в Яндекс.Директе и нажимает кнопку «Подтвердить», то есть дает доступ к своим данным приложения, сервер Яндекса генерирует токен и передает его приложению.

 

Как всё происходит:

 

  • Приложение направляет пользователя на страницу Яндекс.OAuth;
  • На этой странице пользователь разрешает доступ к своим данным приложению;
  • Яндекс.OAuth перенаправляет пользователя на адрес, указанный в поле Callback URL. Код подтверждения или описание ошибки передается в параметре URL перенаправления;
  • Приложение получает адрес перенаправления и извлекает код подтверждения;
  • Приложение отправляет POST-запрос с этим кодом;
  • Яндекс.OAuth возвращает токен в теле ответа.

 

Если объяснять с технической стороны, запрос к API выполняется по протоколу HTTPS методом POST (отправление данных). В этом запросе содержится HTTP-заголовок с токеном пользователя, от имени которого осуществляется запрос. Ответ содержит заголовок RequestId – это уникальный идентификатор запроса.

 

Некоторые приложения (например, консольные или установленные на телевизорах Smart TV) не могут получить код подтверждения из URL. В этом случае пользователь самостоятельно его получает от Яндекс.OAuth и вводит в приложении или на странице авторизации.

 

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

 

Далее вы выполняйте запросы к песочнице. Вот пример запроса:

 

Практика использования API Яндекс.Директ

В инструменте API множество методов для разных объектов, многие из них дорабатываются и улучшаются со временем. Рассмотрим подробно, как их применять на практике.

 

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

 

Отчет содержит ту же статистику, которая доступна в сервисе Яндекс Wordstat за прошедший месяц.

 

Ограничения:

 

  • За сутки можно получить статистику для тысячи фраз;
  • На сервере хранится максимум 5 отчетов по всем кампаниям;
  • Отчеты хранятся на сервере в течение 5 часов, а затем автоматически удаляются.

 

Так выглядит структура входных данных в формате JSON:

 

{

   «method»: «CreateNewWordstatReport»,

   «param»: {

      /* NewWordstatReportInfo */

      «Phrases«: [

         (string)

         …

      ],

      «GeoID«: [

         (int)

         …

      ]

   }

}

 

Phrases – это массив ключевых фраз, по которым нужно получить статистику поисковых запросов (добавить можно не более 10). минус-фразы из нескольких слов пишите в скобках, например: холодильник -морозильник -(морозильная камера) -ремонт.

 

GeoID – идентификаторы регионов, по которым нужно получить статистику поисковых запросов. Можно исключить регион, поставив минус. Если вы не указали этот параметр, либо указали только минус-регионы, либо минус-регионы совпадают c плюс-регионами, статистика выдается по всем регионам.

 

Вообще в API Яндекс.Директа можно решать самые разнообразные задачи, например:

 

— Интегрировать функции Яндекс.Директ и данные из собственной базы.

 

Примеры применения: автоматическое добавление в ключевые фразы названий брендов или моделей товаров, остановка / возобновление показов объявлений в зависимости от наличия товаров на складе, обновление текстов объявлений при изменении прайс-листа. И многое другое, в зависимости от данных, которые у вас есть;

 

— A/B-тестирование объявлений.

 

Принцип тот же, что в интерфейсе: в самом начале все варианты из группы объявлений показываются равномерно. По мере накопления статистики система выбирает объявление с самым высоким CTR (самое привлекательное по мнению целевой аудитории) и показывает его чаще;

 

— Мониторинг и анализ эффективности рекламных кампаний.

 

Можно настроить автоматическое получение сводной и детальной статистики по показам, кликам, конверсиям и другим показателям и выгрузку её в сторонние программы (системы поддержки принятия решений, системы финансового учета и т.д.)

 

Все примеры использования API смотрите в меню «Практика использования» по ссылке.

 

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

Получение рекламных кампаний Яндекс Директ с помощью API в DataFrame (Python) / Хабр

Работая сразу с несколькими клиентами, появляется необходимость оперативно анализировать много информации в разных аккаунтах и отчетах. Когда клиентов становится больше 10, маркетолог больше не успевает постоянно следить за статистикой. Но выход есть.

В данной статье я расскажу про то, как следить за рекламными аккаунтами с помощью API и Python.

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

Для этого нам нужно:

  1. Получить токен API Яндекс Директ
  2. Написать запрос к серверу
  3. Импортировать данные в DataFrame

Импорт библиотек

Необходимо импортировать те библиотеки, которые используются в запросе, а также «pandas» и «DataFrame».

Весь импорт будет выглядеть так:

import requests
from requests.exceptions import ConnectionError
from time import sleep
import json
import pandas as pd
import numpy as np
from pandas import Series,DataFrame

Получение токена

Данный момент я не смогу рассказать лучше документации API Директа, поэтому оставлю ссылку.

(Инструкция по получению токена)

Пишем запрос к серверу API Яндекс Директ

Копируем запрос из документации API

Изменим запрос.

  • Прописываем свои токен и логин

Токен.

token = ‘blaBlaBLAblaBLABLABLAblabla’

Логин.

clientLogin = ‘e-66666666’

  • Подстраиваем тело запроса под себя.

Из этого

body = {
    "params": {
        "SelectionCriteria": {
            "DateFrom": "НАЧАЛЬНАЯ_ДАТА",
            "DateTo": "КОНЕЧНАЯ_ДАТА"
        },
        "FieldNames": [
            "Date",
            "CampaignName",
            "LocationOfPresenceName",
            "Impressions",
            "Clicks",
            "Cost"
        ],
        "ReportName": u("НАЗВАНИЕ_ОТЧЕТА"),
        "ReportType": "CAMPAIGN_PERFORMANCE_REPORT",
        "DateRangeType": "CUSTOM_DATE",
        "Format": "TSV",
        "IncludeVAT": "NO",
        "IncludeDiscount": "NO"

Делаем это

 body = {
    "params": {
        "SelectionCriteria": {
            "Filter": [
                {
                    "Field": "Clicks",
                    "Operator": "GREATER_THAN",
                    "Values": [
                        "0"
                    ]
                },

            ]
        },
        "FieldNames": [
            "CampaignName",
            "Impressions",
            "Clicks",
            "Ctr",
            "Cost",
            "AvgCpc",
            "BounceRate",
            "AvgPageviews",
            "ConversionRate",
            "CostPerConversion",
            "Conversions"
        ],
        "ReportName": u("Report4"),
        "ReportType": « ",
        "DateRangeType": "LAST_5_DAYS",
        "Format": "TSV",
        "IncludeVAT": "NO",
        "IncludeDiscount": "NO"
    }
} 

В

SelectionCriteria

пишем, как будем отбирать данные. Стандартно там пишется 2 даты, но, чтобы не нужно было их постоянно менять, заменим отрезок времени на «Последние 5 дней».

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

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

ReportType. В данном поле пишется тип отчета, для кампаний нужен именно этот отчет.

У вас должно получиться что-то подобное.

5. Импортируем данные в DataFrame.

(DataFrame, вероятно, самый подходящий способ для работы с этими данными.)

Я смог реализовать эту функцию с помощью записи и чтения csv файла.
Находим в запросе кусок, который отвечает за вывод статистики — это «req. text».

Удаляем стандартный вывод программы на запись в файл. Для этого меняем все выводы в коде 200.

 print("Отчет создан успешно")
print("RequestId: {}".format(req.headers.get("RequestId", False)))
print("Содержание отчета: \n{}».format(u(req.text))) 

На:

 format(u(req.text)) 

Теперь импортируем ответ сервера в DataFrame.

 file = open("cashe.csv", "w")
file.write(req.text)
file.close()
f = DataFrame.from_csv("cashe.csv",header=1, sep='	', index_col=0,) 

Пошагово:

  • Открываем (и автоматически создаем) файл cashe.csv для записи
  • Записываем в него ответ сервера
  • Закрываем файл
  • Открываем файл как DataFrame (указываем, название файла, в какой строке находятся заголовки таблицы, какой делитель между данными, в каком столбце индекс)

Получилось следующее:

Убираем ограничение на вывод столбцов:

 pd.set_option('display. max_columns', None)
pd.set_option('display.expand_frame_repr', False)
pd.set_option('max_colwidth', -1) 

Теперь показывается все:

Единственная проблема — денежные значение показываются не так, как хотелось. Это особенности реализации API Яндекс Директ. Нам просто нужно разделить денежные значения на 1000000.

f['Cost'] = f['Cost']/1000000
f['AvgCpc'] = f['AvgCpc']/1000000
f['CostPerConversion'] = f['CostPerConversion']/1000000 

Также предлагаю сразу сделать сортировку по количеству кликов

f=f.sort_values(by=['Clicks'], ascending=False) 

Вот у нас и получился готовый к анализу DataFrame

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

Спасибо за внимание.

Конечный код:
import requests
from requests.exceptions import ConnectionError
from time import sleep
import json
import pandas as pd
import numpy as np
from pandas import Series,DataFrame

pd. set_option('display.max_columns', None)
pd.set_option('display.expand_frame_repr', False)
pd.set_option('max_colwidth', -1)

# Метод для корректной обработки строк в кодировке UTF-8 как в Python 3, так и в Python 2
import sys

if sys.version_info < (3,):
    def u(x):
        try:
            return x.encode("utf8")
        except UnicodeDecodeError:
            return x
else:
    def u(x):
        if type(x) == type(b''):
            return x.decode('utf8')
        else:
            return x

# --- Входные данные ---
# Адрес сервиса Reports для отправки JSON-запросов (регистрозависимый)
ReportsURL = 'https://api.direct.yandex.com/json/v5/reports'

# OAuth-токен пользователя, от имени которого будут выполняться запросы
token = 'тут токен'

# Логин клиента рекламного агентства
# Обязательный параметр, если запросы выполняются от имени рекламного агентства
clientLogin = 'тут логин'

# --- Подготовка запроса ---
# Создание HTTP-заголовков запроса
headers = {
           # OAuth-токен. Использование слова Bearer обязательно
           "Authorization": "Bearer " + token,
           # Логин клиента рекламного агентства
           "Client-Login": clientLogin,
           # Язык ответных сообщений
           "Accept-Language": "ru",
           # Режим формирования отчета
           "processingMode": "auto"
           # Формат денежных значений в отчете
           # "returnMoneyInMicros": "false",
           # Не выводить в отчете строку с названием отчета и диапазоном дат
           # "skipReportHeader": "true",
           # Не выводить в отчете строку с названиями полей
           # "skipColumnHeader": "true",
           # Не выводить в отчете строку с количеством строк статистики
           # "skipReportSummary": "true"
           }

# Создание тела запроса
body = {
        "params": {
            "SelectionCriteria": {
                "Filter": [
                    {
                        "Field": "Clicks",
                        "Operator": "GREATER_THAN",
                        "Values": [
                            "0"
                        ]
                    },

                ]
            },
            "FieldNames": [
                "CampaignName",
                "Impressions",
                "Clicks",
                "Ctr",
                "Cost",
                "AvgCpc",
                "BounceRate",
                "AvgPageviews",
                "ConversionRate",
                "CostPerConversion",
                "Conversions"
            ],
            "ReportName": u("Report4"),
            "ReportType": "CAMPAIGN_PERFORMANCE_REPORT",
            "DateRangeType": "LAST_5_DAYS",
            "Format": "TSV",
            "IncludeVAT": "NO",
            "IncludeDiscount": "NO"
        }
    }

# Кодирование тела запроса в JSON
body = json. dumps(body, indent=4)

# --- Запуск цикла для выполнения запросов ---
# Если получен HTTP-код 200, то выводится содержание отчета
# Если получен HTTP-код 201 или 202, выполняются повторные запросы
while True:
    try:
        req = requests.post(ReportsURL, body, headers=headers)
        req.encoding = 'utf-8'  # Принудительная обработка ответа в кодировке UTF-8
        if req.status_code == 400:
            print("Параметры запроса указаны неверно или достигнут лимит отчетов в очереди")
            print("RequestId: {}".format(req.headers.get("RequestId", False)))
            print("JSON-код запроса: {}".format(u(body)))
            print("JSON-код ответа сервера: \n{}".format(u(req.json())))
            break
        elif req.status_code == 200:
            format(u(req.text))
            break
        elif req.status_code == 201:
            print("Отчет успешно поставлен в очередь в режиме офлайн")
            retryIn = int(req.headers.get("retryIn", 60))
            print("Повторная отправка запроса через {} секунд".format(retryIn))
            print("RequestId: {}".format(req.headers.get("RequestId", False)))
            sleep(retryIn)
        elif req.status_code == 202:
            print("Отчет формируется в режиме офлайн")
            retryIn = int(req.headers.get("retryIn", 60))
            print("Повторная отправка запроса через {} секунд".format(retryIn))
            print("RequestId:  {}".format(req.headers.get("RequestId", False)))
            sleep(retryIn)
        elif req.status_code == 500:
            print("При формировании отчета произошла ошибка. Пожалуйста, попробуйте повторить запрос позднее")
            print("RequestId: {}".format(req.headers.get("RequestId", False)))
            print("JSON-код ответа сервера: \n{}".format(u(req.json())))
            break
        elif req.status_code == 502:
            print("Время формирования отчета превысило серверное ограничение.")
            print("Пожалуйста, попробуйте изменить параметры запроса - уменьшить период и количество запрашиваемых данных.")
            print("JSON-код запроса: {}".format(body))
            print("RequestId: {}".format(req.headers.get("RequestId", False)))
            print("JSON-код ответа сервера: \n{}".format(u(req.json())))
            break
        else:
            print("Произошла непредвиденная ошибка")
            print("RequestId:  {}".format(req.headers.get("RequestId", False)))
            print("JSON-код запроса: {}".format(body))
            print("JSON-код ответа сервера: \n{}".format(u(req.json())))
            break

    # Обработка ошибки, если не удалось соединиться с сервером API Директа
    except ConnectionError:
        # В данном случае мы рекомендуем повторить запрос позднее
        print("Произошла ошибка соединения с сервером API")
        # Принудительный выход из цикла
        break

    # Если возникла какая-либо другая ошибка
    except:
        # В данном случае мы рекомендуем проанализировать действия приложения
        print("Произошла непредвиденная ошибка")
        # Принудительный выход из цикла
        break

file = open("cashe.csv", "w")
file.write(req.text)
file.close()
f = DataFrame.from_csv("cashe.csv",header=1, sep='	', index_col=0,)

f['Cost'] = f['Cost']/1000000
f['AvgCpc'] = f['AvgCpc']/1000000
f['CostPerConversion'] = f['CostPerConversion']/1000000
f=f.sort_values(by=['Clicks'], ascending=False)

print(f)

SE::Yandex::Direct — парсер объявлений Яндекс Директ direct.yandex.ru | Документация | A-Parser

INSERT INTO ads VALUES(‘oknamr.ru’, ‘Пластиковые <b>окна</b> недорого <b>в</b> <b>Москве</b>: купить по низким…’, ‘Компания «<b>ОКНА</b> <b>МОСКВЫ</b>» выполняет установку пластиковых <b>окон</b>, дверей и перегородок, а также остекление балконов <b>в</b> <b>Москве</b> и Подмосковье.’)

INSERT INTO ads VALUES(‘gor-okna.ru’, ‘Купить <b>окна</b> ПВХ недорого | <b>Окна</b> ПВХ <b>в</b> <b>Москве</b> по ценам…’, ‘Заказать качественные <b>окна</b> ПВХ <b>в</b> <b>Москве</b> с доставкой и установкой. … <b>Москва</b>. с 9:00 до 21:00 ежедневно.’)

INSERT INTO ads VALUES(‘balcon-msk.ru’, ‘Остекление балконов и лоджий <b>в</b> <b>Москве</b>.’, ‘Компания «Балконы <b>Москвы</b>» производит профессиональное остекление балконов и лоджий … В цену включено: <b>Окна</b> алюминиевые 3,2х0,7м h-1,5м, водоотлив, монтаж…’)

INSERT INTO ads VALUES(‘окнамаркет33.рф’, ‘Весна! Время купить новые <b>окна</b> ПВХ! Подарок – Москитная…’, ‘<b>Окно</b> 1.3х1.4 за 9900 под ключ в панельном доме! <b>Окно</b> 2.0х1.4 за 13500 под ключ!’)

INSERT INTO ads VALUES(‘topokno72.ru’, ‘Пластиковые <b>окна</b>. Двери, балконы’, ‘Пластиковые <b>окна</b> и любые конструкции из ПВХ WinTech, Exprof, Proplex, Rehau, KBE’)

INSERT INTO ads VALUES(‘okna-moskvy1.ru’, ‘<b>Окна</b> <b>Москвы</b>. Официальный сайт’, ‘Только до конца месяца. <b>Окна</b> REHAU со скидкой до 60%. Мультистекло в подарок. Жмите!’)

INSERT INTO ads VALUES(‘russia.superjob.ru’, ‘Пластиковые и алюминиевые <b>окна</b>’, ‘Новые коллеги уже ждут тебя! Удобный поиск, бесплатные рекомендации, быстрый импорт.&nbsp;&middot; 20 лет на рынке. Рекомендации. Удобный поиск. Онлайн-поддержка’)

INSERT INTO ads VALUES(‘gorokna-11.ru’, ‘Пластиковые <b>окна</b> <b>в</b> Воркуте. <b>Окна</b>,лоджии,балконы’, ‘<b>Окна</b> ПВХ со скидкой в Воркуте’)

INSERT INTO ads VALUES(‘shop.oknagorizont.ru’, ‘Интернет магазин <b>окон</b>, недорогие пластиковые <b>окна</b>…’, ‘Интернет магазин <b>окон</b> без монтажа, недорогие пластиковые <b>окна</b> уже сегодня, низкие цены на <b>окна</b>. Много в наличии и на заказ, срочное изготовление…’)

INSERT INTO ads VALUES(‘msk-oknaidveri.ru’, ‘Пластиковые <b>окна</b> ПВХ и входные металлические двери…’, ‘Классические ПВХ-<b>окна</b> — это <b>окна</b>, выполненные из пластика, сертифицированные в Министерстве строительства России и соответствующие СНиП и другим…’)

INSERT INTO ads VALUES(‘oknamag.pro’, ‘Пластиковые <b>окна</b> для дачи купить в Окнамаг Про’, ‘Размеры пластикового <b>окна</b>: 600 высота, 600 ширина. Доступные варианты изго.. Быстрый просмотр. Код товара: опд0606.’)

INSERT INTO ads VALUES(‘фурнитура-окон.рф’, ‘Фурнитура для пластиковых <b>окон</b> — Запчасти…’, ‘Фурнитура для <b>окон</b> <b>в</b> розницу и оптом. Поможем сделать правильный выбор комплектующих и запчастей для ваших пластиковых <b>окон</b>.’)

INSERT INTO ads VALUES(‘OknaGarant.ru’, ‘Готовые пластиковые <b>окна</b> <b>в</b> <b>Москве</b>, купить новые…’, ‘<b>Окна</b> уже ждут вас на нашем складе! Склад находится <b>в</b> <b>Москве</b> в пределах МКАД. Экономия, стоимость значительно ниже (по сравнению с <b>окнами</b> на заказ).’)

INSERT INTO ads VALUES(‘domaster.ru’, ‘Оконные аксессуары и фурнитура купить <b>в</b> <b>Москве</b>…’, ‘Для <b>окон</b> и дверей. Интернет-магазин Брасс — место, где вы купите аксессуары для ухода за <b>окнами</b> и фурнитуру разных компаний с доставкой по России.’)

INSERT INTO ads VALUES(‘sms-m.ru’, ‘Пластиковые <b>окна</b> изготовление <b>в</b> <b>Москве</b>’, ‘Когда вставал вопрос о минимизации издержек при изготовлении модульных зданий, компанией СтройМонтажСервис-М было принято решение запустить собственную…’)

INSERT INTO ads VALUES(‘rosband.ru’, ‘Купить пластиковые <b>окна</b> <b>в</b> <b>Москве</b>’, ‘Пластиковые <b>окна</b> обладают отличным свойством теплоизоляции и нет никакой необходимости тратить больше … г. <b>Москва</b>, 1-й Добрынинский переулок, 19 стр. 6.’)

INSERT INTO ads VALUES(‘moskva.miltor.ru’, ‘Купить пластиковые <b>окна</b> <b>в</b> <b>Москве</b>: 185 предложений’, ‘Купить пластиковые <b>окна</b> <b>в</b> <b>Москве</b> вы можете, воспользовавшись объявлениями нашего сайта. Тут вы узнаете стоимость пластиковых <b>окон</b>, условия заказа и адрес…’)

INSERT INTO ads VALUES(‘city-jaluzi.ru’, ‘Жалюзи на <b>окна</b> купить недорого <b>в</b> <b>Москве</b> — отзывы, фото…’, ‘Производим жалюзи на <b>окна</b>, шьем шторы, собираем карнизы и рольставни на заказ с 2006 года Цены от 495 до 5 900 ₽ за 1 кв.м, Бесплатно замеряем и…’)

Как настроить Яндекс Директ самостоятельно

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

Отличает Директ от конкурентов ряд особенностей, о которых и пойдет речь далее. Я разберу не только их, но и расскажу о том, как начать работу с данной площадкой и выложить свое первое объявление.

Преимущества использования Яндекс.Директ

Предлагаю сразу начать с преимуществ использования этого инструмента.

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

  2. Повышенная эффективность благодаря присутствующим в системе настройкам.

  3. Направленное таргетирование, то есть можно выбрать город, время показа и другие параметры, описывающие целевую аудиторию.

  4. Гарантия публикации объявлений на проверенных сайтах, которые уже прошли строгую модерацию.

  5. Отсутствие различной документации и других нюансов, мешающих запустить рекламу в кратчайшие сроки.

  6. Простой интерфейс, с которым разберется даже начинающий владелец веб-ресурса.

И это только основные преимущества, определяющие всю суть контекстной рекламы в «Директ». 

Создание аккаунта и рекламной кампании

Теперь можно приступить к выполнению основных действий на сайте рекламной площадки. Начать стоит с регистрации профиля и размещении основной информации, необходимой для старта рекламной кампании. Перейдите на официальный сайт и создайте новый аккаунт в Яндексе, если у вас его еще нет. После успешной авторизации на главной странице нажмите кнопку «Запустить рекламу».

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

Обратите внимание, что на сайте есть раздел «Затрудняетесь с настройкой кампании». Там можно выбрать помощь от специалиста Яндекс или частного сертифицированного лица. Конечно, эта услуга будет стоить денег, но некоторым пользователям лучше применить ее, нежели заниматься настройкой вручную.

В первом окне создания кампании понадобится заполнить основную информацию: дать ссылку на сайт, добавить ключевые цели и счетчики, указать стратегию (бюджет на рекламу и места показа) и ввести ограничения по времени. Как только все поля будут заполнены, переходите к следующему шагу.

Второй этап заключается в настройке аудитории. Вы должны выбрать, из какого города она будет, добавить ключевые фразы по запросам и минус-фразы, выбрать интересы пользователя и ретаргетинг (то есть показывать ли объявление тому лицу, которое посещало один из указанных сайтов). Все это заполняется в соответствии с личными предпочтениями.

Остается только выбрать тип объявления. Это может быть текстово-графическое изображение, просто картинка, видео или мобильная реклама. Следующие параметры уже зависят от выбранного типа. Доступно прикрепление различных ссылок и сообщений, изображений и видео, цен на товар и других деталей, которые могут отображаться в объявлении. Есть дополнения, например, виртуальная визитка или цена товара. Каждое из дополнений добавляет определенное количество процентов к кликабельности.

На этом процесс основной настройки завершен. Пополните кошелек, чтобы активировать кампанию.

Подбор ключевых фраз

Важной составляющей успешной рекламной кампании является подбор правильных ключевых фраз. Они и влияют на параметр показа рекламы, то есть объявление всплывает только в том случае, если пользователь ищет в Яндексе что-либо, совпадающее с указанными ключевыми словами. Для начала необходимо узнать, какие из фраз являются самыми популярными и как их нужно писать, чтобы повысить эффективность показов. Для этого используйте фирменный сервис от данной компании под названием Яндекс Подбор слов (Вордстат). 

Введите запрос по ключевым словам и ознакомьтесь со статистикой, узнав, какие из выражений вашей тематики самые популярные. Скопируйте их и задайте при настройке своего объявления, указав их в виде списка в специальном блоке. Учитывайте, что фраз для одной группы объявлений может быть не больше 200.

При работе с ключевыми словами вы точно обратите внимание на блок «‎минус-фразы». Ими являются те запросы, которые не должны триггериться для вашего объявления. Например, вы продаете исключительно летние шины, поэтому вам подходит ключевая фраза «‎Купить шины», но в качестве минус-слова нужно задать «-‎зимние», поскольку вы таким не промышляете и показывать рекламу пользователям, желающим приобрести такой комплект, не нужно.‎‎

Аукционы в Яндекс.Директ

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

Типы аукционов меняются, и на данный момент Яндекс использует формат VCG. Это сложная система, заключающаяся в автоматическом подборе цены клика, которая необходима для достижения требуемой эффективности рекламной кампании.

Настройка ретаргетинга 

Выше я уже вскользь затронул тему ретаргетинга, рассказывая о базовых настройках группы объявлений. Теперь же пришло время поговорить об этой функции более детально, поскольку иногда ее использование помогает значительно повысить кликабельность и эффективность показа объявлений. Если кратко, ретаргетинг – схема показа объявлений тем пользователям, которые уже посещали связанные с вашим продуктом сайты. Вы самостоятельно определяете, какие сегменты юзеров стоит захватывать и какие страницы веб-ресурса при этом учитывать. Обязательно нужно использовать счетчик в Яндекс.Метрике.

Читайте также: Что такое Вебвизор в Яндекс.Метрике

После успешного добавления сайта можно приступать к настройке ретаргетинга на странице работы с объявлением. В качестве цели укажите страницу или целый сайт, вставив ссылку в соответствующее поле. Добавьте свои правила, влияющие на показ объявлений, после чего завершите настройку и ознакомьтесь с прогнозируемым количеством посетителей.

Выбор автоматической стратегии показа объявлений

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

Оптимизация кликов‎

Первый тип называется «Средняя цена клика». Оптимален для пользователей, не желающих тратить на рекламу больше конкретной суммы в неделю. При настройке обязательно указывается определенная цифра, а система автоматически устанавливает величину ставок, отдавая предпочтение‎ максимальному числу пользователей для привлечения.

Недостаток этого варианта стратегии – невозможность заранее спрогнозировать верную среднюю ставку, поскольку иногда наступает резкий рост конкуренции или на рынок приходят рекламодатели с более широкими кошельками, из-за чего должного результата достичь не удается.

Оптимизация конверсии

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

Этот вариант сложнее в плане реализации, поскольку необходимо выполнить определенные расчеты, учитывая недельный бюджет и примерную эффективность показа объявлений.

Оптимизация рентабельности

Если вы являетесь владельцем интернет-магазина, обратите внимание на эту стратегию. Она пригодится, если нужно управлять ROI и следить за окупаемостью, приближая значения к целям. Здесь тоже нужно использовать Метрику, установив соответствующие цели. При выборе этой стратегии доступно несколько параметров: цена за клик, недельный бюджет и процент от себестоимости товара.

Знакомство с Директ Коммандер

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

Я постарался детально рассказать о том, что такое реклама в Яндекс.Директ, как настроить свое первое объявление и какую стратегию развития выбрать. Конечно, абсолютно все детали раскрыть не получится, поскольку это сложная тема.

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

Пошаговое руководство к API Яндекс.Директ.

API Яндекс.Директа это интерфейс рекламной системы для программирования контекстной рекламы. С помощью данного сервиса можно довести работу с Яндекс.Директом до автоматизма, а также совершенно бесплатно воспользоваться всеми функциями этого сервиса – от создания рекламы с нуля до получения статистических данных. Теперь это возможно не только для профессионалов, но и для тех, кто владеет только базовыми знаниями Python и PHP.

Функции API Яндекс.Директ

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

Такой инструмент, как API позволит сгенерировать приложение для автоматического выполнения всех нужных вам рутинных операций. Также в нём будет возможность создавать удобные инструменты для рекламных кампаний. Автоматизировать получится почти всё, вплоть до обновления цены за один клик по выбранному вами алгоритму.

Созданные с помощью API Яндекс-сервиса программы рассчитаны на тех пользователей, у которых уже есть аккаунт в сервисе: рекламодателей, рекламные агентства и их клиентов, которым открыт только доступ для просмотра. Тем клиентам, которым открыт доступ к редактированию материала, в API доступны такие же функции, как и в интерфейсе.

Структура API

Фактически, API Яндекс.Директа является набором сервисов. Каждый из них имеет свой URL и привязан к определённому классу объектов. API-объекты связаны между собой таким образом:


К верхнему уровню относятся сервисы AdGroup и Campaign. AdGroup необходим для работы с группами объявлений, а в сервисе Campaign содержатся настройки для рекламных кампаний.

Сервисы следующего уровня помогут работать с элементами рекламных объявлений.

Также имеется специальный сервис для подбора рекламной аудитории – RetargetingList.
Для начала работы с контекстной рекламой в Яндекс.Директе необходим доступ к API. Рассмотрим алгоритм его получения.

Шаг 1. Создание и регистрация приложения на Яндекс.OAuth

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

Пройдя по ссылке oauth.yandex.ru, кликните «Зарегистрировать новое приложение».


Вы попадаете в раздел «Создание приложения». В предложенной форме укажите необходимые вам параметры.


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

В блоке «Платформы» необходимо выбрать графу «Веб-сервисы».


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

При создании приложения нажмите «Подставить URL для разработки».


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

В блоке «Доступы» вам нужно выбрать «Яндекс.Директ» и отметить «Использование API Яндекс.Директа».


Завершается создание программы кликом на соответствующую кнопку:


Регистрация окончена. Сервер Яндекса тут же сгенерирует и покажет ID приложения и пароль для входа в него.

Шаг 2. Создание заявки для доступа

В нижнем меню аккаунта сервиса перейдите по ссылке «API».

Затем необходимо нажать «Получить доступ к API».

Потребуется принять пользовательское соглашение.

На странице «Настройки API» для того, чтобы создать и отправить заявку на доступ в API нужно будет перейти в раздел «Мои заявки», затем нажать «Новая заявка» и выбрать её тип.


Так как ваше приложение ещё разработано, нужно создать заявку на тестовый доступ. Вы получите возможность сымитировать работу настоящей рекламной кампании, чтобы опробовать и наладить приложение. Для этого нужно сделать следующее:

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


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


4. подтвердить вашу заявку Пользовательским соглашением и отправить её.


Требуется дождаться одобрения заявки, что может занять до 7 дней. В случае отказа нужно узнать её причины и исправить недостатки. Отслеживать статус заявки можно в разделе «Мои заявки».

Во вкладке «Мои приложения» вы увидите, какие программы уже имеют доступ к аккаунту через API.

Шаг 3. Создание тестового пользователя и данных для него

1. Регистрируете тестовый аккаунт в Яндекс.Директе
2. Создаёте тестовую рекламную кампанию – достаточно всего одного объявления с одним ключевиком.
3. В Директе, в разделе API нажимаете «Получить доступ к API».
4. Включаете так называемую песочницу – среду для наладки программы, в которой вы можете управлять тестовой кампанией.


5. В качестве тестового пользователя получаете токен для отладки.

ryandexdirect package — RDocumentation

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

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

  • Сервис Reports — Предназначен для получения статистики по аккаунту рекламодателя.
  • API Директа версии 4 и Live 4 — Через API внешние приложения добавляют и редактируют кампании, объявления, фразы, задают ставки, получают статистику показов.
  • API Директа версии 5 — Через API внешние приложения добавляют и редактируют кампании, объявления, фразы, задают ставки, получают статистику показов.

Пакет позволяет вам выполнять следующие действия:

  1. Авторизовываться в API.
  2. Получать список различных объектов рекламного кабинета, рекламных кампаний, групп объявлений, объявлений, для агентских аккаунтов можно запрашивать список клиентов, и параметры каждого клиента.
  3. Управлять показами на уровне рекламных кампаний, групп объявлений и объявлений.
  4. Загружать статистику.
  5. Упаравлять ставками ключевых слов и автотаргетингов.
  6. Загружать данные о расходах, показах и кликах из Яндекс.Директ в Google Analytics.
  7. Запрашивать данные из сервиса WordStat
  8. Получить прогноз показов, кликов и трат по заданным ключевым фразам и регионам.

Видео уроки

У ryandexdirect есть официальный обучающий плейлист на YouTube, все видео доступны по ссылке.

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

Установка пакета осуществляется из репозитория CRAN

install.packages("ryandexdirect")

или 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")

# ###################################################
# Управление ставками
# ###################################################

# запрашиваем ставки
bids  <- yadirGetKeyWordsBids(kw$Id)

# запрашиваем ставки и данные торго на поиске
bids_search <- yadirGetKeyWordsBids(kw$Id,
                                    AuctionBids = "search")
                                    
# запрашиваем ставки и данные торго в сетях
network_bids <- yadirGetKeyWordsBids(kw$Id,
                                     AuctionBids = "network")

# запрашиваем список рекламных кампаний
camp <- yadirGetCampaign()

# меняем ставки
setbid     <- yadirSetKeyWordsBids(CampaignIds = camp$Id[1],
                                   SearchBid   = 9)

# меняем ставки
autosetbids <- yadirSetAutoKeyWordsBids(KeywordIds = kw$Id,
                                        TargetTrafficVolume = 50)

Виньетки

Пакет имеет подробные виньетки отдельно по каждой из своих возможностей, в которой наиболее подробно описаны детали работы с его функционалом. На данный момент в пакете ryandexdirect доступны 3 виньетки.

  1. Загрзка статистики из API Яндекс Директ: vignette("yandex-direct-get-statistic", package = "ryandexdirect")
  2. Авторизация и работа с учётными данными: vignette("yandex-direct-auth", package = "ryandexdirect")
  3. Управление ставками ключевых слов в Яндекс Директ: vignette("yandex-direct-keyword-bids", package = "ryandexdirect")
  4. Загрузка данных из сервиса WordStat и построение прогноха по показам, кликам и тратам: vignette("yandex-direct-get-wordstat-forecast", package = "ryandexdirect")
  5. Загрузка данных о расходах, показах и кликах из Яндекс Директ в Google Analytics: vignette("yandex-direct-cost-data", package = "ryandexdirect")

Статьи о пакете ryandexdirect

Вебинары

Ссылки

  1. Полная, официальная документация по работе с пакетом ryandexdirect.
  2. Баг репорты, предложения по доработке и улучшению функционала ryandexdirect оставлять тут.
  3. Список релизов.
  4. Телеграмм канал R4marketing.
  5. Группа в Вконтакте.

Автор пакета

Алексей Селезнёв, Head of analytics dept. at Netpeak email: [email protected] skype: selesnow facebook: facebook.com/selesnow blog: alexeyseleznev.wordpress.com

Бейджи

Документация по

Supermetrics | Таблицы хранилища данных Яндекс.Директа

Продукты

  • Суперметрики для Google Таблиц
  • Суперметрики для Google Data Studio
  • Суперметрики для Excel
  • Суперметрики для BigQuery
  • Суперметрики для DWH и облачного хранилища
  • API Supermetrics

Источники данных

  • Рекламные данные + Google Analytics
  • Adform
  • Adobe Analytics
  • Adobe Analytics 2.0
  • AdRoll
  • Ahrefs
  • Apple App Store / iTunes общедоступные данные
  • Поисковая реклама Apple
  • Awin
  • Инструменты Bing для веб-мастеров
  • CallRail
  • Criteo
  • Рекламная библиотека Facebook
  • Facebook реклама
  • Сеть аудитории Facebook
  • Facebook Insights
  • Публичные данные Facebook
  • Google Менеджер рекламы
  • Google AdSense
  • Google Рекламы
  • Гугл Аналитика
  • Google Analytics 4
  • Google Campaign Manager
  • Google Дисплей и Видео 360
  • Google Мой бизнес
  • Google Search Ads 360
  • Консоль поиска Google
  • Google Trends
  • HubSpot
  • Статистика Instagram
  • Публичные данные Instagram
  • Klaviyo
  • LinkedIn Ads
  • Страницы LinkedIn
  • Mailchimp
  • Microsoft Advertising
  • Moz
  • Netvisor
  • Оптимизировать
  • Outbrain Amplify
  • Реклама в Pinterest
  • Pinterest Органический
  • Публичные данные Pinterest
  • Quora Ads
  • Публичные данные Reddit
  • Salesforce
  • Salesforce Marketing Cloud
  • Searchmetrics
  • SEMrush Analytics
  • Проекты SEMrush
  • Shopify
  • Smarp
  • Snapchat маркетинг
  • StackAdapt
  • Полоса
  • Табула
  • Торговый стол
  • TikTok Ads
  • Публичные данные Tumblr
  • Реклама в Твиттере
  • Twitter Премиум
  • Публичные данные Twitter
  • Verizon Media DSP
  • Нативная реклама Verizon Media
  • Публичные данные Vimeo
  • Публичные данные ВКонтакте
  • Яндекс.Прямой
    • Поля
    • Таблицы хранилища данных
  • Яндекс.Метрика
  • YouTube

© 2021 Supermetrics
Условия использования · Политика конфиденциальности

Документация по

Supermetrics | Справочник полей Яндекс.Директа

Продукты

  • Суперметрики для Google Таблиц
  • Суперметрики для Google Data Studio
  • Суперметрики для Excel
  • Суперметрики для BigQuery
  • Суперметрики для DWH и облачного хранилища
  • API Supermetrics

Источники данных

  • Рекламные данные + Google Analytics
  • Adform
  • Adobe Analytics
  • Adobe Analytics 2.0
  • AdRoll
  • Ahrefs
  • Apple App Store / iTunes общедоступные данные
  • Поисковая реклама Apple
  • Awin
  • Инструменты Bing для веб-мастеров
  • CallRail
  • Criteo
  • Рекламная библиотека Facebook
  • Facebook реклама
  • Сеть аудитории Facebook
  • Facebook Insights
  • Публичные данные Facebook
  • Google Менеджер рекламы
  • Google AdSense
  • Google Рекламы
  • Гугл Аналитика
  • Google Analytics 4
  • Google Campaign Manager
  • Google Дисплей и Видео 360
  • Google Мой бизнес
  • Google Search Ads 360
  • Консоль поиска Google
  • Google Trends
  • HubSpot
  • Статистика Instagram
  • Публичные данные Instagram
  • Klaviyo
  • LinkedIn Ads
  • Страницы LinkedIn
  • Mailchimp
  • Microsoft Advertising
  • Moz
  • Netvisor
  • Оптимизировать
  • Outbrain Amplify
  • Реклама в Pinterest
  • Pinterest Органический
  • Публичные данные Pinterest
  • Quora Ads
  • Публичные данные Reddit
  • Salesforce
  • Salesforce Marketing Cloud
  • Searchmetrics
  • SEMrush Analytics
  • Проекты SEMrush
  • Shopify
  • Smarp
  • Snapchat маркетинг
  • StackAdapt
  • Полоса
  • Табула
  • Торговый стол
  • TikTok Ads
  • Публичные данные Tumblr
  • Реклама в Твиттере
  • Twitter Премиум
  • Публичные данные Twitter
  • Verizon Media DSP
  • Нативная реклама Verizon Media
  • Публичные данные Vimeo
  • Публичные данные ВКонтакте
  • Яндекс.Прямой
    • Поля
    • Таблицы хранилища данных
  • Яндекс.Метрика
  • YouTube

© 2021 Supermetrics
Условия использования · Политика конфиденциальности

README — Документация для yandex-api-direct (0.0.1)

Доступ к Яндекс API и работа с кампаниями и статистикой

Установка

Только в консоли

  gem установить yandex-api-direct
  

Или положить в Gemfile

  гем "yandex-api-direct"
  

и где-нибудь перед использованием (не рельсы — они потребуют самоцвета автоматически)

  требуется "yandex-api-direct"
  

Инициализация

Установите значения конфигурации, позвонив в ЯндексАпиДирект.config = {}

  YandexApiDirect.config = {
  locale: "en"
  application_id: «ИДЕНТИФИКАТОР ВАШЕГО ПРИЛОЖЕНИЯ»
  логин: «ЗАПОЛНИТЬ ЛОГИН ПОЛЬЗОВАТЕЛЯ»
  access_token: «ЗАПОЛНИТЬ ТОКЕН ДОСТУПА ДЛЯ ПОЛЬЗОВАТЕЛЯ»
}
  

Получите application_id, зарегистрировав свое приложение на https://oauth.yandex.com/client/new (полный документ: http://api.yandex.com/oauth/doc/dg/tasks/register-client.xml)

Если вам нужно получить токен Oauth, вам также понадобится пароль приложения (также указан на странице регистрации).

Работа с самоцветом

Вы можете получить доступ к основным классам: Client, Campaign, CampaignParam, CampaignStats

Как работает один класс

Основные классы унаследованы от Hashr и включают ЯндексObject Эта комбинация обеспечит очень простой доступ ко всем возвращаемым значениям из API.

  кампаний = ЯндексАпиДирект :: Campaign.find
кампания = campaign.first
campaign.name campaign.campaign_id campaign.clicks  

Аргументы из api — это хэш, этот хеш сохраняется хешем непосредственно в экземпляр. Ключи от API подчеркнуты для использования в качестве обычных методов, а не для кампании . Имя вместо этого используйте: имя кампании.наименование Экземпляр по-прежнему имеет хэш, вы можете делать все, как с обычным хешем.

Найти

  ЯндексАпиДирект :: Клиент.найти

ЯндексАпиДирект :: Campaign.find

ЯндексАпиДирект :: CampaignParams.find

ЯндексАпиДирект :: CampaignStats.find
  

Аргументы для методов

Все аргументы, которые вы передаете в params, автоматически преобразовываются в верблюд, потому что API Яндекса принимает только имена атрибутов Camelcased:

  campaign.campaign_stats start_date: Date.today
{: "StartDate" => Date.today}
  

Если вы будете реализовывать собственные методы, вы можете использовать встроенный метод в Яндекс.Объекте camelize_keys (hash)

Иерархия

Яндекс использует эту иерархию, а гем следует ей

  • Клиент
    • Кампания
    • CampaignParams
    • Статистика кампании
  клиент = Клиент.find.first

кампании = client.campaigns

кампания = campaign.first

campaign.campaign_stats start_date: Date.today-8, end_date: Date.today-1
campaign.campaign_params
  

Гибкость

Существует класс YandexApiDirect :: Generic, который предоставляет метод класса get имеет два параметра

  • название метода — подчеркнутый
  • args (необязательно) — должен быть хеш или массив
  ЯндексАпиДирект :: Generic.get "get_clients_info"

ЯндексАпиДирект :: Generic.получить "get_clients_list"
  

Таким образом, вы можете вызывать все методы без написания дополнительного кода.

Песочница / Производственная среда

Яндекс API позволяет использовать песочницу для тестирования: Яндекс Песочница

В вашем помощнике по тестированию запишите

  YandexApiDirect.url «песочница» YandexApiDirect.url «производственная»  

Это установит URL-адрес Яндекса в песочницу или в продакшн. Если вы не укажете URL-адрес, он будет использовать ENV [‘RACK_ENV’] или ENV [‘RAILS_ENV’] == «test», он будет использовать «песочницу» по умолчанию, во всех других средах (включая разработку) по умолчанию будет установлено «производство». «

Участие в расширении redis-model-extension

  • Проверьте последнюю версию мастера, чтобы убедиться, что функция не реализована или ошибка еще не исправлена.
  • Проверьте систему отслеживания проблем, чтобы убедиться, что кто-то еще не запрашивал и / или не вносил свой вклад.
  • Вилка проекта.
  • Запустить ветку функций / исправлений.
  • Зафиксируйте и продолжайте, пока не будете довольны своим вкладом.
  • Обязательно добавьте тесты для этого. Это важно, поэтому я случайно не нарушу его в будущей версии.
  • Пожалуйста, постарайтесь не связываться с Rakefile, версией или историей. Если вы хотите иметь свою собственную версию или она необходима по другим причинам, это нормально, но, пожалуйста, выделите ее в отдельную фиксацию, чтобы я мог ее обойти.

Авторские права

Copyright (c) 2012 Ондрей Бартас. См. LICENSE.txt для дальнейшие подробности.

Источник данных Яндекс.Директ | Документация SegmentStream

Начало работы

  1. В панели администратора нажмите Добавить источник данных .
  2. Выберите из списка Яндекс.Директ .
  3. Нажмите Авторизуйтесь на Яндексе и пройдите процесс аутентификации.
  4. При необходимости примените дополнительные настройки.
  5. Нажмите Сохранить .

Конфигурация для рекламных агентств

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

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

Поддерживаемые параметры динамического URL

По умолчанию Яндекс.Директ позволяет использовать множество параметров динамической разметки URL для отслеживания кампаний.

SegmentStream поддерживает следующие параметры:

Имя Описание Переданное значение
{ad_id} или {banner_id} ID объявления. номер
{addphrases} Был ли показ инициирован соответствующими ключевыми словами. да — показ объявления по связанному ключевому слову
нет — показ объявления согласно одному из исходных ключевых слов
{campaign_name} Название кампании. текст до 60 символов
{campaign_type} Тип кампании. type1 — Текстовые и графические объявления
type2 — Объявления для мобильных приложений
type3 — Динамические объявления
type4 — Смарт-баннеры
type6 — Поисковый баннер
{campaign_id} Идентификатор рекламной кампании. номер
{device_type} Тип устройства, на котором было произведено впечатление. настольный — настольный
мобильный — мобильный телефон
планшет — планшет
{gbid} ID группы. номер
{keyword} Ключевое слово, по которому было показано объявление (текстовые и графические объявления или объявления для мобильных приложений). текст ключевого слова без минус-слов
{фраза_id} Идентификатор ключевого слова для текстовых и графических объявлений или объявлений для мобильных приложений. номер
{retargeting_id} Идентификатор целевой аудитории, который связывает группу объявлений со списком ретаргетинга или интересами мобильного приложения.Подробнее о целевых аудиториях читайте в документации API Яндекс.Директа. номер
{coef_goal_context_id} Идентификатор корректировки ставок для списка ретаргетинга. номер
{adtarget_name} Цель динамической текстовой рекламы. имя цели динамической текстовой рекламы
{adtarget_id} Идентификатор условия таргетинга для динамической рекламы. номер
{position_type} Тип рекламного блока, если объявление появлялось на странице результатов поиска Яндекса. премиум — премиум размещение
прочее — блок справа или внизу
нет — реклама отображалась в рекламных сетях (РСЯ или биржах)
{источник} Размещение. домен издателя рекламной сети (например, travel.ru ) для показов в рекламных сетях (РСЯ или рекламные биржи)
нет для показов в поиске Яндекса
Для показа на поисковых сайтах в рекламной сети Яндекса используйте домен или значение none.
{source_type} Тип рекламной сети. поиск — поиск по сайту
контекст — сайт рекламной сети
{region_name} Название региона, в котором показывалась реклама. название региона
{region_id} ID региона, в котором показывалась реклама. номер

Если вы используете некоторые из неподдерживаемых параметров в UTM-тегах, SegmentStream не сможет сопоставить ваши данные о расходах с сеансами Google Analytics для этого UTM-тега.

Чтобы в отчетах по анализу затрат сохранить соответствие посещений и расходов на рекламу, переместите неподдерживаемые параметры из UTM-тегов в дополнительные пользовательские GET-параметры и соберите их в специальные параметры в Google Analytics:

  • Данные о расходах будут доступны только для значений UTM-тегов.
  • Данные сеанса будут доступны для неподдерживаемых параметров (через пользовательские измерения) и значений UTM-тегов.

Примечание. Убедитесь, что вы помечаете все дополнительные ссылки кампании так же, как и кампанию.В противном случае SegmentStream не сможет правильно сопоставить клики по дополнительным ссылкам с сеансами Google Analytics.

Согласование UTM для поисковых баннеров

В настоящее время SegmentStream не поддерживает автоматическое сопоставление UTM для поисковых баннеров. Это означает, что вам нужно будет вручную сопоставить эти типы кампаний в административной панели SegmentStream. Для всех поисковых баннеров вам необходимо определить соответствие между идентификатором кампании и параметром URL-адреса .

Например, если у вас есть поисковый баннер с идентификатором кампании = 123123123 со следующей ссылкой на веб-сайт: http://www.site.com/?utm_source=yandex&utm_medium=cpc&utm_campaign={campaign_id}&utm_term = {keyword} & utm_content = {banner_id} , сопоставление должно быть следующим:

123123123 utm_source = yandex & utm_medium = cpc & utm_campaign = {campaign_id} & utm_term = {keyword} & utm_content = {banner_id}

Вот как это может выглядеть внутри админки:

Этот документ последний раз обновлялся 19 июня 2020 г.Если вы заметили какие-либо пробелы, устаревшая информация или просто хотите оставить отзыв, чтобы помочь нам улучшить нашу документацию, пожалуйста, дайте нам знать!

README — Документация для ya-api-direct (0.2.6)

Ruby-интерфейс для API Яндекс Директ. Поддерживаемые версии 4, 4 Live, 5.

Добро пожаловать в вашу новую жемчужину! В этом каталоге вы найдете файлы, необходимые для упаковки вашей библиотеки Ruby в гем. Поместите свой код Ruby в файл lib / ya / api / direct .Чтобы поэкспериментировать с этим кодом, запустите bin / console для интерактивного запроса.

Установка

Добавьте эту строку в Gemfile вашего приложения:

  драгоценный камень 'ya-api-direct'
  

А затем выполните:

  $ пачка
  

Или установите самостоятельно как:

  $ gem установить ya-api-direct
  

Использование

Требуется

OAuth3 Яндекс токен. Используйте omniauth-yandex для его получения. Установите его согласно следующему руководству: Rails Authentication with OAuth 2.0 и OmniAuth.

Методы вызова Яндекс Директ API 5:

  запрос = {
    "SelectionCriteria" => {
      "Типы" => ["TEXT_CAMPAIGN"]
    },
    "FieldNames" => ["Id", "Name"],
    "TextCampaignFieldNames" => ["BiddingStrategy"]
}

options = {токен: токен}
@direct = Ya :: API :: Direct :: Client.new (параметры)
json = direct.campaigns.get запрос
  

Методы вызова из версий 4 и 4 Live:

  @direct = Ya :: API :: Direct :: Client.новый ({token: Token})
json = direct.v4.GetCampaignsList
  

Все имена контроллеров и методов совпадают с именами из справки Direct API. 4 vs 4 Live определяется автоматически.

Допустимые варианты:

  • токен: токен API Яндекс Директ. Обязательное поле.
  • app_id: Идентификатор приложения. Не требуется. Используется для Яндекс стат.
  • логин: логин приложения. Не требуется. Используется для Яндекс стат.
  • локаль: Одна из локалей, поддерживаемых Яндекс API (en или ru).По умолчанию: en.
  • режим: Сервер API Яндекс Директ для отправки запросов (: песочница или рабочая ). По умолчанию: : песочница .
  • cache: отправить запрос кеширования после создания экземпляра. По умолчанию: , правда .
  • api: используется только для запроса кеширования (: v5 или: v4), по умолчанию: : v5 .
  • ssl: использовать SSL-соединение. По умолчанию: , правда .

Кэширование

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

  @direct = Ya :: API :: Direct :: Client.new ({token: Token, cache: false})
  

Дополнительную информацию о кешировании можно найти в руководствах Яндекса.

Дата, возвращаемая при первом вызове метода кеширования, хранится в свойстве cache_timestamp .

Данные единиц

Данные о единицах последнего запроса хранятся в свойстве units_data . В этом хэше 3 ключа:

  • just_used — единицы, использованные последним запросом.
  • units_left — единиц осталось до текущего сеанса.
  • units_limit — лимит единиц за сеанс вашей учетной записи.

Добавлялись только в Яндекс Директ API 5. Вызов методов из 4 или 4 Live их не обновляет.

Полезные ссылки

Развитие

После проверки репо запустите bin / setup , чтобы установить зависимости. Затем запустите rake test , чтобы запустить тесты. Вы также можете запустить bin / console , чтобы получить интерактивную подсказку, которая позволит вам поэкспериментировать.

Чтобы установить этот гем на локальный компьютер, запустите bundle exec rake install . Чтобы выпустить новую версию, обновите номер версии в version.rb , а затем запустите пакет bundle exec rake release , который создаст тег git для версии, отправит коммиты и теги git и отправит .gem . файл на rubygems.org.

Содействующие

Отчеты об ошибках и запросы на вытягивание приветствуются на GitHub по адресу https://github.com/rikkimongoose/ya-api-direct.Этот проект задуман как безопасное и гостеприимное пространство для сотрудничества, и ожидается, что участники будут придерживаться кодекса поведения Contributor Covenant.

Лицензия

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

ETL ваши данные Яндекс.Метрики в ваше хранилище данных

Renta автоматически скачивает неагрегированные данные из Яндекс.Метрики с помощью Logs API и позволяет сохранять их в Google BigQuery, Clickhouse или SQL Server.

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

Renta также поддерживает загрузку данных из Google AdWords, Яндекс.Директ, Facebook Ads и других сервисов в Clickhouse. Это поможет вам всего за несколько минут собрать все необходимые данные для ваших задач маркетинговой аналитики.

Настройки интеграции на примере Clickhouse

После успешной аутентификации вам необходимо создать интеграцию.Выберите

Yandex Metrica Logs API.

Затем вам нужно войти в систему, используя учетную запись, из которой вам нужно получить данные. Это можно сделать всего несколькими щелчками мыши.
Нажмите кнопку

Добавить.

После этого откроется окно авторизации Яндекс. Введите свой логин и пароль.
Тогда ваш аккаунт будет доступен для выбора.

В качестве третьего шага необходимо указать настройки интеграции.

Вам необходимо выбрать, какие параметры необходимо загрузить в хранилище данных:

  1. Выбрать нужный счетчик
  2. Тип данных: сеансы или обращения.
  3. Период, за который вам нужны данные. Если вы выберете «Вчера» в качестве даты окончания, данные обновятся автоматически.
  4. Время обновления данных.

В качестве примера описаны следующие объекты:

  1. Идентификатор посещения
  2. ClientID
  3. lastTrafficSource
  4. Дата

И каждое утро в 4 часа ночи устанавливается как частота обновления.

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

Для этого нужно добавить базу данных. Нажмите кнопку

Добавить и выберите Clickhouse в качестве базы данных.

Затем появится окно для добавления сервера Clickhouse.

Там нужно указать:

  1. Адрес сервера
  2. Порт
  3. Войти
  4. Пароль

После добавления сервера Clickhouse он будет доступен для выбора.

Выберите добавленный сервер.

В этот момент автоматически начнется интеграция, и начнется загрузка данных.

Некоторые функции

  1. Renta автоматически создаст новую базу данных.
    Имя базы данных: renta.
  2. Если в качестве хранилища данных выбраны Google BigQuery или SQL Server, то все массивы будут записаны в строковом формате.

RTB — Яндекс

Общие инструкции по настройке RTB см. В разделе «Начало работы с RTB». В этой статье содержится информация по интеграции с Яндекс.

🚧

Требуется одобрение

Яндекс доступен только с одобрения партнера.Свяжитесь с менеджером своего аккаунта, чтобы начать процесс утверждения.

  1. Нажмите, чтобы добавить рекламодателя.

  2. Выберите «Яндекс» в качестве партнера в раскрывающемся списке. Если вы не видите такой возможности, обратитесь к менеджеру своего аккаунта.

  3. Введите настройки RTB в разделе «Настройки». Их вам выдаст либо ваш аккаунт-менеджер, либо напрямую Яндекс:

    • Конечная точка участника торгов — URL-адрес Яндекса, на который Кевел отправляет запрос ставки.
    • Publisher ID — Ваш идентификатор издателя на Яндексе (необязательно).
    • Страница отправлена ​​партнеру с запросом в реальном времени (необязательно) — Домен вашего сайта.
    • BidRequest.source.pchain — TAG идентификатор платежа

Создайте новую кампанию и период для RTB-рекламодателя так же, как и для не-RTB кампании.

📘

Во время полета для Типа тарифа будет установлено значение «CPM». Вы не можете установить какой-либо другой тип ставки.«Цена» также будет проигнорирована: выручка от полета будет определяться ставками от Яндекс.

В RTB-рейсах поддерживаются все типы приоритета. RTB также поддерживает новый приоритет: лотерея Outbid Lottery . Установите этот приоритет, чтобы заставить рейсы RTB коллективно конкурировать с рейсами не RTB.

Добавьте новое объявление во время полета или прямо со страницы рекламодателя:

  • Добавьте креатив в период RTB для каждого размера объявления, которое вы собираетесь показывать через этого провайдера.
  • Минимальная цена доступна для объявлений RTB, но не обязательна. Обратите внимание: если вы не введете допустимое значение, по умолчанию будет 0,01 доллара США.
  • Если вы переопределяете домен в этом объявлении, введите Переопределить URL-адрес страницы, отправленной партнеру с запросом RTB .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *