开发人员指南概述

亚马逊广告 API 概览

亚马逊广告展示型推广内容相关投放 API

借助内容相关投放,您可以使用出现在相关商品详情页上的广告,向主动浏览您的商品或类似商品和品类的受众推广您的商品。此外,借助品类投放和类似商品投放,广告主能够在受众购物和娱乐过程中的更多触点触达更多受众。借助内容相关投放方案,广告主现在可以在顾客浏览与投放方案相关的内容时触达亚马逊站内及站外的受众。

内容相关投放广告活动遵循标准的亚马逊广告 API 结构来创建和管理广告活动,使用与商品推广活动相同的语法。如果您之前创建过商品推广活动,会发现这些概念非常相似。

提示:动态投放

亚马逊建议对所有广告活动使用“similarProduct”(类似商品)投放,以便针对与所推广商品类似的其他商品进行投放。按“similarProduct”(类似商品)选择的商品是以所推广的商品为基础,使用基于零售数据构建的机器学习模型动态生成的。进一步了解动态投放。

构建展示型推广内容相关投放广告活动

按照以下步骤创建展示型推广内容相关投放广告活动:

第 1 步: 创建广告活动

tactic 字段值 T00020 指定了内容相关投放广告活动:

POST /sd/campaigns/ HTTP/1.1
[{
  "name": "My contextual targeting campaign",
  "tactic": "T00020",
  "budgetType": "daily",
  "costType": "cpc",
  "portfolioId": 1234567,
  "budget": 200.00,
  "startDate": "20200810",
  "endDate": "20301201",
  "state": "enabled"
}]
HTTP/1.1 207 Multi-Status
[{
  "campaignId": "1234567890",
  "code" : "SUCCESS"
}]

成功的响应会返回广告活动标识符。此标识符用于在下一步中创建广告组。

亚马逊现在支持新的 costType 为 vCPM,这样您就可以针对认知度广告活动的可见展示量优化竞价,目标是触达更多受众。请注意,vCPM 竞价与 CPC 竞价在本质上是不同的。使用 vCPM 竞价时,您是针对 1,000 次可见展示量进行竞价,而使用 CPC 竞价时,您是针对 1 次点击量进行竞价。例如:

POST /sd/campaigns/ HTTP/1.1
[{
  "name": "My contextual targeting campaign",
  "tactic": "T00020",
  "budgetType": "daily",
  "costType": "vcpm",
  "portfolioId": 1234567,
  "budget": 200.00,
  "startDate": "20200810",
  "endDate": "20301201",
  "state": "enabled"
}]
HTTP/1.1 207 Multi-Status
[{
  "campaignId": "1234567890",
  "code" : "SUCCESS"
}]

第 2 步: 创建广告组

在本示例中,我们将创建一个广告组。亚马逊现在新增了额外的控制选项,以便使用 bidOptimization 根据广告活动目标优化竞价。在构建广告活动时,广告主可以在更高的购买意向目标或更高的转化目标之间进行选择。选择“clicks”时,广告将向更有可能点击您的广告的受众投放。选择“conversions”时,竞价将针对更高的转化率进行优化,从而向更有可能购买该商品的顾客展示您的广告。选择“reach”时,竞价将针对可见展示量进行优化,从而使您的广告能够向更多顾客展示。请注意,当选择 costType 为 CPC 时,bidOptimization 的值将是 clicks 或 conversions 之一。

POST /sd/adGroups HTTP/1.1
[{
  "campaignId": "1234567890",
  "name": "My AdGroup for Campaign 1234567890",
  "state": "enabled",
  "bidOptimization": "clicks",
  "defaultBid": "1.20"
}]
HTTP/1.1 207 Multi-Status
[{
  "adGroupId": "1234567891",
  "code" : "SUCCESS"
}]

以下是在广告活动的 costType 设置为 vCPM 时创建广告组的示例。请注意,当 costType 选择 vCPM 时,bidOptimization 必须设置为 reach。

POST /sd/adGroups HTTP/1.1
[{
  "campaignId": "1234567890",
  "name": "My AdGroup for Campaign 1234567890",
  "state": "enabled",
  "bidOptimization": "reach",
  "defaultBid": "5.0"
}]
HTTP/1.1 207 Multi-Status
[{
  "adGroupId": "1234567891",
  "code" : "SUCCESS"
}]

成功的响应会返回广告组标识符。此标识符将用于在后续步骤中创建产品广告和投放表达式。

第 3 步: 创建产品广告

POST /sd/productAds HTTP/1.1
[{
  "adGroupId": "1234567891",
  "campaignId": "1234567890",
  "sku": "SDTestContextualSKU3",
  "state": "enabled"
}]
HTTP/1.1 207 Multi-Status
[{
  "adId": "1234567892",
  "code" : "SUCCESS"
}]

成功的响应会返回广告标识符。

第 4 步: 创建定向子句示例

similarProduct 投放

POST /sd/targets HTTP /1.1
[{
  "adGroupId": "{{adGroupId}}",
  "state": "enabled",
  "expressionType": "manual",
  "bid": "2.00",
  "expression": [
   {
       "type": "similarProduct",
   }
  ]
}]
HTTP/1.1 207 Multi-Status
[{
  "adId": "1234567892",
  "code" : "SUCCESS"
}]

asinSameAs 投放

POST /sd/targets HTTP /1.1
[{
  "adGroupId": "{{adGroupId}}",
  "state": "enabled",
  "expressionType": "manual",
  "bid": "0.10",
  "expression": [
   {
       "type": "asinSameAs",
       "value": "B00362RVG0"
   }
  ]
}]
HTTP/1.1 207 Multi-Status
[{
  "adId": "1234567893",
  "code" : "SUCCESS"
}]

创建投放表达式后,您的广告活动将处于活跃状态并投放广告。

对于以上描述的每个步骤,还可以进行其他操作,以读取、更新和删除相应的组件(广告活动、广告组、产品广告、投放表达式)。Open API 规范描述了每个请求的格式。让我们在下一节中探讨广告活动管理的示例。

广告活动管理

检索操作使用 HTTP GET 方法,无需 HTTP 请求体即可检索单个广告活动或所有广告活动。

例如,要检索标识符为 1234567890 的单个广告活动,可以使用:

GET /sd/campaigns/1234567890 HTTP/1.1

同样,您可以检索广告主的所有广告活动:

GET /sd/campaigns/ HTTP/1.1

更新广告活动设置

更新操作使用 HTTP PUT 方法来修改广告活动的值。它使用与创建请求相同的结构,但需要 campaignId 字段。例如:

PUT /sd/campaigns/ HTTP/1/1
[{
  "campaignId": "1234567890",
  "name": "My contextual targeting campaign",
  "tactic": "T00020",
  "budgetType": "daily",
  "budget": 200.00,
  "startDate": "20191010",
  "endDate": "20301201",
  "state": "enabled"
}]

删除广告活动

删除操作使用 HTTP DELETE 方法(无 HTTP 体)来删除单个广告活动。例如,要删除标识符为 1234567890 的广告活动,可以使用:

DELETE /sd/campaigns/1234567890 HTTP/1.1

报告

用于内容相关投放的报告 API 与其他方案类似。区别在于创建报告请求时的 tactic 字段值和内容相关投放的特定指标。

{
  "reportDate": "20200801",
  "tactic": "T00020",
  "metrics": "campaignName,campaignId,impressions,clicks,cost,attributedSales14d"
}

您可以查看如何创建和下载报告,如报告资源参考文档中所述。

否定投放

否定投放适用于使用 /sd/negativeTargets 资源的内容相关投放广告活动。此资源遵循与 /sd/targets 中定义的常规投放表达式相同的格式,唯一的不同是广告组中的所有投放表达式都是否定的。

例如,如果您已经创建了投放表达式,对标识符为 45678 的品类进行投放。

POST /sd/targets HTTP/1.1
[{
  "adGroupId": "1234567891",
  "state": "enabled",
  "expressionType": "manual",
  "bid": "1.10",
  "expression": [
   {
       "type": "asinCategorySameAs",
       "value": "45678"
   }
  ]
}]

您可以使用以下方法(体相同但资源不同),在品类投放中排除品牌,例如标识符为 98765 的品牌:

POST /sd/negativeTargets HTTP/1.1
[{
  "adGroupId": "1234567891",
  "state": "enabled",
  "expressionType": "manual",
  "expression": [
   {
       "type": "asinBrandSameAs",
       "value": "98765"
   }
  ]
}]

参考

每个可用的内容相关投放子句定义如下。

内容相关投放子句 描述
asinSameAs 对相同 ASIN 的商品进行投放
asinCategorySameAs 对相同品类的商品进行投放
asinBrandSameAs 对相同品牌的商品进行投放
asinPriceBetween、asinPriceGreaterThan、asinPriceLessThan、asinReviewRatingLessThan、asinReviewRatingGreaterThan、asinReviewRatingBetween 根据 ASIN 特定条件,针对过去浏览过商品的受众进行投放
asinIsPrimeShippingEligible 对符合 Prime 配送条件的商品进行投放
asinAgeRangeSameAs 对特定年龄范围内的商品进行投放(仅适用于玩具和游戏等特定品类)
asinGenreSameAs 对特定流派的商品进行投放(仅适用于“图书”品类)
similarProduct 对类似于推广的 ASIN 的商品进行投放

后续步骤

如果您已经设置账户,则可以开始使用 Postman 创建展示型推广活动