You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AdWords HTML5横幅动态加载外部JSON数据可行性确认及示例请求

嘿,这个需求完全可以实现!咱们用AdWords Scripts的Business Data功能就能搞定——既绕开了横幅不能直接调用外部域名的限制,又能实现数据按小时自动更新。下面给你具体的示例和操作步骤:


一、HTML5横幅中访问Business Data的示例

AdWords的HTML5横幅可以通过内置的Enabler对象读取Business Data Feed里的数据,不用直接请求外部接口。这里给你一个简单的实现示例:

1. 横幅HTML结构

先在横幅里预留展示数据的元素:

<div class="banner-content">
  <h2 id="product-name"></h2>
  <p class="price" id="product-price"></p>
</div>

2. 横幅JavaScript逻辑

等待Enabler加载完成后,获取Business Data并更新页面内容:

// 等待Business Data模块加载完成
Enabler.loadModule(studio.module.ModuleId.BUSINESS_DATA, function() {
  // 替换成你的Business Data Feed名称
  const targetFeedName = 'ProductPricingFeed';
  
  // 获取指定Feed的数据
  const feed = Enabler.getBusinessDataFeed(targetFeedName);
  
  if (feed && feed.items.length > 0) {
    // 取第一条数据(如果你的Feed有多条,可根据需求筛选)
    const productData = feed.items[0];
    
    // 更新页面元素
    document.getElementById('product-name').textContent = productData.productName;
    document.getElementById('product-price').textContent = `$${productData.currentPrice}`;
  } else {
    console.warn('No business data found or feed not accessible');
  }
});

二、Business Data的定时更新方法

要实现数据按小时更新,咱们用AdWords Scripts定时拉取外部JSON并同步到Business Data Feed里:

1. AdWords Scripts代码示例

这个脚本会拉取外部JSON数据,清空旧的Feed条目,然后插入新数据:

function updateBusinessDataFeed() {
  // 替换成你的外部JSON数据源地址
  const externalJsonUrl = 'https://your-external-api.com/prices.json';
  // 替换成你的Business Data Feed名称
  const feedName = 'ProductPricingFeed';
  
  try {
    // 1. 拉取外部JSON数据
    const response = UrlFetchApp.fetch(externalJsonUrl);
    const productList = JSON.parse(response.getContentText());
    
    // 2. 获取目标Business Data Feed
    const feedIterator = AdsApp.businessDataFeeds()
      .withCondition(`Name = "${feedName}"`)
      .get();
    
    if (!feedIterator.hasNext()) {
      Logger.log(`Business Data Feed "${feedName}" not found`);
      return;
    }
    const targetFeed = feedIterator.next();
    
    // 3. 清除旧的Feed条目(可选,也可以做增量更新)
    const oldItems = targetFeed.items().get();
    while (oldItems.hasNext()) {
      oldItems.next().remove();
    }
    
    // 4. 插入新的Feed条目
    productList.forEach(product => {
      targetFeed.newItemBuilder()
        .withAttribute('productName', product.name)
        .withAttribute('currentPrice', product.price.toString())
        .withAttribute('sku', product.sku)
        .build();
    });
    
    // 5. 保存更新
    targetFeed.apply();
    Logger.log(`Successfully updated feed with ${productList.length} items`);
    
  } catch (error) {
    Logger.log(`Update failed: ${error.message}`);
  }
}

2. 设置定时触发器

在AdWords Scripts界面中:

  • 点击脚本右上角的「触发器」按钮
  • 添加新触发器,设置为「时间驱动」,选择「每小时」运行一次
  • 保存后,脚本就会自动按小时更新Business Data Feed了

关键注意事项

  • 确保你的Business Data Feed的属性(比如productName、currentPrice)和横幅中引用的字段完全一致,大小写也要匹配
  • 外部JSON数据源必须允许AdWords Scripts的IP访问(公网开放的接口一般没问题,私有接口可能需要配置白名单)
  • 在创建AdWords广告时,要把HTML5横幅和对应的Business Data Feed关联起来
  • 如果需要处理多条数据,可以在横幅里添加逻辑筛选出当前广告对应的条目(比如通过SKU匹配)

内容的提问来源于stack exchange,提问作者Peminator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:39:41