2. Feed Services
Управление сервисами Feeds в AdWords API
Adam Ohren, Google Inc.
Danial Klimkin, Google Inc.
AdWords API Workshops – All rights reserved
5. Что такое фид (Feed)?
Feed
● Таблица на уровне аккаунта
● Набор изменяемых строк
● Источник данных для расширений
○ Sitelinks (доп. ссылки)
○ Call extensions (телефонные вызовы)
○ App extensions (загрузка приложений)
AdWords API Workshops – All rights reserved
Attr1
Attr2
Attr3
Item1
Val1
Val2
Val3
Item2
Val4
Val5
Val6
6. Преимущества использования
Feed
● Динамическое обновление расширений
○ Изменение расширений без пересоздания
○ Сохранение статистики
● Управление таргетингом платформ на
уровне фида
AdWords API Workshops – All rights reserved
Attr1
Attr2
Attr3
Item1
Val1
Val2
Val3
Item2
Val4
Val5
Val6
7. Аналогия с базой данных (1/2)
Таблица
Feed
Столбец
FeedAttribute
Строка
FeedItem
Поле
FeedItemAttributeValue
AdWords API Workshops – All rights reserved
8. Аналогия с базой данных (2/2)
Ad Extension
AdWords API Workshops – All rights reserved
12. Создание новых фидов
1. Создание
2. Заполнение
3. Привязка
AdWords API Workshops – All rights reserved
13. Создание новых фидов
Чтобы...
…вызовите это...
...с этим!
Создать
FeedService
Feed
FeedAttribute
Заполнить
FeedItemService
FeedItem
FeedItemAttribute
Привязать
FeedMappingService
FeedMapping
AdWords API Workshops – All rights reserved
14. Создание
● Добавляем новую поименованную
коллекцию данных
● Определяем названия и типы столбцов
AdWords API Workshops – All rights reserved
15. Создание
1. Создаем Feed
a. задаем имя
2. Добавляем аттрибуты (FeedAttributes)
a. задаем имена
b. задаем типы
3. Вызываем FeedService.mutate(ADD op)
AdWords API Workshops – All rights reserved
16. Заполнение
● Добавляем строку в наш фид
● Указываем предпочтение по платформе
(опционально)
● Задаем временной интервал
(опционально)
AdWords API Workshops – All rights reserved
17. Заполнение
1. Создаем FeedItem
a. задаем ID ранее созданного фида
2. Добавляем FeedItemAttributeValues
a. задаем ID “столбца” feedAttributeId
b. устанавливаем значение value
3. Вызываем
FeedItemService.mutate(ADD op)
AdWords API Workshops – All rights reserved
18. Привязка
● Определяет, какие расширения могут
использовать фид
● Указывает, какие “столбцы” фида
используются в расширении
AdWords API Workshops – All rights reserved
19. Привязка
1. Создаем FeedMapping
a. указываем ID созданного Feed
b. устанавливаем тип placeholderType
2. Добавляем AttributeFieldMappings
a. задаем feedAttributeId
b. задаем fieldId
3. Вызываем
FeedMappingService.mutate(ADD op)
AdWords API Workshops – All rights reserved
21. Использование данных фида в расширениях объявлений
Feed
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem
AdWords API Workshops – All rights reserved
22. Использование данных фида в расширениях объявлений
Feed
FeedItem
matchingFunction
FeedItem
CampaignFeed
Campaign
AdGroupFeed
AdGroup
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem
AdWords API Workshops – All rights reserved
matchingFunction
23. Добавление в кампании и группы
● Добавляем расширение в
кампанию или группу объявлений
● Определяем как выбирается
“строка” FeedItem с помощью
функции соответствия
(matchingFunction)
AdWords API Workshops – All rights reserved
24. Добавление в кампании и группы
1. Создаем CampaignFeed
a. задаем feedId
b. устанавливаем campaignId
c. определяем placeholderTypes
2. Добавляем функцию соответствия
a. задаем оператор (operator)
b. задаем операнды (operands)
3. Вызываем CampaignFeed.mutate
(ADD op)
AdWords API Workshops – All rights reserved
25. Функции соответствия (Matching Functions)
Feed
FeedItem
FeedItem
FeedItem
matchingFunction
CampaignFeed
Campaign
AdGroupFeed
AdGroup
FeedItemId IN (id1, id2, …)
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem
FeedItem
AdWords API Workshops – All rights reserved
matchingFunction
FeedItemId IN (idA, idB, …)
26. Функции соответствия (Matching Functions)
Feed
Campaign / AdGroup
FeedItemId IN (6435602, 6436202)
AdWords API Workshops – All rights reserved
28. Отчеты для Feeds
Ad Extensions Performance Report
● DomainInfo
● Location
● LocationSync
● Sitelinks
● Mobile
● InAppLink
AdWords API Workshops – All rights reserved
Placeholder Feed Item Report
● Sitelinks
● Mobile
● InAppLink
29. Placeholder Feed Item Report
● Статистика на уровке FeedItem
● PlaceholderType ⇔ Ad extension type
● Sitelink
● Call
● App
AdWords API Workshops – All rights reserved
31. Использование ADWORDS Feeds
● Автоматически создаваемые фиды:
● Main sitelink feed
● Main phone number feed
● Main app feed
● Feed.origin = “ADWORDS”
● FeedAttributes (параметры) неизменяемы
AdWords API Workshops – All rights reserved
32. Пользовательские фиды
● В интерфейсе доступны в выпадающем меню
● Feed.origin = “USER”
● FeedAttributes (параметры) могут быть добавлены
AdWords API Workshops – All rights reserved
33. Удаление фидов
Строки фидов
● удаление FeedItem
AdWords API Workshops – All rights reserved
VS
Расширения объявлений
● убираем ID из функции
соответствия
34. Некоторые особенности
● Только один CampaignFeed / AdGroupFeed для
каждого PlaceholderType
● FeedAttributes нельзя изменить оператором Feed.SET
● FeedItemIds не проверяются в matchingFunctions
● Максимально 20 фидов на один аккаунт
● включая автоматические фиды ADWORDS
● Удалить фиды можно только с помощью API
AdWords API Workshops – All rights reserved
36. Use The Code, Luke!
● Примеры доступны для всех библиотек:
○ https://developers.google.com/adwords/api/docs/clientlibraries
● Не начинайте с нуля, посмотрите примеры!
● Начните с примера для SiteLinks
● Когда все работает, посмотрите другие расширения
AdWords API Workshops – All rights reserved
37. PLACEHOLDERs -- что это?
Задают тип фида и полей, которые вы используете.
Несколько примеров:
PLACEHOLDER_SITELINKS = 1;
PLACEHOLDER_CALL = 2;
...
PLACEHOLDER_FIELD_CALL_ONLY = 4;
Полный список:
https://developers.google.com/adwords/api/docs/appendix/placeholders
AdWords API Workshops – All rights reserved
38. Поля расширений
Определяются для каждого типа placeholder отдельно:
● Sitelink:
Text, URL (up to 6 pairs)
● Call or : Phone Number, Country Code, isCallTracking,
Mobile : isCallOnly, Conversion Duration Threshold
● App
: Store, Id, Link Text, URL
AdWords API Workshops – All rights reserved
39. Просто доработайте напильником
● Переименование методов
Все имена методов, переменных и параметров в
примерах для наглядности включают текст SiteLink.
AdWords API Workshops – All rights reserved
40. Просто доработайте напильником
● Измените аттрибуты на используемые:
FeedAttribute textAttribute = new FeedAttribute();
textAttribute.setType(FeedAttributeType.STRING);
textAttribute.setName("Link Text");
Становится:
FeedAttribute numberAttribute = new FeedAttribute();
numberAttribute.setType(FeedAttributeType.STRING);
numberAttribute.setName("Phone Number");
AdWords API Workshops – All rights reserved
41. Просто доработайте напильником
● Укажите верно FeedAttributeType:
FeedAttribute iCOAttribute = new FeedAttribute();
iCOAttribute.setType(FeedAttributeType.BOOLEAN);
iCOAttribute.setName("Is Call Only");
AdWords API Workshops – All rights reserved
42. Просто доработайте напильником
● Указывайте AttributeId в правильном порядке:
Feed savedFeed = result.getValue()[0]; // a new FeedReturnValue
callData.callFeedId = savedFeed.getId(); // a data holder object
FeedAttribute[] savedAttributes = savedFeed.getAttributes();
callData.numberFeedAttributeId = savedAttributes[0].getId();
callData.ccFeedAttributeId = savedAttributes[1].getId();
callData.iCTFeedAttributeId = savedAttributes[2].getId();
...
// other Attribute lines
AdWords API Workshops – All rights reserved
43. Полезные ресурсы
Guide & Reference
https://developers.google.com/adwords/api/docs/guides/feed-services
https://developers.google.com/adwords/api/docs/appendix/placeholders
https://developers.google.com/adwords/api/docs/appendix/feed-errors
https://developers.google.com/adwords/api/docs/clientlibraries
AdWords API Workshops – All rights reserved