优秀的编程知识分享平台

网站首页 > 技术文章 正文

Brand bidding之揭开自动换链的神秘面纱

nanyue 2025-09-24 00:48:18 技术文章 2 ℃

博主自己也是个半吊子程序员,之前做过几年PHP开发,典型的理工男,对技术方面一直还保持着热爱,一直没有放弃过,只不过后来工作用的少了,但是基础还是有点儿的。

提到Brand bidding,最核心的应该是自动换链接了,只有解决了这个,你才能扩大账号,否则你只能按照苦力的方式自己去一个个点开,更新,这个需要强大的执行力。现在你的操作流程一般是:adspower取链接--编辑谷歌ads--修改final url,借助自动换链可以完全自动化。自动换链接这个功能被包装的很高大上,我们一起来揭开它的神秘面纱:原理就是利用软件+轮转IP,自动模拟不同的UA,打开offer链接,然后更新到google ads里。

我自己现在使用的是别人的换链工具,每个月付费的,虽说不便宜,但是我感觉值得,因为解放了双手了。

但是想一想,我自己不能做一个吗?即使功能没有卖家的强大,但是基础的需求应该能满足的。我打算自己做换链工具了,现在有chatgpt,我之前的半吊子水平用处不大,全靠AI。我打算分两个阶段来弄,各位老板可以参考一下思路。

第一期思路如下:1、把链接放到google sheet中(第二期打算利用python自动操作adspower,打开窗口并获取链接,更新到google sheet 中),先实现手工链接更新到google sheet中。

2、利用脚本自动读取google sheet中的内容并更新google ads中的final url suffix。

我的提示词是:如何自动修改google ads中的final url suffix

Chatgpt给了我四个答案,如下:

Google Ads 里批量或自动修改 Final URL Suffix(最终网址后缀),常见有三种方式:直接在界面中批量编辑、用 Google Ads Editor 离线批量改,或者通过 Google Ads API/脚本自动化。


1. 直接在 Google Ads 界面批量修改(适合少量修改)

  1. 登录 Google Ads 账户
  2. 进入 广告与附加信息关键字 页面(取决于你想在哪个层级改)
  3. 选中需要修改的广告或关键字
  4. 点击 编辑更改最终网址后缀(Final URL Suffix)
  5. 输入新的后缀,比如
  6. ini

  7. utm_source=google&utm_medium=cpc&utm_campaign=summer
  8. 保存即可

2. 使用 Google Ads Editor(适合批量改)

  1. 下载并安装 Google Ads Editor(Google 官方免费工具)
  2. 下载账户数据到 Editor
  3. 在“广告”或“关键字”视图中,选择要更改的项目
  4. 在右侧属性面板找到 Final URL Suffix 字段
  5. 批量替换或添加需要的参数
  6. 点击 发布 → 同步到线上账户

好处是可以批量快速修改几千条记录,而且支持查找替换。


3. 使用 Google Ads Scripts(自动化 & 定时改)

如果你想定期自动更新 URL 后缀(比如每周自动加一个时间戳参数),可以用 Google Ads Script:

javascriptfunctionupdateFinalUrlSuffix() {
var adsIterator = AdsApp.ads()
    .withCondition("CampaignStatus = ENABLED")
    .withCondition("AdGroupStatus = ENABLED")
    .withCondition("Status = ENABLED")
    .get();

while (adsIterator.hasNext()) {
var ad = adsIterator.next();
    ad.urls().setFinalUrlSuffix("utm_source=google&utm_medium=cpc&utm_campaign=auto_update");
  }
}
  • 将脚本放到 Tools & Settings → Scripts
  • 授权后可设置定时(如每天 1 次)
  • 也可以改成针对关键词、广告系列等不同层级

4. 使用 Google Ads API(完全程序化)

如果你的系统需要和 Google Ads 集成(比如 CRM 或竞价管理系统),可以用 Google Ads API 批量改 final_url_suffix 字段。

  • 需要先申请 API token
  • 用 AdService 或 CampaignService 更新字段
  • 好处是能和你内部数据无缝对接

如果你愿意,我可以帮你写一个 Google Ads Script,自动批量给所有广告加/改 URL 后缀并支持日期动态生成,这样就能完全自动化了。
你是想用
Google Ads Script 方式来做吗?这样可以每天自动跑。

我让ChatGPT生成脚本:是的,请生成一个脚本

ChatGPT 说:

好,那我帮你写一个 Google Ads Script,每天自动更新所有广告的 Final URL Suffix,并在参数里加上当天的日期(方便做跟踪)。

下面是完整脚本:


javascript/*** 每天自动更新所有广告的 Final URL Suffix* 参数示例:utm_source=google&utm_medium=cpc&utm_campaign=auto_update_YYYYMMDD*/
functionupdateFinalUrlSuffix() {
var today = Utilities.formatDate(newDate(), AdsApp.currentAccount().getTimeZone(), "yyyyMMdd");
var newSuffix = "utm_source=google&utm_medium=cpc&utm_campaign=auto_update_" + today;

var adsIterator = AdsApp.ads()
    .withCondition("CampaignStatus = ENABLED")
    .withCondition("AdGroupStatus = ENABLED")
    .withCondition("Status = ENABLED")
    .get();

var count = 0;

while (adsIterator.hasNext()) {
var ad = adsIterator.next();
try {
      ad.urls().setFinalUrlSuffix(newSuffix);
      count++;
    } catch (e) {
Logger.log("修改失败(广告ID: " + ad.getId() + "): " + e);
    }
  }

Logger.log("已更新 Final URL Suffix 的广告数量: " + count);
}

使用方法

  1. 登录 Google Ads → 右上角 Tools & Settings(工具与设置)
  2. Bulk Actions(批量操作)Scripts(脚本)
  3. 新建脚本,粘贴上面代码
  4. 点击 授权(Authorize) 并允许访问账户
  5. 预览(Preview) 一次,确认日志无误
  6. 设置 Schedule(定时执行) → 每天一次

特性

  • 自动为所有启用的广告加上 utm_source、utm_medium、utm_campaign
  • utm_campaign 会带上当天日期(如 auto_update_20250809)
  • 可根据需要改成 utm_term、utm_content 等
  • 支持防呆:广告、广告组、广告系列必须都启用才会改

如果你想做到不仅改广告,还能同时修改关键词、广告系列、附加信息的 URL Suffix,我可以帮你加多段迭代器,一次性全覆盖。这样能保证所有层级的 Final URL Suffix 统一。

你是要我帮你加这个全账户全层级更新版吗?这样以后不用分开改。


我如何修改动态newSuffix的值呢


ChatGPT 说:

你可以直接改脚本里这一行:

javascriptvar newSuffix = "utm_source=google&utm_medium=cpc&utm_campaign=auto_update_" + today;

1. 固定值(不随日期变化)

如果你只想用一个固定的后缀,比如

ini
utm_source=google&utm_medium=cpc&utm_campaign=test

就改成:

javascript
var newSuffix = "utm_source=google&utm_medium=cpc&utm_campaign=test";

2. 日期格式不同

现在是 YYYYMMDD 格式,如果想要 YYYY-MM-DD:

javascriptvar today = Utilities.formatDate(newDate(), AdsApp.currentAccount().getTimeZone(), "yyyy-MM-dd");
var newSuffix = "utm_source=google&utm_medium=cpc&utm_campaign=auto_update_" + today;

3. 多个动态参数

比如同时加日期小时

javascriptvar today = Utilities.formatDate(newDate(), AdsApp.currentAccount().getTimeZone(), "yyyyMMdd_HH");
var newSuffix = "utm_source=google&utm_medium=cpc&utm_campaign=update_" + today + "&utm_term=dynamic_test";

4. 来自外部数据

如果你想每天从一个 Google SheetURL 读取值(比如营销活动ID),可以这样:

javascriptvar sheet = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/你的表ID/edit");--这里替换成自己的google sheet
var value = sheet.getSheetByName("Sheet1").getRange("A1").getValue();
var newSuffix = "utm_source=google&utm_medium=cpc&utm_campaign=" + value;

这样你只要改表格,不用改脚本。

/*****************/

到这里已经达到我的目的了,我主要改表格内容就行了,不需要改脚本了。现在它已经给了我想要的答案了,就是我把需要更改的字符串,放到google sheet里去,它去自动读取。可能不会技术的朋友看到脚本代码有点儿懵,其实不难的

下一步就是测试,完善,例如已经读取过的不要重复读取等,这个功能已经足够应付二级联盟了,因为大部分不查流量来源,直连打开的即可。

还有第二期利用python操作adspower自动取链接。

第三期,模拟流量来源,这个比较难了,还没考虑好怎么实现。

如果不知道脚本安装在哪里,请看下图:

最近发表
标签列表