AdWords脚本创建Shopping Campaign批量上传失败,求原因排查
解决AdWords脚本创建Shopping Campaign时的批量上传实体识别错误
我之前在做Shopping Campaign批量上传的时候也踩过这个坑!你遇到的这个报错,核心原因是把不同层级的实体字段混在了同一行——谷歌的批量上传工具没法同时处理Campaign(广告系列)和Ad Group/Product Group(广告组/产品组)这两个不同层级的操作,所以才会抛出“无法识别该行的实体类型”的错误。
具体来说,你的代码里把Campaign的字段(比如Campaign Type、Budget)和Ad Group/Product Group的字段(比如Ad Group、Product Group)放在了同一个append对象里,这就导致系统搞不清你这一行是要创建Campaign,还是要创建Ad Group下的产品组。
正确的做法是拆分两个操作:
- 第一行只包含Campaign层级的必填字段,用来创建Shopping Campaign;
- 第二行只包含Ad Group + Product Group层级的字段,关联到刚才创建的Campaign,用来创建广告组和对应的产品组。
修改后的代码如下:
function main() { var columns = [ 'Campaign', 'Campaign Type', 'Budget Name', 'Budget', 'Bid Strategy type', 'Country of Sale', 'Ad Group', 'Max CPC', 'Product Group', 'Product Group Type', 'Merchant', 'Campaign Status' // 建议加上这个字段,默认是启用状态 ]; var upload = AdWordsApp.bulkUploads().newCsvUpload(columns, {moneyInMicros: false}); // 第一步:创建Shopping Campaign(只保留Campaign层级的字段) upload.append({ 'Campaign': 'Shopping - 100', 'Campaign Type': 'Shopping', 'Budget Name': 'Shopping', 'Budget': 500, 'Bid Strategy type': 'cpc', 'Country of Sale': 'NL', 'Merchant': 1234, 'Campaign Status': 'Enabled' }); // 第二步:创建关联该Campaign的Ad Group和Product Group upload.append({ 'Campaign': 'Shopping - 100', // 关联到上面的Campaign 'Ad Group': 'Shopping - 100', 'Max CPC': 0.10, 'Product Group': '* / custom label 0 = *', 'Product Group Type': 'Biddable' }); upload.preview(); // 确认预览没问题后,换成upload.apply()执行实际操作 }
额外注意事项:
- 确保你的
Merchant ID(1234)是正确关联到AdWords账号的,并且已经完成了Shopping Feed的设置; - 如果
Budget Name(Shopping)在你的账号里不存在,批量上传会自动创建这个预算,但要注意预算的货币类型要和账号一致; Country of Sale的代码要符合ISO 3166-1 alpha-2格式(比如NL对应荷兰,是正确的);- 产品组的语法
* / custom label 0 = *要确保你的Feed里确实有custom label 0这个字段,否则可能会出现产品组匹配不到商品的问题。
内容的提问来源于stack exchange,提问作者SvT
相关产品推荐
相关产品推荐

