匹配函数

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

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

例如,如果某个函数选择 feedItemId 为 1000001、1000002 或 1000003 的 FeedItem,其属性将如下:

  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 RequestContextOperand,contextType = DEVICE_PLATFORM
operator EQUALS
rhsOperand 单个 ConstantOperand,为 MobileDesktop(区分大小写)
函数字符串示例
EQUALS(CONTEXT.DEVICE,"Mobile")

按 Feed 项 ID 选择

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

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

字段 有效值
lhsOperand RequestContextOperand,contextType = 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,必须是确切 1 个 ConstantOperand
  • 对于 CONTAINS_ANY,最多为 3 个 ConstantOperands
函数字符串示例
CONTAINS_ANY(FeedAttribute[12345678,0],{"Mars cruise","Venus cruise","Moon cruise"})

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

此函数允许您设定始终取值 true 或 false 的条件。

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

您还可以使用 IDENTITY(true) 函数字符串,它将在 Feed 中选择所有 Feed 项。但是,对于地址,您只应在 CustomerFeed 上执行此操作。

字段 有效值
lhsOperand 确切 1 个 ConstantOperand,且其 booleanValue 设置为 truefalse
operator IDENTITY
rhsOperand
函数字符串示例
IDENTITY(false)

组合函数

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

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

字段 有效值
lhsOperand 至少两个 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"))
有效 - 由 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"})
 )
)
    
无效 - 不能嵌套组合函数

函数运算符规则

以下是每个函数运算符的验证规则。

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 和 AdGroupFeed 对象构建匹配函数时,您可以使用上述所有函数类型函数组合

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
需要帮助?请访问我们的支持页面