匹配函数

AdWords 中的 CustomerFeedCampaignFeedAdGroupFeed 对象允许您通过匹配函数为 Feed 项定义选择条件。匹配函数包含三个字段:

字段 类型
lhsOperand FunctionArgumentOperand
operator Function.Operator
rhsOperand FunctionArgumentOperand

例如,选择 feedItemId 为 1000001、1000002 或 1000003 的 FeedItem 对象Function 具有以下属性:

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

作为创建操作数和运算符对象的替代方法,您也可以改为设置函数的 functionString,以此方式创建等效的函数:

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

除了简单函数,您还可以在满足某些限制条件的情况下,将多个函数组合在一起,创建新的函数(详情请参见本指南后面的部分)。

以下各节介绍了 AdWords API 用于验证匹配函数的规则。

Feed 项示例

该示例使用了某个虚构 Feed(ID 为 12345678)中的以下 Feed 项。

FeedItem ID 属性 0 名称 属性 1 第 2 行 属性 2 第 3 行 属性 3 最终到达网址
1000001 火星之旅 光速旅行 1.4 亿英里 [http://www.example.com/mars]
1000002 金星之旅 光速旅行 1.62 亿英里 [http://www.example.com/venus]
1000003 木星之旅 含午餐 3.65 亿英里 [http://www.example.com/jupiter1, http://www.example.com/jupiter2]
1000004 月球之旅 免费饼干 238,900 英里 [http://www.example.com/moon]

函数类型

该 API 支持以下叶节点函数类型。下一节将介绍由其他函数组成的函数。

按平台(移动设备或桌面设备)选择

此函数类型可让您将特定广告附加信息(占位符类型)的目标受众限制为仅移动设备用户或仅桌面设备用户。

字段 有效值
lhsOperand RequestContextOperandcontextType = DEVICE_PLATFORM
operator EQUALS
rhsOperand 单个 ConstantOperand,为 MobileDesktop(区分大小写)
函数字符串示例
EQUALS(CONTEXT.DEVICE,"Mobile")

按 Feed 项 ID 选择

此函数类型允许您通过指定其 feedItemId 来选择 Feed 项。

下面的函数字符串将根据 Feed 项 ID 选择前三个 Feed 项(火星之旅、金星之旅和木星之旅)。

字段 有效值
lhsOperand RequestContextOperandcontextType = FEED_ITEM_ID
operator EQUALSIN
rhsOperand 一个或多个 ConstantOperand
  • 对于 EQUALS,必须正好是 1 个 ConstantOperand
  • 对于 IN,最多为 20 个 ConstantOperands
函数字符串示例
IN(FEED_ITEM_ID,{1000001,1000002,1000003})

按 Feed 属性选择

此函数类型允许您根据 FeedItem 特定属性的值选择 Feed 项。

下面的函数字符串将根据属性 0 的值选择第一、第二和第四个 Feed 项。

字段 有效值
lhsOperand 设置了 feedIdfeedAttributeIdFeedAttributeOperand
operator EQUALSCONTAINS_ANY
rhsOperand 一个或多个 ConstantOperand
  • 对于 EQUALS,必须正好是一个 ConstantOperand
  • 对于 CONTAINS_ANY,最多为三个 ConstantOperands
函数字符串示例
CONTAINS_ANY(FeedAttribute[12345678,0],{"Mars cruise","Venus cruise","Moon cruise"})

恒等式函数(始终为 true 或始终为 false)

此函数允许您设定始终取 true 或 false 值的条件。您可以使用 IDENTITY(true) 函数字符串来选择 Feed 中的所有 Feed 项。

下面的函数字符串示例中,没有选择 Feed 中的任何 Feed 项。使用此类函数可以在客户、广告系列或广告组级别停用特定类型的广告附加信息。

字段
lhsOperand 正好 1 个 ConstantOperand,且其 booleanValue 设置为 truefalse
operator IDENTITY
rhsOperand
函数字符串示例
IDENTITY(false)

组合函数

您可以将 FunctionOperandAND 运算符搭配使用,对两个或更多个函数进行逻辑组合,以形成新的匹配函数。

下面的函数字符串示例将根据 Feed 项 ID 选择前三个 Feed 项,但前提是展示只针对移动设备。

字段 有效值
lhsOperand 至少两个 FunctionArgumentOperand 对象
operator AND
rhsOperand
函数字符串示例
AND(IN(FEED_ITEM_ID,{1000001,1000002,1000003}),EQUALS(CONTEXT.DEVICE,"Mobile"))

组合函数时,lhsOperand 只能包括:

此外,您只能在顶级 Function 中使用 FunctionOperand,不能嵌套 FunctionOperand 对象。

以下是有效和无效函数字符串的一些示例:

函数字符串 有效 备注

AND(
 IN(FEED_ITEM_ID,{1000001,1000002,
   1000003}),
 EQUALS(CONTEXT.DEVICE,"Mobile"))
有效 - 由 Feed 项 ID 函数和平台函数组成

AND(
 CONTAINS_ANY(FeedAttribute[12345678,0],
   {"Mars cruise","Venus cruise",
    "Moon cruise"}),
 EQUALS(CONTEXT.DEVICE,"Mobile"))
有效 - 由 Feed 属性函数和平台函数组成

AND(
 CONTAINS_ANY(FeedAttribute[12345678,0],
   {"Mars cruise","Venus cruise",
    "Moon cruise"}),
 CONTAINS_ANY(FeedAttribute[12345678,2],
   {
     "140 million miles",
     "162 million miles"}))
有效 - 由两个 Feed 属性函数组成

AND(
 IN(FEED_ITEM_ID,{1000001,1000002,
   1000003}),
 CONTAINS_ANY(FeedAttribute[12345678,0],
   {"Mars cruise","Venus cruise",
    "Moon cruise"}))
无效 - 不能组合 Feed 项 ID 函数和 Feed 属性函数

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"})
 )
)
无效 - 不能嵌套组合函数

函数运算符规则

以下是每个函数 Operator 的验证规则。

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 函数规则

CampaignFeedAdGroupFeed 对象构建匹配函数时,您可以使用上述所有函数类型函数组合

FeedItem 定位选项

除了在客户、广告系列或广告组级别指定匹配函数,还可以通过设置 campaignTargetingadGroupTargetingkeywordTargeting 属性的方式,对各个 Feed 项设置定位选项。

这些定位选项将与匹配函数相结合,以选择要用于给定展示的 Feed 项。

例如,假设您通过以下定位选项为附加链接创建了 FeedItem

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

然后,您使用针对 Mobile平台匹配函数占位符类型 1(附加链接)定义 AdGroupFeed

在为此广告组投放展示时,如果展示属性同时满足 FeedItem 定位选项和 AdGroupFeed 匹配函数的要求,AdWords 将只会从 FeedItem 投放附加链接。

示例 1

展示属性:广告组 ID 12345、关键字 7890 以及桌面设备用户。

结果:不会使用 FeedItem,因为平台(桌面设备)与 AdGroupFeed 匹配函数不相符。

示例 2

展示属性:广告组 ID 12345、关键字 8910 以及移动设备用户。

结果:不会使用 FeedItem,因为关键字 (7890) 与 FeedItem 定位选项不相符。

示例 3

展示属性:广告组 ID 12345、关键字 7890 以及移动设备用户。

结果:会使用 FeedItem,因为属性与 AdGroupFeed 匹配函数和 FeedItem 定位选项都相符。

后续步骤

发送以下问题的反馈:

此网页
AdWords API
AdWords API
需要帮助?请访问我们的支持页面