实时出价问题排查

本指南介绍的是实时出价问题排查资源,您可以通过这些资源 实时出价广告系列指标, 实时出价明细工具可在以下位置找到 Authorized Buyers 界面。包括 bidders.filterSetsbidders.accounts.filterSets和 所有资源

使用实时出价问题排查资源中的指标,您可以深入了解错失的机会 以赢得展示机会,从而帮助您优化实时出价广告系列。

调整了 API 结构和样式

实时出价问题排查资源中引入了几项更改,旨在明确表明所有权和 对 API 返回的数据进行更精细的控制,并更好地与 Google API 设计做法

出价方级和账号级资源

资源按照 biddersbidders.accounts 的结构进行整理。通过这些选项,您可以指定 API 调用是否针对某个出价方(也称为父级账号)? 子账号或 Authorized Buyers 普通账号。在实时出价中 问题排查,bidders.filterSets 下结构化的资源将返回汇总指标 指定出价工具及所有关联的子账号。相比之下, 无论如何,bidders.accounts.filterSets 将仅返回指定账号的指标 无论是出价方账号还是子账号

注意:委托其他买方出价的账号不属于出价方账号,并且 因此无法访问出价方级资源。此外,非出价方账号无法 访问账号一级的impressionMetricsfilteredBidResponsesbidResponseErrorsbidResponsesWithoutBids 项资源。

引入资源名称作为唯一标识符

资源名称用作 唯一标识符,而不是整数或字符串 ID。创建给定实例的新实例时, 因此您现在必须指定 相对 资源名称使用资源的 URI 路径,后跟首选资源 ID。通过 以下是与实时出价问题排查资源相关的名称示例:

资源 名称示例
bidders.filterSets bidders/12345678/filterSets/fset_1
bidders.accounts.filterSets bidders/12345678/accounts/87654321/filterSets/fset_2

注意:为名称中的 bidders 指定的资源 ID 必须是出价方的 Authorized Buyers 账号 ID。对于 accounts,资源 ID 必须是 或由其管理的子账号。如果您不知道哪些 Authorized Buyers 买方 都与 Google 账号关联后,您就可以使用 accounts.list 方法查找这些对象。

过滤条件集

过滤条件集表示可用的过滤选项,可以创建 在出价工具一级或账号一级设置它用于过滤实时出价问题排查的列表结果 用于检索实时出价广告系列指标的资源。

检索指标时应用的过滤条件是指定过滤条件中每个过滤条件的交集 过滤条件集。列表过滤条件(例如 platforms)会被解释为列表中每一项的并集。

出价方级和账号级过滤条件集是不同的,只能从 无论创建它们时用的是哪个账号,都是如此。出价方和子账号共享 在账号一级创建的过滤器组,而只有出价工具才能访问 出价工具一级。下表总结了出价方和子账号如何访问资源 在任一级别:

  bidders.filterSets bidders.accounts.filterSets
出价方账号 API 调用只会影响出价方级过滤条件集。 API 调用仅影响账号级过滤条件集。
儿童账户 此 API 调用将返回错误响应。 API 调用仅影响账号级过滤条件集。

创建过滤条件集

创建过滤条件集时,您必须以 relativeDateRangerelativeDateRangeabsoluteDateRangerealtimeTimeRange。检索指标时, 默认行为是为整个时间范围内提供所有数据。如果您想接收 时间序列细分数据,您可以指定 timeSeriesGranularity 以指示 HOURLYDAILY 间隔。

如果只需要在短时间内设置过滤器,则可将 isTransient 设置为 查询参数添加到 true。这表示该过滤条件集是暂时的,也就是说,它不会无限期保留。暂时性过滤条件集在创建后至少可以在一小时内使用,但最终会被删除。默认情况下,过滤条件集不是瞬态的。

出价方级示例

若要创建新的出价方级过滤条件集,请向 bidders.filterSets 资源 URI 发送 POST 请求,格式如下:

https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets

警告:出价方级过滤条件组合无法按广告素材 ID 或交易 ID 进行过滤。如果您在创建出价工具级过滤条件集时指定了这些过滤条件,则会收到错误响应。

请求

下例中的 POST 请求会创建新的非暂时性出价方级过滤条件集:

POST https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets
Authorization: Bearer access token here
Content-Type: application/json

{
  "name": "bidders/12345678/filterSets/bidder-fs",
  "format": "DISPLAY",
  "environment": "APP",
  "platforms": ["TABLET", "MOBILE"],
  "absoluteDateRange": {
    "startDate": {
      "month": 11,
      "day": 26,
      "year": 2017
    },
    "endDate": {
      "month": 12,
      "day": 3,
      "year": 2017
    }
  },
  "timeSeriesGranularity": "DAILY"
}

响应

如果请求成功,服务器会返回 200 OK 状态代码。响应正文将包含已创建的过滤条件集资源,该资源与请求中提交的过滤条件集相同。

账号级示例

要创建新的账号级过滤器集,请发送 POST 请求至 bidders.accounts.filterSets 资源 URI,格式如下:

https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets

注意:为 accounts 指定的资源 ID 可以 是出价方可访问的任何 Authorized Buyers 账号的账号 ID (包括出价工具账号本身)。

请求

以下示例 POST 请求会创建新的非临时账号级过滤条件集:

POST https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets
Authorization: Bearer access token here
Content-Type: application/json

{
  "name": "bidders/12345678/accounts/87654321/filterSets/account-fs",
  "format": "VIDEO",
  "environment": "WEB",
  "platforms": ["DESKTOP"],
  "absoluteDateRange": {
    "startDate": {
      "month": 11,
      "day": 26,
      "year": 2017
    },
    "endDate": {
      "month": 12,
      "day": 3,
      "year": 2017
    }
  },
  "timeSeriesGranularity": "DAILY"
}
响应

如果请求成功,服务器会返回 200 OK 状态代码。响应正文将 添加已创建的过滤条件集资源,该资源与 请求。

获取过滤条件集

get 方法只能获取创建时所在级别的过滤条件集。例如,出价方 账号应使用 bidders.accounts.filterSets.get 检索在该账号中创建的过滤条件集 而不是 bidders.filterSets.get 方法。

出价方级

您可以通过向 bidders.filterSets 资源 URI 发送 HTTP GET 请求来检索出价工具级过滤条件,格式如下:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}
请求

示例如下:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/bidder-fs
响应

如果请求成功,服务器将返回 200 OK HTTP 状态代码以及检索到的过滤条件集:

{
  "name": "bidders/12345678/filterSets/bidder-fs",
  "format": "DISPLAY",
  "environment": "APP",
  "platforms": ["TABLET", "MOBILE"],
  "absoluteDateRange": {
    "startDate": {
      "month": 11,
      "day": 26,
      "year": 2017
    },
    "endDate": {
      "month": 12,
      "day": 3,
      "year": 2017
    }
  },
  "timeSeriesGranularity": "DAILY"
}

账号级

要获取账号级过滤器集,可以向 bidders.accounts.filterSets 资源 URI 发送 HTTP GET 请求,格式如下:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}
请求

示例如下:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/account-fs
响应

如果请求成功,服务器将返回 200 OK HTTP 状态代码以及检索到的过滤条件集:

{
  "name": "bidders/12345678/accounts/87654321/filterSets/account-fs",
  "format": "VIDEO",
  "environment": "WEB",
  "platforms": ["DESKTOP"],
  "absoluteDateRange": {
    "startDate": {
      "month": 11,
      "day": 26,
      "year": 2017
    },
    "endDate": {
      "month": 12,
      "day": 3,
      "year": 2017
    }
  },
  "timeSeriesGranularity": "DAILY"
}

列出过滤条件集

list 方法将仅返回可从所调用的级别访问的过滤器集。 例如,出价方账号将看不到通过 bidders.accounts.filterSets.create(在调用 bidders.filterSets.list 时)。

出价方级

您可以发送 HTTP GET,检索指定出价方的所有出价工具级过滤条件集 向 bidders.filtersets 资源 URI 发送请求,格式如下:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets
请求

下例列出了账号 ID 为 12345678 的出价方的所有出价方级过滤条件集:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets
响应
{
  "filterSets": [{
      "filterSetId": "99994",
      "name": "bidders/12345678/filterSets/test-b-1",
      "relativeDateRange": {
        "durationDays": 30
      }
    },
    {
      "realtimeTimeRange": {
        "startTimeStamp": "2017-11-15T12:30:30.072831583Z"
      },
      "filterSetId": "99995",
      "name": "bidders/12345678/filterSets/test-b-2",
      "timeSeriesGranularity": "HOURLY"
    },
    {
      "absoluteDateRange": {
        "endDate": {
          "day": 12,
          "month": 3,
          "year": 2017
        },
        "startDate": {
          "day": 26,
          "month": 11,
          "year": 2017
        }
      },
      "filterSetId": "99996",
      "name": "bidders/12345678/filterSets/bidder-fs",
      "timeSeriesGranularity": "DAILY",
      "platforms": ["TABLET", "MOBILE"],
      "environment": "APP",
      "format": "DISPLAY"
    }
  ]
}

账号级

您可以通过发送 HTTP GET 来获取指定账号的所有账号级过滤条件集 向 bidders.accounts.filtersets 资源 URI 发送请求,格式如下:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets
请求

以下示例列出了账号 ID 为 87654321 的子账号的所有账号级过滤条件集:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets
响应
{
  "filterSets": [{
        "realtimeTimeRange": {
        "startTimeStamp": "2017-11-19T04:24:43.252893487Z"
      },
      "filterSetId": "99997",
      "name": "bidders/12345678/accounts/87654321/filterSets/test-a-1",
      "timeSeriesGranularity": "DAILY"
    },
    {
      "absoluteDateRange": {
        "endDate": {
          "day": 3,
          "month": 12,
          "year": 2017
        },
        "startDate": {
          "day": 26,
          "month": 11,
          "year": 2017
        }
      },
      "filterSetId": "99998",
      "name": "bidders/12345678/accounts/87654321/filterSets/account-fs",
      "timeSeriesGranularity": "DAILY",
      "platforms": ["DESKTOP"],
      "environment": "WEB",
      "format": "VIDEO"
    }
  ]
}

删除过滤条件集

您可以使用 delete 方法移除任何未指定的非瞬态过滤器集。 。只能移除可从所调用的级别访问的过滤条件集; 例如,出价方账号无法删除使用 bidders.accounts.filterSets.create 创建的过滤条件集 和bidders.filterSets.delete

出价方级

您可以删除为指定账号设置的出价工具级过滤条件,只需发送 HTTP DELETE 请求即可 附加到 bidders.filtersets 资源 URI,格式如下:

DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}
请求

以下是删除出价方级过滤条件集的示例:

DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/test-b-2
响应

如果成功,请求正文将为空。指定的过滤条件集将无法再访问。

账号级

您可以删除为指定账号设置的账号级过滤条件,方法是发送 HTTP DELETEbidders.accounts.filtersets 资源 URI 发送请求,格式如下:

DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}
请求

以下是删除账号级过滤条件集的示例:

DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/test-a-1
响应

如果成功,请求正文将为空。指定的过滤条件集将无法再访问。

检索实时出价问题排查指标

用于接收指标的所有实时出价问题排查资源都以相似的方式运作,它们都有 单个方法,用于列出通过 filterSetName 路径指定的过滤条件集的指标 参数。指定的过滤条件集将决定应用何时应用哪些过滤条件和设置 查询指标从出价方级别调用这些资源将返回汇总指标 从出价工具账号和所有关联的子账号调用,而从账号级别调用 只会返回普通账号的指标。

出价指标

bidMetrics 资源用于检索在 出价的个数。例如,您可以据此确定某个时间段内的出价总数 以及其中有多少未被滤除而无法参与竞价 等等。与用于收集指标的所有其他实时出价问题排查资源一样,它只有 list 方法。

列出出价方级出价指标

通过发送 HTTP GET,您可以列出针对特定过滤条件设置的出价方级出价指标 向 bidders.filtersets.bidMetrics 资源 URI 发送请求,格式如下:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}/bidMetrics
请求

下例列出了出价方级出价指标:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/bidder-fs/bidMetrics
响应

如果请求成功,服务器将会返回 200 OK 状态代码和正文,其中包含指定维度和粒度对应的指标行。

{
  "bidMetricsRows": [{
        "bids": {
        "value": "6160"
      },
      "bidsInAuction": {
        "value": "5698"
      },
      "billedImpressions": {
        "value": "1196"
      },
      "impressionsWon": {
        "value": "2920"
      },
      "measurableImpressions": {
        "value": "1160"
      },
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-11-29T08:00:00Z",
          "startTime": "2017-11-28T08:00:00Z"
        }
      },
      "viewableImpressions": {
        "value": "683"
      }
    },
    {
      "bids": {
        "value": "104288"
      },
      "bidsInAuction": {
        "value": "94016"
      },
      "billedImpressions": {
        "value": "99"
      },
      "impressionsWon": {
        "value": "125"
      },
      "measurableImpressions": {
        "value": "94"
      },
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-11-30T08:00:00Z",
          "startTime": "2017-11-29T08:00:00Z"
        }
      },
      "viewableImpressions": {
        "value": "87"
      }
    },
    {
      "bids": {
        "value": "3999"
      },
      "bidsInAuction": {
        "value": "3631"
      },
      "billedImpressions": {
        "value": "618"
      },
      "impressionsWon": {
        "value": "1819"
      },
      "measurableImpressions": {
        "value": "604"
      },
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-12-01T08:00:00Z",
          "startTime": "2017-11-30T08:00:00Z"
        }
      },
      "viewableImpressions": {
        "value": "369"
      }
    },
    {
      "bids": {
        "value": "15"
      },
      "bidsInAuction": {
        "value": "3"
      },
      "billedImpressions": {},
      "impressionsWon": {
        "value": "3"
      },
      "measurableImpressions": {},
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-12-02T08:00:00Z",
          "startTime": "2017-12-01T08:00:00Z"
        }
      },
      "viewableImpressions": {}
    }
  ]
}

注意:对于给定指标,任何设置为 0 的字段都不会显示在响应中。 上面的 billedImpressionsmeasurableImpressions 指标为空 表明这些变量的值和方差均设置为 0。

警告:对于响应中的任何细分数据,响应不会 如果行不含至少一个非零指标,则包含这些行。例如,当 timeSeriesGranularity 时,响应将不会包含任何 过滤条件集的指定时间范围内的timeInterval(所有指标均为零)。

列出账号级出价指标

通过发送 HTTP GET,您可以列出针对特定过滤条件设置的账号级出价指标 向 bidders.accounts.filtersets.bidMetrics 资源 URI 发送请求,该 URI 包含 以下格式:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}/bidMetrics
请求

下例就列出了账号级出价指标:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/account-fs/bidMetrics
响应

如果请求成功,服务器将会返回 200 OK 状态代码和正文,其中包含指定维度和粒度对应的指标行。

{
  "bidMetricsRows": [{
      "bids": {
        "value": "1748"
      },
      "bidsInAuction": {
        "value": "1421"
      },
      "billedImpressions": {
        "value": "301"
      },
      "impressionsWon": {
        "value": "915"
      },
      "measurableImpressions": {
        "value": "298"
      },
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-12-01T08:00:00Z",
          "startTime": "2017-11-30T08:00:00Z"
        }
      },
      "viewableImpressions": {
        "value": "172"
      }
    },
    {
      "bids": {
        "value": "6"
      },
      "bidsInAuction": {
        "value": "2"
      },
      "billedImpressions": {},
      "impressionsWon": {
        "value": "1"
      },
      "measurableImpressions": {},
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-12-02T08:00:00Z",
          "startTime": "2017-12-01T08:00:00Z"
        }
      },
      "viewableImpressions": {}
    }
  ]
}

注意:对于给定指标,任何设置为 0 的字段都不会显示在响应中。通过 上面的 billedImpressionsmeasurableImpressions 指标为空表示 其值和方差均设置为 0。

警告:对于响应中的任何细分数据,响应将不包含 行,前提是它们至少包含一个非零指标。例如,当 timeSeriesGranularity 时,响应将不会包含任何 过滤条件集的指定时间范围内的timeInterval(所有指标均为零)。