开发人员指南概述

亚马逊广告 API 概览

亚马逊广告展示型推广受众 API

广告受众通过经典的站内和站外再营销提供灵活的控制,以转化通过自然搜索或付费搜索方式生成的先前访问商品详情页的访问者;同时还可以通过精确和相似商品(包括品类)更广泛地触达顾客,而不仅限于访问商品详情页的顾客。

为了对亚马逊自定义受众(这种方案利用亚马逊购物信号并通过像“再营销浏览定向”等这些直观、灵活的投放控制功能进行再营销)进行补充,您也可以使用“亚马逊消费者”,使广告主可以轻松使用一系列即用型细分受众群。“亚马逊消费者”是一种触达新顾客的方式,能帮助广告主更好地了解其在亚马逊上的品牌。搜索广告用户现在可以通过类似于描述品牌核心消费者的方式来选择受众群,例如“户外运动爱好者”或“注重环保的消费者”等。自助广告主现在可以直接将其整体品牌营销方案中使用的语言与展示型推广活动相关联。

受众广告活动遵循标准的亚马逊广告 API 结构来创建并管理广告活动。这些广告活动与展示型推广内容相关投放或商品推广活动非常相似。如果您之前创建过这些类型的广告活动,您会发现概念非常相似。

构建展示型推广受众广告活动

按以下步骤创建展示型推广受众广告活动:

第 1 步: 创建广告活动

在此示例中,tactic 字段的值为 T00030,用于指定一项广告受众广告活动

POST /sd/campaigns/ HTTP/1.1
[{
  "name": "My Audiences campaign",
  "tactic": "T00030",
  "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 Audiences campaign",
  "tactic": "T00030",
  "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": "conversions",
  "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": "TestSKU",
  "state": "enabled"
}]
HTTP/1.1 207 Multi-Status
[{
  "adId": "1234567892",
  "code" : "SUCCESS"
}]

成功的响应将返回一个广告标识符。

注意

在请求中,供应商使用 asin 字段,而卖家使用 sku 字段。这两个字段都可以接受 ASIN。

第 4 步: 创建定向子句

视图使用示例

POST /sd/targets HTTP /1.1
[{
  "expression": [{
    "type": "views",
    "value": [
      {
      "type": "similarProduct"
      },
      {
        "type": "lookback",
        "value": "30"
      }
    ]
  }],
  "bid": "1.25",
  "adGroupId": 209426065354910,
  "expressionType": "manual",
  "state": "enabled"
}]
HTTP/1.1 207 Multi-Status
[{
  "targetId": "12345678921",
  "code" : "SUCCESS"
}]

Example using audiences

POST /sd/targets HTTP /1.1
[{
  "expression": [{
    "type": "audiences",
    "value": [
      {
      "type": "audienceSameAs",
      "value": "111122223333344441"
      }
    ]
  }],
  "bid": "1.25",
  "adGroupId": 209426065354910,
  "expressionType": "manual",
  "state": "enabled"
}]
HTTP/1.1 207 Multi-Status
[{
  "targetId": "12345678923",
  "code" : "SUCCESS"
}]

创建定向子句后,您的广告活动将处于活动状态并开始投放广告。

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

了解可用于投放的所有亚马逊消费者

分类 API

分类 API 允许广告主按级别浏览亚马逊消费者目录层次结构,逐级发现他们希望投放的受众。该 API 允许您通过树状结构查找受众,其中每个级别包含一个或多个类别。当您到达树状结构的底部时,API 将不会返回任何类别(即"categories": [])。该 API 不返回细分受众群,而是使用该 API 返回的类别路径调用受众 Discovery API 来发现受众。

构建类别路径时,您可以使用以下请求从顶级节点开始,然后根据每个响应构建类别路径。

POST audiences/taxonomy/list HTTP /1.1
{
    "adType": "SD",
    "categoryPath": []
}
HTTP/1.1 200 
{
    "categoryPath": [],
    "categories": [
        {
            "category": "In-market",
            "audienceCount": 8542
        },
        {
            "category": "Interest",
            "audienceCount": 664
        },
        {
            "category": "Lifestyle",
            "audienceCount": 510
        },
        {
            "category": "Life event",
            "audienceCount": 12
        }
    ],
    "nextToken": null
}

后续请求可以是以下内容:

POST audiences/taxonomy/list HTTP /1.1
{
    "adType": "SD",
    "categoryPath": ["In-market"]
}

最后,当你到达树状结构底部时,它会返回:

HTTP/1.1 200 
{
    "categoryPath": [
        "In-market",
        "Sporting Goods",
        "Sports",
        "Basketball",
        "Backboards"
    ],
    "categories": [],
    "nextToken": null
}

下一步将使用 categoryPath 的结果并使用 Discovery API 来发现受众。

Discovery API

Discovery API 包括多个筛选条件,例如 category、categoryPath、audienceName 和 audienceId。您可以同时使用多个筛选条件,例如:使用 categoryPath 和 audienceName 来返回满足这两个子句的受众。

POST /audiences/list HTTP /1.1
{
    "adType": "SD",
    "filters": [
        {
            "field": "categoryPath",
            "values": [
                "In-market",
                "Sporting Goods",
                "Sports",
                "Basketball",
                "Backboards"
            ]
        },
        {
            "field": "audienceName",
            "values": [
                "*"
            ]
        }
    ]
}
HTTP/1.1 200 
{
    "audiences": [
        {
            "audienceId": "365445316056904705",
            "audienceName": "IM - Basketball Hoops & Goals",
            "description": "People whose shopping activities indicate they are likely to purchase Basketball Hoops & Goals",
            "category": "In-market",
            "createDate": "2017-11-29T17:16:20.108Z",
            "updateDate": "2021-01-21T11:31:52Z",
            "status": "Active",
            "forecasts": {
                "inventoryForecasts": {
                    "all": {
                        "dailyReach": {
                            "lowerBoundInclusive": 500000,
                            "upperBoundExclusive": 600000
                        }
                    }
                }
            }
        }
    ],
    "matchCount": 1
}

注意

对“categoryPath”使用 Audience Discovery 时,细分受众群的路径将会被限制在所提供的路径的正下方。该搜索基于亚马逊消费者目录的层次结构,限制返回的受众数量。

您还可以在每个筛选条件的 values 字段中指定多个搜索条件,每个条件都被视为“OR”条件。例如,如果您想要搜索包含 basketballsoccer 的受众名称,可以在 values 字段中指定这些受众名称。

注意

该筛选条件使用“category”而不是“categoryPat”,这样可以使受众不仅限于直接属于该类别的受众,而是返回跨一个或多个子类别(即子树)的受众。

以下请求返回包含足球 (soccer) 和篮球 (basketball) 受众的场内客群类别。

POST /audiences/list HTTP /1.1
{
    "adType": "SD",
    "filters": [
        {
            "field": "category",
            "values": [
                "In-market"
            ]
        },
        {
            "field": "audienceName",
            "values": [
                "basketball", "soccer"
            ]
        }
    ]
}

重叠受众

受众人群洞察 API可帮助发现与您所选受众相似且可能希望在广告活动中进行定向投放的其他受众。您可以使用通过 Discovery API 返回的任何受众作为输入项来生成重叠受众。

例如,要检索与编号为 1234567890 的受众重叠的受众:

GET /insights/audiences/1234567890/overlappingAudiences?adType=SD

API 将返回与所选受众重叠且符合指定条件的前 30 位受众。以下示例显示的是所选的受众及其前 3 位重叠的受众。

HTTP/1.1 200 
{
  "requestedAudienceMetadata": {
     "audienceId": "0000000000",
     "name": "Example 1",
     "size": 0,
     "category": "Example Category 1",
     "impressionForecastRange": {
       "lowerBound": 000000000
    }
   },
   "overlappingAudiences": [
     {
       "audienceMetadata": {
         "audienceId": "0000000000",
         "name": "Example 2",
         "size": 0,
         "category": "Example Category 2",
         "impressionForecastRange": {
          "lowerBound": 00000000,
          "upperBound": 00000000        }
       },
       "affinity": 00.00
    },
     {
       "audienceMetadata": {
         "audienceId": "0000000000",
         "name": "Example 3",
         "size": 0,
         "category": "Example Category 3",
         "impressionForecastRange": { 
          "lowerBound": 000000000,
          "upperBound": 000000000
        }
       },
       "affinity": 00.00
    },
     {
       "audienceMetadata": {
         "audienceId": "0000000000",
         "name": "Example 4",
         "size": 0,
         "category": "Example Category 4",
         "impressionForecastRange": {
          "lowerBound": 000000000
        }
       },
       "affinity": 00.00
    }

您可以使用一个或多个筛选条件来缩小结果范围。该 API 可供筛选 audienceCategory、minimumAudienceSize、maximumAudienceSize、minimumOverlapAffinity 和 maximumOverlapAffinity。

例如,以下请求返回场内客群 audienceCategory 中前 30 位重叠的受众,且 minimumOverlapAffinity 的值为 2。

GET /insights/audiences/1234567890/overlappingAudiences?adType=SD&audienceCategory=In-market&minimumOverlapAffinity=2

更多广告活动管理示例

检索操作使用 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 Audiences campaign",
  "tactic": "T00030",
  "budgetType": "daily",
  "budget": 200.00,
  "startDate": "20191010"
  "endDate": "20301201",
  "state": "enabled"
}]

删除广告活动

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

DELETE /sd/campaigns/1234567890 HTTP/1.1

报告

受众报告 API 与其他策略 (tactic) 类似。区别在于 tactic 字段值和受众特定指标在创建报告请求时可用。

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

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

参考

受众投放定向子句的完整列表定义如下,同样可在我们的文档中找到:

定向子句示例 描述
views(exactProduct lookback=30) 针对过去 7 天、14 天、30 天、60 天或 90 天内浏览过推广的 ASIN 的受众进行投放,具体取决于回溯期。
views(similarProduct lookback=14) 针对过去 7 天、14 天、30 天、60 天或 90 天内浏览过与推广的 ASIN 相似的商品的受众进行投放,具体取决于回溯期。
purchases(exactProduct lookback=7) 针对过去 7 天、14 天、30 天、60 天、90 天、180 天或 365 天内购买过推广的 ASIN 的受众进行投放,具体取决于回溯期。
purchases(relatedProduct lookback=14) 针对过去 7 天、14 天、30 天、60 天、90 天、180 天或 365 天内购买过与推广的 ASIN 相关的商品的受众进行投放,具体取决于回溯期。
asinCategorySameAs=12345 针对过去浏览过或购买过指定品类中的商品的受众进行投放,具体取决于回溯期。
asinBrandSameAs=12345 针对过去浏览过或购买过指定品牌的商品的受众进行投放,具体取决于回溯期。
asinPriceBetween=1-50, asinPriceGreaterThan=1, asinPriceLessThan, asinReviewRatingLessThan, asinReviewRatingGreaterThan, asinReviewRatingBetween 根据 ASIN 特定条件,针对过去浏览过或购买过商品的受众进行投放
asinIsPrimeShippingEligible 针对过去浏览过或购买过符合Prime 配送条件的商品的受众进行投放
asinAgeRangeSameAs 针对浏览过或购买过商品的特定年龄段受众(仅适用于玩具和游戏等特定品类)
asinGenreSameAs 针对浏览过或购买过特定类型商品的受众(仅适用于图书品类)
lookback 受众的回溯期。现在,您可以在浏览 (views) 字段选择 7 天、14 天、30 天、60 天或 90 天,并在购买 (purchases) 字段选择 7 天、14 天、30 天、60 天、90 天、180 天或 365 天。