SlideShare a Scribd company logo
1 of 25
Download to read offline
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
Как «скачать»
весь myTarget
и не лопнуть
Иванков Михаил
Product Director & CTO
Plarin
APIШНИК
myTarget
РЕКОМЕНДОВАННЫЙ
РАЗРАБОТЧИК
2013—2016
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Немного статистики
Ежедневно мы «скачиваем» очень много из myTarget
~650 Gb
Данных в день
(без учета проекций)
>3000
Клиентов
myTarget
в “realtime”
~19 млн.
Запросов к АПИ
ежедневно
(без учета проекций)
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
А вот и RPS
RPS – request per second (количество запросов в секунду)
227 RPS*
В декабре 2014 года (полторагода назад) это было всего 29 RPS
3 секунды
Среднее регулярное обновление одного клиента
* При этом мы не нарушаем ни одного правила по RPS в соответствии с /api/v1/throttling.json
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Как это было
Python и восстание процессоров
Сначала был Python 2.7
Amazon r3.2xlarge
8 vCPU, 61 Gb Memory
50-70 Load Average*
* Число блокирующих процессов в очереди на исполнение в определенный временной
интервал. Блокирующий процесс — это процесс, который ожидает ресурсов для
продолжения работы.
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Как это было
Потоки рождают новые потоки
Немножко Python
for tm_client in user._tm_clients:
if tm_client.is_blocked or not tm_client.is_active:
continue
if tm_client._id not in self.threads:
if tm_client.is_agency:
target_method = self.agency_cycle
else:
target_method = self.client_cycle
thread = threading.Thread(target=target_method, args=[tm_client._id])
thread.name = tm_client.username
thread.daemon = True
thread.start()
self.threads[tm_client._id] = thread
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Как это было
С увеличением клиентов это превращалосьв бардак
Теория и практика мультипоточного программирования
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Как это стало
Разум прояснился, наступил мир
Java, Vert.X, ReactiveX, AsyncHttp
MongoDB 3.x, WiredTiger*
*Кстати, в этом году мы перешли на MongoDB Professionalс коммерческой поддержкой и улучшили в целом инфраструктуру баз
данных, бэкапы, репликацию и шардинг
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Как это стало
Всего один сервер!
Результаты Java
Amazon c3.xlarge
4 vCPU, 7,5 Gb Memory
0.75 Load Average
Это всего один сервер из 20, который
обрабатывает 3000 клиентов myTarget
с запасом прочности в 300-500%
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Как это стало
Графики всегда полезны
Мы очень волновались перед запуском нового апдейтера и попросили коллег из myTarget
последить за результатами
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Как это стало
Кстати, в детстве у Тома Круза были кривые зубы
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Что еще можно улучшить?
Ну, кроме того, что бы переписать все «с нуля»
Использовать новые фильтры myTarget для Banners
В начале декабря появились новые фильтры, позволяющие более точно выбирать баннеры, которые
необходимо обновить.
GET /api/v1/banners/{banner_id}.json
1. Получение баннеров, в которых изменились свойства:
updated__gte=YYYY-MM-DD HH:MM:SS
2. Получение баннеров, в которых изменилась статистика:
last_stats_updated__gte=YY-MM-DD HH:MM:SS
с фильтром fields=id
С полученными ID в GET /api/v1/statistics/{object_type}/{object_id}/{stat_type}/{date_from}-{date_to}.json
Подробнее: https://target.my.com/doc/api/detailed/#resource_banners
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Что еще можно улучшить?
Ну, кроме того, что бы использовать Java
Использовать триггеры в Campaigns
GET /api/v1/campaigns/{campaign_id}.json
Поле last_stats_updated сигнализирует о том, нужно ли опрашивать новую статистику или нет.
P.s. Учтите, это поле полезно при отставшем «чаржинге» myTarget
Подробнее: https://target.my.com/doc/api/detailed/#object_campaignstat
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Что еще можно улучшить?
Для некоторых методов можно настроитьNginx
Если вы делаете очень много запросов и не хотите их контролировать самостоятельно, можно
настроить Nginx как прокси с ограничениями, а так же это даст хорошие возможности для
логирования
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=2r/s;
...
server {
...
location /statistics {
proxy_pass https://target.my.com/$request_uri;
limit_req zone=one burst=200;
}
}
}
Подробнее: http://nginx.org/ru/docs/http/ngx_http_limit_req_module.html
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Какие результаты?
Быстрее, выше, сильнее
Все это привело к тому, что 1 клиент myTarget обновляется в
среднем 3 секунды с минимальным количествомзапросов (ранее
было 40 секунд)
Полная загрузка данных (full update) по агентскому кабинету с
100 клиентами, в каждом по 100 кампаний (включая всю
доступную статистикуза все время, внешний вид баннеров,
настройки РК и т.д.) – от 3 до 5 минут.
Один сервер с 4 vCPU и 8 GB MEM!
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Немного полезного
Сравнительная таблица запросов к /api/v1/statistics/banners/
Запросы полной статистики к /api/v1/statistics/banners/
Количество баннеров
(в 1 запросе)
Почасовая статистика
(скорость ответа в секундах)
Дневная статистика
(скорость ответа в секундах)
Вся 30
дней
14
дней
5
дней
1
день
Вся 30
дней
14
дней
5
дней
1
день
3000 - - - - - - - - 20 18
1500 - - - - - 16 - 16 11 10
750 - - - - 12 9 13 8 6 4
500 - - - - 8 7 8 5 4 4
100 14 14 9 3 2 1 2 1 1 1
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Немного полезного
Сравнительная таблица запросов к /api/v1/statistics/campaigns/
Запросы полной статистики к /api/v1/statistics/campaigns/
Количество кампаний
(в 1 запросе)
Почасовая статистика
(скорость ответа в секундах)
Дневная статистика
(скорость ответа в секундах)
Вся 30
дней
14
дней
5
дней
1
день
Вся 30
дней
14
дней
5
дней
1
день
150 - - - 10 4 3 2 2 1 1
75 19 20 13 5 2 1 1 1 1 1
50 14 14 9 4 2 1 1 1 1 1
25 7 7 5 2 1 1 1 1 1 1
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Что бы хотелось по улучшениям в API
Лучшее не всегда враг хорошего
1. Добавить в кампании такие же фильтры, как и в баннеры
Сократит объем данных и нагрузку
2. Push статистики сразу же, после ее изменения
Идеальный случай, количество запросов упадет к нулю
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Работаем с проекциями
Теперь это отдельный сервис внутри Plarin
~84 GB
Данных в день
>15 000
Кампаний, которым
требуются
актуальные цены
~1 150 000
Запросов к АПИ
ежедневно
(примерно 13 кампаний
в секунду)
При этом около 90% запросов проекций только для получения оптимальной цены.
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Работаем с проекциями
Сервис отселили отдельно
Раньше это было частью основного апдейтера, но часто обновления блокировали таймауты по 15 минут,
ошибки 500 и т.д.
Мы этот сервис вынесли в отдельный.
Java, AsyncHttp
MongoDB 3.x, WiredTiger
Amazon c3.xlarge
4 vCPU, 7,5 Gb Memory
0.105 Load Average
Запас прочности – 1000-2000%
15 000 кампаний по 13 в секунду это 20
минут на полный цикл.
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Работаем с проекциями
И тут математика
Исходные 84 Gb в день на самом деле оказывается больше, так как ответы приходят
запакованными в gzip, в среднем по 40кб.
Каждый ответ распаковывается примерно в 400кб и содержит в себе > 2000 точек.
Итого: 6 Gb хранения на 15 000 кампаний.
Что мы делаем:
1) Урезаем количество точек, оставляя из повторяющихся охватов только один с
минимальной ценой
2) Отдельно вычисляем и храним минимальную и максимальную цены, а так же
оптимальную цену для каждой рекламной кампании
В итоге в каждой проекции остается 12 кб, и 51 точка вместо 2 000+
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Что бы хотелось по улучшениям в API
Лучшее не всегда враг хорошего
1. Ограничить количество точек в ответе, оставив по 1 точке на каждый % охвата
2. Возвращать верные лимиты для запрашиваемого пакета, не менее минимальной цены
и не более максимальной цены
3. Сделать доступным в запросах передачу только ID существующей кампании, без
указания всего таргетинга
4. Расширить метод, когда для нескольких кампаний можно получить только
оптимальную цену одним запросом, а лучше вынести оптимальную цену в объект
Campaign (90% запросов к проекциям только для получения оптимальной цены)
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Проблемные места
Лучшее не всегда враг хорошего
User.json
Часто забираем, другой возможности нет определить остатки бюджетов на аккаунте и статус клиента
(активный, заблокированный)
Конверсии
Сейчас не забираем, и по прежнему не можем определить у какой кампании есть конверсии, а у какой
нет. При добавления запроса на все кампании в день прибавится 3-5 млн запросов.
В самом ответе конверсий не хватает ID целей т.к. они могут поменяться, не к чему привязаться.
Ремаркетинг
Часто забираем, т.к. не можем определить когда любой из списков изменился, а когда нет (6 списков,
16 запросов в секунду, более 8 млн запросов в день) - 42% от всех запросов.
Мы делаем это в цикле группой по 10 клиентов и обновление всех клиентов за один цикл – 10 минут.
99.9% ответов ремаркетинг списков без изменений по сравнению с предыдущим.
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Решение
Лучшее не всегда враг хорошего
Новый метод - updated_objects, который решит все проблемы
Может содержать в себе информацию о времени последнего изменения:
1. Свойств кампаний или статистики кампаний
2. Свойств баннеров или статистики баннеров
3. Списков ремаркетинг групп
4. Наличие конверсий в РК
Это позволит фактически дергать только один метод и существенно сократить запросы к другим
методам, совершая их только тогда, когда это действительно актуально.
p.s. Ну или, хотя бы, новый метод для ремаркетинг групп и вынос количества конверсий в Campaigns.
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
APIШНИК
Немного статистики в сравнении с прошлым
Рост показателей
4 400			
11 000			
4 000			
15 000			
2014	ДЕКАБРЬ 2016	МАРТ
АКТИВНЫЕ	 КАМПАНИИ
Остановленные Запущенные
25 000			
90 000			
2015	ИЮЛЬ 2016	МАРТ
POSTBACK	 КОНВЕРСИИ
Всего	конверсий	в	день
Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016
Спасибо за внимание
Иванков Михаил
Product Director & CTO, Plarin
Plarin
Единая система управления таргетированной рекламой
ВКонтакте и myTarget
Все презентации Plarin в Facebook
https://www.facebook.com/plarin.net
РЕКОМЕНДОВАННЫЙ
РАЗРАБОТЧИК
2013—2016

More Related Content

What's hot

Александр Рысь. MailingDay Moscow 2016. Email, sms, web push - идеальный микс...
Александр Рысь. MailingDay Moscow 2016. Email, sms, web push - идеальный микс...Александр Рысь. MailingDay Moscow 2016. Email, sms, web push - идеальный микс...
Александр Рысь. MailingDay Moscow 2016. Email, sms, web push - идеальный микс...Mailing Day
 
Cемантика измерение и аналитика (Data Driven Seo)
Cемантика измерение и аналитика (Data Driven Seo)Cемантика измерение и аналитика (Data Driven Seo)
Cемантика измерение и аналитика (Data Driven Seo)Стас Поломарь
 
Неделя Байнета 2017. Андрей Липатцев: "Веб-технологии нового поколения"
Неделя Байнета 2017. Андрей Липатцев: "Веб-технологии нового поколения"Неделя Байнета 2017. Андрей Липатцев: "Веб-технологии нового поколения"
Неделя Байнета 2017. Андрей Липатцев: "Веб-технологии нового поколения"Webcom Group
 
Лаура Шаймаханбетова : «Новые возможности портала Satu.kz»
Лаура Шаймаханбетова : «Новые возможности портала Satu.kz»Лаура Шаймаханбетова : «Новые возможности портала Satu.kz»
Лаура Шаймаханбетова : «Новые возможности портала Satu.kz»satukz_seminar
 
Александр Тимашев. MailingDay Moscow 2016. Техники персонализации. Максимум л...
Александр Тимашев. MailingDay Moscow 2016. Техники персонализации. Максимум л...Александр Тимашев. MailingDay Moscow 2016. Техники персонализации. Максимум л...
Александр Тимашев. MailingDay Moscow 2016. Техники персонализации. Максимум л...Mailing Day
 
Cybermarketing 2016 - Виктор Карпенко (SeoProfy)
Cybermarketing 2016 - Виктор Карпенко (SeoProfy)Cybermarketing 2016 - Виктор Карпенко (SeoProfy)
Cybermarketing 2016 - Виктор Карпенко (SeoProfy)SeoProfy Presentations
 
Одноцентовый трафик в контекстной рекламе
Одноцентовый трафик в контекстной рекламеОдноцентовый трафик в контекстной рекламе
Одноцентовый трафик в контекстной рекламеCubeLine Agency
 
Фильтры и изменения в ранжировании Яндекса в 2017 году
Фильтры и изменения в ранжировании Яндекса в 2017 годуФильтры и изменения в ранжировании Яндекса в 2017 году
Фильтры и изменения в ранжировании Яндекса в 2017 годуДмитрий Севальнев
 
Никулин Павел. Machine learning для текстового анализа
Никулин Павел. Machine learning для текстового анализаНикулин Павел. Machine learning для текстового анализа
Никулин Павел. Machine learning для текстового анализаДмитрий Шахов
 
Олег Баша_Email-маркетинг, основанный на данных
Олег Баша_Email-маркетинг, основанный на данныхОлег Баша_Email-маркетинг, основанный на данных
Олег Баша_Email-маркетинг, основанный на данныхReal Time Agency
 
Презентация SEO - все что нужно знать про поисковую оптимизацию сайта
Презентация SEO - все что нужно знать про поисковую оптимизацию сайтаПрезентация SEO - все что нужно знать про поисковую оптимизацию сайта
Презентация SEO - все что нужно знать про поисковую оптимизацию сайтаAndrew PersonBh
 
Аналитика поведенческих фатокров (BDD 15)
Аналитика поведенческих фатокров (BDD 15)Аналитика поведенческих фатокров (BDD 15)
Аналитика поведенческих фатокров (BDD 15)Стас Поломарь
 
прогнозируем продажи интернет магазина, или как не наступить на мозоль директ...
прогнозируем продажи интернет магазина, или как не наступить на мозоль директ...прогнозируем продажи интернет магазина, или как не наступить на мозоль директ...
прогнозируем продажи интернет магазина, или как не наступить на мозоль директ...Alexandr Kolb
 
Стас Поломарь. 10 задач по SEO, с решением
Стас Поломарь. 10 задач по SEO, с решениемСтас Поломарь. 10 задач по SEO, с решением
Стас Поломарь. 10 задач по SEO, с решениемДмитрий Шахов
 
Инсайты из Яндекс.Метрики - AllintopConf 2017
Инсайты из Яндекс.Метрики - AllintopConf 2017Инсайты из Яндекс.Метрики - AllintopConf 2017
Инсайты из Яндекс.Метрики - AllintopConf 2017Alexey Trudov
 
Мирослав Лясковец. Как самому (без команды) делать от $5000 в месяц в инфобиз...
Мирослав Лясковец. Как самому (без команды) делать от $5000 в месяц в инфобиз...Мирослав Лясковец. Как самому (без команды) делать от $5000 в месяц в инфобиз...
Мирослав Лясковец. Как самому (без команды) делать от $5000 в месяц в инфобиз...Octopus Events
 
Олег Саламаха. Текстовая аналитика
Олег Саламаха. Текстовая аналитикаОлег Саламаха. Текстовая аналитика
Олег Саламаха. Текстовая аналитикаДмитрий Шахов
 
Трудов Алексей. Как поисковые системы учитывают и оценивают возраст страницы
Трудов Алексей. Как поисковые системы учитывают и оценивают возраст страницыТрудов Алексей. Как поисковые системы учитывают и оценивают возраст страницы
Трудов Алексей. Как поисковые системы учитывают и оценивают возраст страницыДмитрий Шахов
 
Практика SEO: часть 5 на MegaIndex.TV. Ссылочные факторы.
Практика SEO: часть 5 на MegaIndex.TV. Ссылочные факторы.Практика SEO: часть 5 на MegaIndex.TV. Ссылочные факторы.
Практика SEO: часть 5 на MegaIndex.TV. Ссылочные факторы.Дмитрий Севальнев
 

What's hot (20)

Александр Рысь. MailingDay Moscow 2016. Email, sms, web push - идеальный микс...
Александр Рысь. MailingDay Moscow 2016. Email, sms, web push - идеальный микс...Александр Рысь. MailingDay Moscow 2016. Email, sms, web push - идеальный микс...
Александр Рысь. MailingDay Moscow 2016. Email, sms, web push - идеальный микс...
 
Cемантика измерение и аналитика (Data Driven Seo)
Cемантика измерение и аналитика (Data Driven Seo)Cемантика измерение и аналитика (Data Driven Seo)
Cемантика измерение и аналитика (Data Driven Seo)
 
Неделя Байнета 2017. Андрей Липатцев: "Веб-технологии нового поколения"
Неделя Байнета 2017. Андрей Липатцев: "Веб-технологии нового поколения"Неделя Байнета 2017. Андрей Липатцев: "Веб-технологии нового поколения"
Неделя Байнета 2017. Андрей Липатцев: "Веб-технологии нового поколения"
 
Лаура Шаймаханбетова : «Новые возможности портала Satu.kz»
Лаура Шаймаханбетова : «Новые возможности портала Satu.kz»Лаура Шаймаханбетова : «Новые возможности портала Satu.kz»
Лаура Шаймаханбетова : «Новые возможности портала Satu.kz»
 
Александр Тимашев. MailingDay Moscow 2016. Техники персонализации. Максимум л...
Александр Тимашев. MailingDay Moscow 2016. Техники персонализации. Максимум л...Александр Тимашев. MailingDay Moscow 2016. Техники персонализации. Максимум л...
Александр Тимашев. MailingDay Moscow 2016. Техники персонализации. Максимум л...
 
Cybermarketing 2016 - Виктор Карпенко (SeoProfy)
Cybermarketing 2016 - Виктор Карпенко (SeoProfy)Cybermarketing 2016 - Виктор Карпенко (SeoProfy)
Cybermarketing 2016 - Виктор Карпенко (SeoProfy)
 
Одноцентовый трафик в контекстной рекламе
Одноцентовый трафик в контекстной рекламеОдноцентовый трафик в контекстной рекламе
Одноцентовый трафик в контекстной рекламе
 
Фильтры и изменения в ранжировании Яндекса в 2017 году
Фильтры и изменения в ранжировании Яндекса в 2017 годуФильтры и изменения в ранжировании Яндекса в 2017 году
Фильтры и изменения в ранжировании Яндекса в 2017 году
 
Никулин Павел. Machine learning для текстового анализа
Никулин Павел. Machine learning для текстового анализаНикулин Павел. Machine learning для текстового анализа
Никулин Павел. Machine learning для текстового анализа
 
Олег Баша_Email-маркетинг, основанный на данных
Олег Баша_Email-маркетинг, основанный на данныхОлег Баша_Email-маркетинг, основанный на данных
Олег Баша_Email-маркетинг, основанный на данных
 
Презентация SEO - все что нужно знать про поисковую оптимизацию сайта
Презентация SEO - все что нужно знать про поисковую оптимизацию сайтаПрезентация SEO - все что нужно знать про поисковую оптимизацию сайта
Презентация SEO - все что нужно знать про поисковую оптимизацию сайта
 
Аналитика поведенческих фатокров (BDD 15)
Аналитика поведенческих фатокров (BDD 15)Аналитика поведенческих фатокров (BDD 15)
Аналитика поведенческих фатокров (BDD 15)
 
прогнозируем продажи интернет магазина, или как не наступить на мозоль директ...
прогнозируем продажи интернет магазина, или как не наступить на мозоль директ...прогнозируем продажи интернет магазина, или как не наступить на мозоль директ...
прогнозируем продажи интернет магазина, или как не наступить на мозоль директ...
 
Вводная в SEO ТопЭксперт
Вводная в SEO ТопЭксперт Вводная в SEO ТопЭксперт
Вводная в SEO ТопЭксперт
 
Стас Поломарь. 10 задач по SEO, с решением
Стас Поломарь. 10 задач по SEO, с решениемСтас Поломарь. 10 задач по SEO, с решением
Стас Поломарь. 10 задач по SEO, с решением
 
Инсайты из Яндекс.Метрики - AllintopConf 2017
Инсайты из Яндекс.Метрики - AllintopConf 2017Инсайты из Яндекс.Метрики - AllintopConf 2017
Инсайты из Яндекс.Метрики - AllintopConf 2017
 
Мирослав Лясковец. Как самому (без команды) делать от $5000 в месяц в инфобиз...
Мирослав Лясковец. Как самому (без команды) делать от $5000 в месяц в инфобиз...Мирослав Лясковец. Как самому (без команды) делать от $5000 в месяц в инфобиз...
Мирослав Лясковец. Как самому (без команды) делать от $5000 в месяц в инфобиз...
 
Олег Саламаха. Текстовая аналитика
Олег Саламаха. Текстовая аналитикаОлег Саламаха. Текстовая аналитика
Олег Саламаха. Текстовая аналитика
 
Трудов Алексей. Как поисковые системы учитывают и оценивают возраст страницы
Трудов Алексей. Как поисковые системы учитывают и оценивают возраст страницыТрудов Алексей. Как поисковые системы учитывают и оценивают возраст страницы
Трудов Алексей. Как поисковые системы учитывают и оценивают возраст страницы
 
Практика SEO: часть 5 на MegaIndex.TV. Ссылочные факторы.
Практика SEO: часть 5 на MegaIndex.TV. Ссылочные факторы.Практика SEO: часть 5 на MegaIndex.TV. Ссылочные факторы.
Практика SEO: часть 5 на MegaIndex.TV. Ссылочные факторы.
 

Similar to Как «скачать» весь myTarget и не лопнуть. Михаил Иванков (Plarin)

Plarin - АПИшник myTarget - Как "скачать" весь myTarget и не лопнуть
Plarin - АПИшник  myTarget - Как "скачать" весь myTarget  и не лопнутьPlarin - АПИшник  myTarget - Как "скачать" весь myTarget  и не лопнуть
Plarin - АПИшник myTarget - Как "скачать" весь myTarget и не лопнутьMihail Ivankov
 
Углубленные знания рекламы в соцсетях на примере myTarget
Углубленные знания рекламы в соцсетях на примере myTargetУглубленные знания рекламы в соцсетях на примере myTarget
Углубленные знания рекламы в соцсетях на примере myTargetMihail Ivankov
 
Влияние контекстной рекламы на трафик из органики
Влияние контекстной рекламы на трафик из органикиВлияние контекстной рекламы на трафик из органики
Влияние контекстной рекламы на трафик из органикиJulia Yakovleva
 
Влияние контекстной рекламы на трафик из органики
Влияние контекстной рекламы на трафик из органикиВлияние контекстной рекламы на трафик из органики
Влияние контекстной рекламы на трафик из органикиМедведев Маркетинг
 
Продвижение интернет-магазина // eTargeting
Продвижение интернет-магазина // eTargetingПродвижение интернет-магазина // eTargeting
Продвижение интернет-магазина // eTargetingeTargeting
 
Комплексный интернет-маркетинг
Комплексный интернет-маркетингКомплексный интернет-маркетинг
Комплексный интернет-маркетингАндрей Брагин
 
Кейс ArrowMedia: "Результативность от инструмента к инструменту"
Кейс ArrowMedia: "Результативность от инструмента к инструменту"Кейс ArrowMedia: "Результативность от инструмента к инструменту"
Кейс ArrowMedia: "Результативность от инструмента к инструменту"ArrowMedia
 
Cpa ex общая клиентская презентация_04072017
Cpa ex общая клиентская презентация_04072017Cpa ex общая клиентская презентация_04072017
Cpa ex общая клиентская презентация_04072017CPAex
 
Zakharov ibc2013 correct kpi_nice mix
Zakharov ibc2013 correct kpi_nice mixZakharov ibc2013 correct kpi_nice mix
Zakharov ibc2013 correct kpi_nice mixSergey Zakharov
 
Динамический ремаркетинг в My target: практическое применение, Aнна Караулова...
Динамический ремаркетинг в My target: практическое применение, Aнна Караулова...Динамический ремаркетинг в My target: практическое применение, Aнна Караулова...
Динамический ремаркетинг в My target: практическое применение, Aнна Караулова...i-Media рекламное агентство
 
Динамический ремаркетинг в myTarget
Динамический ремаркетинг в myTargetДинамический ремаркетинг в myTarget
Динамический ремаркетинг в myTargetАнна Караулова
 
Perfomance-маркетинг мобильных приложений
Perfomance-маркетинг мобильных приложенийPerfomance-маркетинг мобильных приложений
Perfomance-маркетинг мобильных приложенийNetpeak
 
Ретаргетинг и суперклик на тизерном трафике. Примеры и анализ размещений за а...
Ретаргетинг и суперклик на тизерном трафике. Примеры и анализ размещений за а...Ретаргетинг и суперклик на тизерном трафике. Примеры и анализ размещений за а...
Ретаргетинг и суперклик на тизерном трафике. Примеры и анализ размещений за а...Daniil Zabolotny
 

Similar to Как «скачать» весь myTarget и не лопнуть. Михаил Иванков (Plarin) (20)

Plarin - АПИшник myTarget - Как "скачать" весь myTarget и не лопнуть
Plarin - АПИшник  myTarget - Как "скачать" весь myTarget  и не лопнутьPlarin - АПИшник  myTarget - Как "скачать" весь myTarget  и не лопнуть
Plarin - АПИшник myTarget - Как "скачать" весь myTarget и не лопнуть
 
AdvertOne
AdvertOneAdvertOne
AdvertOne
 
Углубленные знания рекламы в соцсетях на примере myTarget
Углубленные знания рекламы в соцсетях на примере myTargetУглубленные знания рекламы в соцсетях на примере myTarget
Углубленные знания рекламы в соцсетях на примере myTarget
 
Влияние контекстной рекламы на трафик из органики
Влияние контекстной рекламы на трафик из органикиВлияние контекстной рекламы на трафик из органики
Влияние контекстной рекламы на трафик из органики
 
Влияние контекстной рекламы на трафик из органики
Влияние контекстной рекламы на трафик из органикиВлияние контекстной рекламы на трафик из органики
Влияние контекстной рекламы на трафик из органики
 
Продвижение интернет-магазина // eTargeting
Продвижение интернет-магазина // eTargetingПродвижение интернет-магазина // eTargeting
Продвижение интернет-магазина // eTargeting
 
"Влияние контекстной рекламы на трафик из органической выдачи". Вебинар WebPr...
"Влияние контекстной рекламы на трафик из органической выдачи". Вебинар WebPr..."Влияние контекстной рекламы на трафик из органической выдачи". Вебинар WebPr...
"Влияние контекстной рекламы на трафик из органической выдачи". Вебинар WebPr...
 
Комплексный интернет-маркетинг
Комплексный интернет-маркетингКомплексный интернет-маркетинг
Комплексный интернет-маркетинг
 
Кейс ArrowMedia: "Результативность от инструмента к инструменту"
Кейс ArrowMedia: "Результативность от инструмента к инструменту"Кейс ArrowMedia: "Результативность от инструмента к инструменту"
Кейс ArrowMedia: "Результативность от инструмента к инструменту"
 
Cpa ex общая клиентская презентация_04072017
Cpa ex общая клиентская презентация_04072017Cpa ex общая клиентская презентация_04072017
Cpa ex общая клиентская презентация_04072017
 
Продвижение записей ВКонтакте
Продвижение записей ВКонтактеПродвижение записей ВКонтакте
Продвижение записей ВКонтакте
 
Zakharov ibc2013 correct kpi_nice mix
Zakharov ibc2013 correct kpi_nice mixZakharov ibc2013 correct kpi_nice mix
Zakharov ibc2013 correct kpi_nice mix
 
Динамический ремаркетинг в My target: практическое применение, Aнна Караулова...
Динамический ремаркетинг в My target: практическое применение, Aнна Караулова...Динамический ремаркетинг в My target: практическое применение, Aнна Караулова...
Динамический ремаркетинг в My target: практическое применение, Aнна Караулова...
 
Динамический ремаркетинг в myTarget
Динамический ремаркетинг в myTargetДинамический ремаркетинг в myTarget
Динамический ремаркетинг в myTarget
 
Registratura.ru
Registratura.ruRegistratura.ru
Registratura.ru
 
Perfomance-маркетинг мобильных приложений
Perfomance-маркетинг мобильных приложенийPerfomance-маркетинг мобильных приложений
Perfomance-маркетинг мобильных приложений
 
R брокер
R брокерR брокер
R брокер
 
Михаил Иванков (Plarin) - "Влияние различных факторов на ставку в кампании"
Михаил Иванков (Plarin) - "Влияние различных факторов на ставку в кампании"Михаил Иванков (Plarin) - "Влияние различных факторов на ставку в кампании"
Михаил Иванков (Plarin) - "Влияние различных факторов на ставку в кампании"
 
Ретаргетинг и суперклик на тизерном трафике. Примеры и анализ размещений за а...
Ретаргетинг и суперклик на тизерном трафике. Примеры и анализ размещений за а...Ретаргетинг и суперклик на тизерном трафике. Примеры и анализ размещений за а...
Ретаргетинг и суперклик на тизерном трафике. Примеры и анализ размещений за а...
 
Контекстная реклама (Айтего)
Контекстная реклама (Айтего)Контекстная реклама (Айтего)
Контекстная реклама (Айтего)
 

More from Егор Тютюников

Обзорный доклад по API myTarget 2016 (август). Егор Тютюников (myTarget)
Обзорный доклад по API myTarget 2016 (август). Егор Тютюников (myTarget)Обзорный доклад по API myTarget 2016 (август). Егор Тютюников (myTarget)
Обзорный доклад по API myTarget 2016 (август). Егор Тютюников (myTarget)Егор Тютюников
 
Telegram бот для myTarget: проблемы и решения при создании. Николай Сыч (Targ...
Telegram бот для myTarget: проблемы и решения при создании. Николай Сыч (Targ...Telegram бот для myTarget: проблемы и решения при создании. Николай Сыч (Targ...
Telegram бот для myTarget: проблемы и решения при создании. Николай Сыч (Targ...Егор Тютюников
 
Уменьшение количества запросов в API с помощью настройки PUSH-уведомлений. Дм...
Уменьшение количества запросов в API с помощью настройки PUSH-уведомлений. Дм...Уменьшение количества запросов в API с помощью настройки PUSH-уведомлений. Дм...
Уменьшение количества запросов в API с помощью настройки PUSH-уведомлений. Дм...Егор Тютюников
 
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)Егор Тютюников
 
Жадные алгоритмы оптимизации для определения эффективности объявлений. Алекса...
Жадные алгоритмы оптимизации для определения эффективности объявлений. Алекса...Жадные алгоритмы оптимизации для определения эффективности объявлений. Алекса...
Жадные алгоритмы оптимизации для определения эффективности объявлений. Алекса...Егор Тютюников
 
Api myTarget: секреты быстрой адаптации. Алексей Фельде (SocialKey)
Api myTarget: секреты быстрой адаптации. Алексей Фельде (SocialKey)Api myTarget: секреты быстрой адаптации. Алексей Фельде (SocialKey)
Api myTarget: секреты быстрой адаптации. Алексей Фельде (SocialKey)Егор Тютюников
 
Способы работы со статистикой в API myTarget. Александр Покатилов (myTarget)
Способы работы со статистикой в API myTarget. Александр Покатилов (myTarget)Способы работы со статистикой в API myTarget. Александр Покатилов (myTarget)
Способы работы со статистикой в API myTarget. Александр Покатилов (myTarget)Егор Тютюников
 

More from Егор Тютюников (7)

Обзорный доклад по API myTarget 2016 (август). Егор Тютюников (myTarget)
Обзорный доклад по API myTarget 2016 (август). Егор Тютюников (myTarget)Обзорный доклад по API myTarget 2016 (август). Егор Тютюников (myTarget)
Обзорный доклад по API myTarget 2016 (август). Егор Тютюников (myTarget)
 
Telegram бот для myTarget: проблемы и решения при создании. Николай Сыч (Targ...
Telegram бот для myTarget: проблемы и решения при создании. Николай Сыч (Targ...Telegram бот для myTarget: проблемы и решения при создании. Николай Сыч (Targ...
Telegram бот для myTarget: проблемы и решения при создании. Николай Сыч (Targ...
 
Уменьшение количества запросов в API с помощью настройки PUSH-уведомлений. Дм...
Уменьшение количества запросов в API с помощью настройки PUSH-уведомлений. Дм...Уменьшение количества запросов в API с помощью настройки PUSH-уведомлений. Дм...
Уменьшение количества запросов в API с помощью настройки PUSH-уведомлений. Дм...
 
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)
Разработка и внедрение PHP SDK myTarget. Василь Кулаков (DSL)
 
Жадные алгоритмы оптимизации для определения эффективности объявлений. Алекса...
Жадные алгоритмы оптимизации для определения эффективности объявлений. Алекса...Жадные алгоритмы оптимизации для определения эффективности объявлений. Алекса...
Жадные алгоритмы оптимизации для определения эффективности объявлений. Алекса...
 
Api myTarget: секреты быстрой адаптации. Алексей Фельде (SocialKey)
Api myTarget: секреты быстрой адаптации. Алексей Фельде (SocialKey)Api myTarget: секреты быстрой адаптации. Алексей Фельде (SocialKey)
Api myTarget: секреты быстрой адаптации. Алексей Фельде (SocialKey)
 
Способы работы со статистикой в API myTarget. Александр Покатилов (myTarget)
Способы работы со статистикой в API myTarget. Александр Покатилов (myTarget)Способы работы со статистикой в API myTarget. Александр Покатилов (myTarget)
Способы работы со статистикой в API myTarget. Александр Покатилов (myTarget)
 

Как «скачать» весь myTarget и не лопнуть. Михаил Иванков (Plarin)

  • 1. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 Как «скачать» весь myTarget и не лопнуть Иванков Михаил Product Director & CTO Plarin APIШНИК myTarget РЕКОМЕНДОВАННЫЙ РАЗРАБОТЧИК 2013—2016
  • 2. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Немного статистики Ежедневно мы «скачиваем» очень много из myTarget ~650 Gb Данных в день (без учета проекций) >3000 Клиентов myTarget в “realtime” ~19 млн. Запросов к АПИ ежедневно (без учета проекций)
  • 3. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК А вот и RPS RPS – request per second (количество запросов в секунду) 227 RPS* В декабре 2014 года (полторагода назад) это было всего 29 RPS 3 секунды Среднее регулярное обновление одного клиента * При этом мы не нарушаем ни одного правила по RPS в соответствии с /api/v1/throttling.json
  • 4. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Как это было Python и восстание процессоров Сначала был Python 2.7 Amazon r3.2xlarge 8 vCPU, 61 Gb Memory 50-70 Load Average* * Число блокирующих процессов в очереди на исполнение в определенный временной интервал. Блокирующий процесс — это процесс, который ожидает ресурсов для продолжения работы.
  • 5. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Как это было Потоки рождают новые потоки Немножко Python for tm_client in user._tm_clients: if tm_client.is_blocked or not tm_client.is_active: continue if tm_client._id not in self.threads: if tm_client.is_agency: target_method = self.agency_cycle else: target_method = self.client_cycle thread = threading.Thread(target=target_method, args=[tm_client._id]) thread.name = tm_client.username thread.daemon = True thread.start() self.threads[tm_client._id] = thread
  • 6. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Как это было С увеличением клиентов это превращалосьв бардак Теория и практика мультипоточного программирования
  • 7. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Как это стало Разум прояснился, наступил мир Java, Vert.X, ReactiveX, AsyncHttp MongoDB 3.x, WiredTiger* *Кстати, в этом году мы перешли на MongoDB Professionalс коммерческой поддержкой и улучшили в целом инфраструктуру баз данных, бэкапы, репликацию и шардинг
  • 8. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Как это стало Всего один сервер! Результаты Java Amazon c3.xlarge 4 vCPU, 7,5 Gb Memory 0.75 Load Average Это всего один сервер из 20, который обрабатывает 3000 клиентов myTarget с запасом прочности в 300-500%
  • 9. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Как это стало Графики всегда полезны Мы очень волновались перед запуском нового апдейтера и попросили коллег из myTarget последить за результатами
  • 10. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Как это стало Кстати, в детстве у Тома Круза были кривые зубы
  • 11. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Что еще можно улучшить? Ну, кроме того, что бы переписать все «с нуля» Использовать новые фильтры myTarget для Banners В начале декабря появились новые фильтры, позволяющие более точно выбирать баннеры, которые необходимо обновить. GET /api/v1/banners/{banner_id}.json 1. Получение баннеров, в которых изменились свойства: updated__gte=YYYY-MM-DD HH:MM:SS 2. Получение баннеров, в которых изменилась статистика: last_stats_updated__gte=YY-MM-DD HH:MM:SS с фильтром fields=id С полученными ID в GET /api/v1/statistics/{object_type}/{object_id}/{stat_type}/{date_from}-{date_to}.json Подробнее: https://target.my.com/doc/api/detailed/#resource_banners
  • 12. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Что еще можно улучшить? Ну, кроме того, что бы использовать Java Использовать триггеры в Campaigns GET /api/v1/campaigns/{campaign_id}.json Поле last_stats_updated сигнализирует о том, нужно ли опрашивать новую статистику или нет. P.s. Учтите, это поле полезно при отставшем «чаржинге» myTarget Подробнее: https://target.my.com/doc/api/detailed/#object_campaignstat
  • 13. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Что еще можно улучшить? Для некоторых методов можно настроитьNginx Если вы делаете очень много запросов и не хотите их контролировать самостоятельно, можно настроить Nginx как прокси с ограничениями, а так же это даст хорошие возможности для логирования http { limit_req_zone $binary_remote_addr zone=one:10m rate=2r/s; ... server { ... location /statistics { proxy_pass https://target.my.com/$request_uri; limit_req zone=one burst=200; } } } Подробнее: http://nginx.org/ru/docs/http/ngx_http_limit_req_module.html
  • 14. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Какие результаты? Быстрее, выше, сильнее Все это привело к тому, что 1 клиент myTarget обновляется в среднем 3 секунды с минимальным количествомзапросов (ранее было 40 секунд) Полная загрузка данных (full update) по агентскому кабинету с 100 клиентами, в каждом по 100 кампаний (включая всю доступную статистикуза все время, внешний вид баннеров, настройки РК и т.д.) – от 3 до 5 минут. Один сервер с 4 vCPU и 8 GB MEM!
  • 15. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Немного полезного Сравнительная таблица запросов к /api/v1/statistics/banners/ Запросы полной статистики к /api/v1/statistics/banners/ Количество баннеров (в 1 запросе) Почасовая статистика (скорость ответа в секундах) Дневная статистика (скорость ответа в секундах) Вся 30 дней 14 дней 5 дней 1 день Вся 30 дней 14 дней 5 дней 1 день 3000 - - - - - - - - 20 18 1500 - - - - - 16 - 16 11 10 750 - - - - 12 9 13 8 6 4 500 - - - - 8 7 8 5 4 4 100 14 14 9 3 2 1 2 1 1 1
  • 16. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Немного полезного Сравнительная таблица запросов к /api/v1/statistics/campaigns/ Запросы полной статистики к /api/v1/statistics/campaigns/ Количество кампаний (в 1 запросе) Почасовая статистика (скорость ответа в секундах) Дневная статистика (скорость ответа в секундах) Вся 30 дней 14 дней 5 дней 1 день Вся 30 дней 14 дней 5 дней 1 день 150 - - - 10 4 3 2 2 1 1 75 19 20 13 5 2 1 1 1 1 1 50 14 14 9 4 2 1 1 1 1 1 25 7 7 5 2 1 1 1 1 1 1
  • 17. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Что бы хотелось по улучшениям в API Лучшее не всегда враг хорошего 1. Добавить в кампании такие же фильтры, как и в баннеры Сократит объем данных и нагрузку 2. Push статистики сразу же, после ее изменения Идеальный случай, количество запросов упадет к нулю
  • 18. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Работаем с проекциями Теперь это отдельный сервис внутри Plarin ~84 GB Данных в день >15 000 Кампаний, которым требуются актуальные цены ~1 150 000 Запросов к АПИ ежедневно (примерно 13 кампаний в секунду) При этом около 90% запросов проекций только для получения оптимальной цены.
  • 19. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Работаем с проекциями Сервис отселили отдельно Раньше это было частью основного апдейтера, но часто обновления блокировали таймауты по 15 минут, ошибки 500 и т.д. Мы этот сервис вынесли в отдельный. Java, AsyncHttp MongoDB 3.x, WiredTiger Amazon c3.xlarge 4 vCPU, 7,5 Gb Memory 0.105 Load Average Запас прочности – 1000-2000% 15 000 кампаний по 13 в секунду это 20 минут на полный цикл.
  • 20. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Работаем с проекциями И тут математика Исходные 84 Gb в день на самом деле оказывается больше, так как ответы приходят запакованными в gzip, в среднем по 40кб. Каждый ответ распаковывается примерно в 400кб и содержит в себе > 2000 точек. Итого: 6 Gb хранения на 15 000 кампаний. Что мы делаем: 1) Урезаем количество точек, оставляя из повторяющихся охватов только один с минимальной ценой 2) Отдельно вычисляем и храним минимальную и максимальную цены, а так же оптимальную цену для каждой рекламной кампании В итоге в каждой проекции остается 12 кб, и 51 точка вместо 2 000+
  • 21. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Что бы хотелось по улучшениям в API Лучшее не всегда враг хорошего 1. Ограничить количество точек в ответе, оставив по 1 точке на каждый % охвата 2. Возвращать верные лимиты для запрашиваемого пакета, не менее минимальной цены и не более максимальной цены 3. Сделать доступным в запросах передачу только ID существующей кампании, без указания всего таргетинга 4. Расширить метод, когда для нескольких кампаний можно получить только оптимальную цену одним запросом, а лучше вынести оптимальную цену в объект Campaign (90% запросов к проекциям только для получения оптимальной цены)
  • 22. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Проблемные места Лучшее не всегда враг хорошего User.json Часто забираем, другой возможности нет определить остатки бюджетов на аккаунте и статус клиента (активный, заблокированный) Конверсии Сейчас не забираем, и по прежнему не можем определить у какой кампании есть конверсии, а у какой нет. При добавления запроса на все кампании в день прибавится 3-5 млн запросов. В самом ответе конверсий не хватает ID целей т.к. они могут поменяться, не к чему привязаться. Ремаркетинг Часто забираем, т.к. не можем определить когда любой из списков изменился, а когда нет (6 списков, 16 запросов в секунду, более 8 млн запросов в день) - 42% от всех запросов. Мы делаем это в цикле группой по 10 клиентов и обновление всех клиентов за один цикл – 10 минут. 99.9% ответов ремаркетинг списков без изменений по сравнению с предыдущим.
  • 23. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Решение Лучшее не всегда враг хорошего Новый метод - updated_objects, который решит все проблемы Может содержать в себе информацию о времени последнего изменения: 1. Свойств кампаний или статистики кампаний 2. Свойств баннеров или статистики баннеров 3. Списков ремаркетинг групп 4. Наличие конверсий в РК Это позволит фактически дергать только один метод и существенно сократить запросы к другим методам, совершая их только тогда, когда это действительно актуально. p.s. Ну или, хотя бы, новый метод для ремаркетинг групп и вынос количества конверсий в Campaigns.
  • 24. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 APIШНИК Немного статистики в сравнении с прошлым Рост показателей 4 400 11 000 4 000 15 000 2014 ДЕКАБРЬ 2016 МАРТ АКТИВНЫЕ КАМПАНИИ Остановленные Запущенные 25 000 90 000 2015 ИЮЛЬ 2016 МАРТ POSTBACK КОНВЕРСИИ Всего конверсий в день
  • 25. Plarin – единая система управления рекламой ВКонтакте и myTarget Михаил Иванков,2016 Спасибо за внимание Иванков Михаил Product Director & CTO, Plarin Plarin Единая система управления таргетированной рекламой ВКонтакте и myTarget Все презентации Plarin в Facebook https://www.facebook.com/plarin.net РЕКОМЕНДОВАННЫЙ РАЗРАБОТЧИК 2013—2016