Google Link Checker脚本误报URL不可用,致自定义脚本误暂停广告组
Google Ads链接检查脚本误报“Address not Available”的排查与解决
可能的原因及对应解决方案
1. 服务器UA/IP被目标网站拦截
Google Ads脚本运行在Google服务器上,默认请求的UA或IP可能被目标网站的防火墙、WAF或反爬机制拦截,导致返回“Address not Available”,但手动用个人浏览器访问时不受限制。
- 解决办法:修改脚本中的
UrlFetchApp.fetch调用,添加模拟主流浏览器的自定义UA,并启用muteHttpExceptions参数查看完整响应,确认拦截情况:var fetchOptions = { 'headers': { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36' }, 'muteHttpExceptions': true, 'followRedirects': true }; var response = UrlFetchApp.fetch(targetUrl, fetchOptions); // 打印响应状态码和内容到日志,便于排查 Logger.log(`URL: ${targetUrl}, Status Code: ${response.getResponseCode()}, Content: ${response.getContentText()}`);
2. 请求超时设置过短
默认的UrlFetchApp请求超时时间(默认5秒)可能不足以应对加载较慢的网站,导致脚本判定URL不可用,但手动访问时浏览器有缓存或更长的加载等待时间。
- 解决办法:在fetch选项中延长超时时间,比如设置为10秒:
var fetchOptions = { 'timeout': 10000, // 10秒超时 // 其他参数... };
3. 批量请求触发限流
当脚本短时间内对同一个域名发送大量请求时,容易触发网站的限流机制,导致部分请求失败。
- 解决办法:在每个URL检查后添加延迟,降低请求频率:
// 完成一个URL检查后暂停1秒 Utilities.sleep(1000);
4. 重定向或Cookie依赖问题
部分网站需要跟随多层重定向,或依赖Cookie会话才能正常访问,脚本默认配置可能无法处理这些情况。
- 解决办法:
- 显式设置
followRedirects: true(默认已开启,但可明确声明)确保跟随重定向; - 若网站需要Cookie,可在请求头中添加有效的Cookie值(需确保符合网站的使用条款)。
- 显式设置
临时缓解措施
为避免自定义脚本误暂停广告组,可在逻辑中添加二次验证:
- 当脚本首次检测到URL错误时,不直接暂停广告组,而是标记为待复核;
- 在下一次脚本运行时,对标记的URL重新检查,连续两次报错再执行暂停操作;
- 或添加手动复核的触发机制,比如将可疑URL导出到表格,人工验证后再处理。
内容的提问来源于stack exchange,提问作者Henrique Godinho
相关产品推荐
相关产品推荐

