Функции сопоставления

Объекты CustomerFeed, CampaignFeed и AdGroupFeed в AdWords позволяют определять критерии выбора элементов фидов с помощью функций сопоставления. Функция сопоставления включает три поля:

Поле Тип
lhsOperand FunctionArgumentOperand
operator Function.Operator
rhsOperand FunctionArgumentOperand

Например, для функции, которая выбирает элементы фида (объекты FeedItem) с идентификаторами feedItemId 1000001, 1000002 или 1000003, атрибуты будут выглядеть следующим образом:

  1. lhsOperand = RequestContextOperand с contextType = FEED_ITEM_ID
  2. operator = IN
  3. rhsOperand = [1000001, 1000002, 1000003]

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

IN(FEED_ITEM_ID,{1000001,1000002,1000003})

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

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

Примеры элементов фидов

В примерах мы будем использовать следующие элементы из вымышленного фида с идентификатором 12345678:

Идентификатор элемента фида Атрибут 0
Название
Атрибут 1
Строка 2
Атрибут 2
Строка 3
Атрибут 3
Конечные URL
1000001 Полет на Марс Путешествуйте со скоростью света 140 млн миль [http://www.example.com/mars]
1000002 Полет на Венеру Путешествуйте со скоростью света 162 млн миль [http://www.example.com/venus]
1000003 Полет на Юпитер Обед включен 365 млн миль [http://www.example.com/jupiter1, http://www.example.com/jupiter2]
1000004 Полет на Луну Бесплатные крендельки 238 900 млн миль [http://www.example.com/moon]

Типы функций

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

Выбор по типу платформы (мобильные устройства или компьютеры)

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

Поле Допустимое значение
lhsOperand RequestContextOperand с contextType = DEVICE_PLATFORM
operator EQUALS
rhsOperand Один постоянный операнд (ConstantOperand) с одним из двух значений: Mobile или Desktop (чувствителен к регистру)
Пример строки функции
EQUALS(CONTEXT.DEVICE,"Mobile")

Выбор по идентификатору элемента фида

Этот тип функции позволяет выбирать элементы фида по их идентификатору (feedItemId).

Приведенная ниже строка функции выбирает первые три элемента фида ("Полет на Марс", "Полет на Венеру" и "Полет на Юпитер") по их идентификаторам.

Поле Допустимое значение
lhsOperand RequestContextOperand с contextType = FEED_ITEM_ID
operator EQUALS или IN
rhsOperand 1 или более ConstantOperand:
  • ровно 1 ConstantOperand для EQUALS;
  • максимум 20 ConstantOperands для IN.
Пример строки функции
IN(FEED_ITEM_ID,{1000001,1000002,1000003})

Выбор по атрибутам фида

Этот тип функции позволяет выбирать элементы фида в зависимости от значения определенного атрибута в FeedItem.

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

Поле Допустимое значение
lhsOperand FeedAttributeOperand со значениями feedId и feedAttributeId
operator EQUALS или CONTAINS_ANY
rhsOperand 1 или более ConstantOperand:
  • ровно 1 ConstantOperand для EQUALS;
  • максимум 3 ConstantOperands для CONTAINS_ANY.
Пример строки функции
CONTAINS_ANY(FeedAttribute[12345678,0],{"Mars cruise","Venus cruise","Moon cruise"})

Функция тождества (всегда true или всегда false)

Эта функция позволяет определить условие, которое всегда истинно или ложно.

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

Вы также можете использовать строку функции IDENTITY(true) для выбора всех элементов фида. Однако это можно делать только в объекте CustomerFeed для адресов.

Поле Допустимое значение
lhsOperand Ровно 1 ConstantOperand с booleanValue true или false
operator IDENTITY
rhsOperand Нет
Пример строки функции
IDENTITY(false)

Комбинирование функций

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

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

Поле Допустимое значение
lhsOperand Как минимум 2 FunctionArgumentOperand
operator AND
rhsOperand Нет
Пример строки функции
AND(IN(FEED_ITEM_ID,{1000001,1000002,1000003}),EQUALS(CONTEXT.DEVICE,"Mobile"))

При комбинировании функций lhsOperand может включать только:

Кроме того, FunctionOperand может использоваться только в функции верхнего уровня. Вкладывать объекты FunctionOperand друг в друга нельзя.

Вот примеры правильных и неправильных строк функции:

Строка функции Правильно? Примечания
AND(
 IN(FEED_ITEM_ID,{1000001,1000002,
   1000003}),
 EQUALS(CONTEXT.DEVICE,"Mobile"))
Да Правильно: включает функцию "Идентификатор элемента фида" и функцию "Платформа"
AND(
 CONTAINS_ANY(FeedAttribute[12345678,0],
   {"Mars cruise","Venus cruise",
    "Moon cruise"}),
 EQUALS(CONTEXT.DEVICE,"Mobile"))
    
Да Правильно: включает функцию "Атрибут фида" и функцию "Платформа"
AND(
 CONTAINS_ANY(FeedAttribute[12345678,0],
   {"Mars cruise","Venus cruise",
    "Moon cruise"}),
 CONTAINS_ANY(FeedAttribute[12345678,2],
   {
     "140 million miles",
     "162 million miles"}))
    
Да Правильно: включает две функции "Атрибут фида"
AND(
 IN(FEED_ITEM_ID,{1000001,1000002,
   1000003}),
 CONTAINS_ANY(FeedAttribute[12345678,0],
   {"Mars cruise","Venus cruise",
    "Moon cruise"}))
    
Нет Неправильно: нельзя комбинировать функции "Идентификатор элемента фида" с функциями "Атрибут фида"
AND(
 AND(
  IN(FEED_ITEM_ID,
     {1000001,1000002,1000003}),
   EQUALS(CONTEXT.DEVICE,"Mobile")),
 AND(
   CONTAINS_ANY(
     FeedAttribute[12345678,0],
     {"Mars cruise","Venus cruise",
      "Moon cruise"}),
   CONTAINS_ANY(FeedAttribute[
     12345678,1],
     {"Free pretzels","Lunch included"})
 )
)
    
Нет Неправильно: вкладывать функции друг в друга нельзя

Правила для оператора функции

Ниже перечислены правила проверки каждого оператора функции.

Оператор IN

Поле rhsOperand должно содержать как минимум 1 и максимум 20 объектов ConstantOperand.

Оператор EQUALS

Поле rhsOperand должно содержать ровно 1 объект ConstantOperand.

Оператор AND

Поле lhsOperand должно содержать как минимум 2 объекта FunctionOperand. Поле rhsOperand не следует устанавливать.

Оператор CONTAINS_ANY

Поле rhsOperand должно содержать как минимум 1 и максимум 3 объекта ConstantOperand.

Оператор IDENTITY

Поле lhsOperand должно содержать ровно 1 объект ConstantOperand со значением в поле booleanValue. Поле rhsOperand не следует устанавливать.

Правила для функции CustomerFeed

Объект CustomerFeed может иметь только один из следующих типов меток-заполнителей:

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

CustomerFeed для адресов

Объект CustomerFeed для типа метки-заполнителя "Адрес" должен представлять собой один из следующих вариантов:

ИЛИ

Правила для функций CampaignFeed и AdGroupFeed

При создании функций сопоставления для объектов CampaignFeed and AdGroupFeed можно использовать все типы и комбинации функций, перечисленные выше.

Параметры таргетинга FeedItem

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

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

Например, вы создаете FeedItem для дополнительных ссылок со следующими параметрами таргетинга:

  • adGroupTargeting.TargetingAdGroupId = 12345
  • keywordTargeting.id = 7890

Затем вы определяете AdGroupFeed для типа метки-заполнителя 1 (дополнительные ссылки) с функцией сопоставления "Платформа" для Mobile.

При показе объявлений из этой группы AdWords будет добавлять к ним дополнительные ссылки из FeedItem, только если атрибуты показа соответствуют и критериям таргетинга FeedItem, и функции сопоставления AdGroupFeed.

Пример 1

Атрибуты показа: идентификатор группы объявлений 12345, ключевое слово 7890, пользователь компьютера.

Результат: FeedItem не будет использоваться, поскольку платформа (компьютеры) не соответствует функции сопоставления AdGroupFeed.

Пример 2

Атрибуты показа: идентификатор группы объявлений 12345, ключевое слово 8910, пользователь мобильного устройства.

Результат: FeedItem не будет использоваться, поскольку ключевое слово (7890) не удовлетворяет параметрам таргетинга FeedItem.

Пример 3

Атрибуты показа: идентификатор группы объявлений 12345, ключевое слово 7890, пользователь мобильного устройства.

Результат: FeedItem будет использоваться, так как атрибуты соответствуют как функции сопоставления AdGroupFeed, так и параметрам таргетинга FeedItem.

Дополнительная информация

Оставить отзыв о...

Текущей странице
Нужна помощь? Обратитесь в службу поддержки.