如何使用广告脚本从 Google 广告中获取产品详细信息和统计信息(展示次数、点击次数、费用等)?

How to get the products details and statistics (impression, clicks, cost etc) from Google Ads using Ads Script?

我正在使用 Google 广告脚本。根据我的用例,我需要获得有关我的 Google 广告帐户中产品的展示次数、点击次数和其他统计信息。

这些产品统计信息将在脚本中进行分析,并根据特定标准更新 Google Sheet 文档。脚本是这样的,从 Google 广告帐户中检索所有产品(及其统计信息),查看产品展示次数和点击次数是否符合类别(30 次展示,1 次点击 = 类别“A”,20 次展示,0 次点击= "类别 B"),确定产品类别,打开 Google Sheet 托管在 Google 驱动器上,并根据产品名称或 ID 更新 Sheet 中的类别列。

目前,我在使用 Ads ScriptGoogle Ads Account 中检索 Products and their statistics 时遇到问题。我使用以下代码片段来查找产品,但没有找到任何方法或 class 可以帮助我实现我想要的结果。我只能检索 productGroups, AdGroups, and Campaigns,但其中的 none 允许我提取单个产品。

function productGroup(){
  var prodGroupIter = AdsApp.productGroups().get();
  while (prodGroupIter.hasNext()){
    Logger.log("prodGroup: ")
    var prodGroup = prodGroupIter.next();
    Logger.log(prodGroup.getValue());
  }
}

function adGroup() {
  var adGroupIterator = AdsApp.adGroups().get();
  while (adGroupIterator.hasNext()) {
    var adGroup = adGroupIterator.next();
    Logger.log("adGroup: ")
    Logger.log(adGroup.getName());
  }
}

function campaign(){
  var campIter = AdsApp.campaigns().get();
  while (campIter.hasNext()){
    var ads = campIter.next().ads().get();
    while(ads.hasNext()){
      Logger.log(ads.next().getStatsFor("LAST_30_DAYS"));
    }
  }
}

function sheet() {
  var sheetURL = "https://docs.google.com/spreadsheets/d/1W0zhRrQa1P7qjQf0eXXw-QzdcPKAlDPiVBOcIVEfDgw/edit#gid=1428103052";
  var sheet = SpreadsheetApp.openByUrl(sheetURL);
}

function main(){
  campaign();
  adGroup();
  productGroup();
}


然后我联系了广告脚本支持团队,发现这是不可能的。但是他们建议我可以使用Shopping Performance Report, Product Partition Report, shopping_performance_view or product_group_view。它们是 AdWord API 的一部分,我不知道如何使用它们。

所以,我正在寻找一个 Google Ads Script 来帮助我从 Googe Ads 获得产品列表(包含详细统计信息),但我对如何使用上述 AdWord 报告端点来做。

这是我的 Google 广告帐户中的产品列表。他们是 107 种产品及其统计数据。

请至少提供意见、想法和建议,我可以编写代码,但我不确定我缺少什么

您应该使用 AdsApp.report() 方法和 GAQL(与 sql 非常相似)来查询 shopping_performance_view 以提取有趣的数据。 Ads Scripts Beta

支持的 ES6 风格 js 示例
const logShoppingProductsData = () => {
  const query = `
  SELECT segments.product_item_id, segments.product_custom_attribute4, metrics.clicks, metrics.impressions
  FROM shopping_performance_view
  WHERE metrics.clicks > 100 and segments.product_custom_attribute4 != "undefined"
  `
  const rows = AdsApp.report(query).rows()
  while(rows.hasNext()){
    prod = rows.next()
    Logger.log(`${prod['segments.product_item_id']}, \t ${prod['segments.product_custom_attribute']}, \t ${prod['metrics.clicks']}, \t ${prod['metrics.impressions']}`)
  }
}

function main() {
  logShoppingProductsData()
}

然后您可以使用这些信息执行任何逻辑。

字段文档: https://developers.google.com/google-ads/api/fields/v9/shopping_performance_view

查询构建器和验证器: https://developers.google.com/google-ads/api/fields/v9/shared_set_query_builder