siluzan-tso-cli 1.1.12 → 1.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -29
- package/dist/index.js +2267 -1440
- package/dist/skill/SKILL.md +93 -34
- package/dist/skill/_meta.json +2 -2
- package/dist/skill/assets/campaign-create-template.json +96 -101
- package/dist/skill/references/account-analytics.md +64 -62
- package/dist/skill/references/accounts.md +130 -130
- package/dist/skill/references/clue.md +13 -13
- package/dist/skill/references/finance.md +62 -61
- package/dist/skill/references/forewarning.md +40 -39
- package/dist/skill/references/google-ads-rules/google-ads-account-audit.md +165 -161
- package/dist/skill/references/google-ads-rules/google-ads-audience-strategy.md +94 -85
- package/dist/skill/references/google-ads-rules/google-ads-campaign-optimization.md +97 -85
- package/dist/skill/references/google-ads-rules/google-ads-compliance.md +274 -272
- package/dist/skill/references/google-ads-rules/google-ads-conversion-architecture.md +97 -82
- package/dist/skill/references/google-ads-rules/google-ads-creative-optimization.md +143 -139
- package/dist/skill/references/google-ads-rules/google-ads-keyword-optimization.md +131 -128
- package/dist/skill/references/google-ads-rules/google-ads-keyword-strategy.md +175 -173
- package/dist/skill/references/google-ads-rules/google-ads-launch-plan-template.md +126 -123
- package/dist/skill/references/google-ads-rules/google-ads-pmax-guide.md +86 -73
- package/dist/skill/references/google-ads-rules/sensitive-industries.md +43 -8
- package/dist/skill/references/google-ads.md +201 -196
- package/dist/skill/references/open-account-by-media.md +23 -23
- package/dist/skill/references/open-account-google-ui.md +26 -26
- package/dist/skill/references/optimize.md +8 -8
- package/dist/skill/references/reporting.md +28 -28
- package/dist/skill/references/setup.md +10 -7
- package/dist/skill/references/tso-home.md +11 -11
- package/dist/skill/references/workflows.md +28 -26
- package/dist/skill/report-templates/README.md +22 -21
- package/dist/skill/report-templates/REPORT-WORKFLOW.md +9 -9
- package/dist/skill/report-templates/bing-period-report.md +11 -11
- package/dist/skill/report-templates/google-ads-diagnosis.md +86 -86
- package/dist/skill/report-templates/google-period-report.md +23 -23
- package/dist/skill/report-templates/report-template-academic.html +433 -341
- package/dist/skill/report-templates/report-template-dark.html +440 -257
- package/dist/skill/report-templates/report-template-formal.html +438 -288
- package/dist/skill/report-templates/report-template-mobile.html +456 -241
- package/dist/skill/report-templates/report-template-onepager.html +452 -240
- package/dist/skill/report-templates/report-template-print.html +355 -243
- package/dist/skill/report-templates/report-template.html +485 -392
- package/dist/skill/report-templates/tiktok-period-report.md +10 -10
- package/package.json +13 -13
- package/scripts/postinstall.mjs +3 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Google 广告管理命令详解
|
|
2
|
+
|
|
2
3
|
> 所属 skill:`siluzan-tso`。
|
|
4
|
+
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
## 新建广告系列的流程
|
|
@@ -11,40 +13,43 @@
|
|
|
11
13
|
|
|
12
14
|
操作开始前,**AI 必须先阅读完下面所有文档**,并在心智模型中内化规则后,才能进入任何「方案规划 / 广告创建 / 调整」步骤,严禁只读 `google-ads-launch-plan-template.md` 就直接出方案。
|
|
13
15
|
|
|
14
|
-
| 文档地址
|
|
15
|
-
|
|
16
|
-
| `references/google-ads-rules/google-ads-compliance.md`
|
|
17
|
-
| `references/google-ads-rules/sensitive-industries.md`
|
|
18
|
-
| `references/google-ads-rules/google-ads-keyword-strategy.md`
|
|
19
|
-
| `references/google-ads-rules/google-ads-keyword-optimization.md`
|
|
20
|
-
| `references/google-ads-rules/google-ads-creative-optimization.md`
|
|
21
|
-
| `references/google-ads-rules/google-ads-campaign-optimization.md`
|
|
22
|
-
| `references/google-ads-rules/google-ads-launch-plan-template.md`
|
|
23
|
-
| `references/google-ads-rules/google-ads-account-audit.md`
|
|
24
|
-
| `references/google-ads-rules/google-ads-conversion-architecture.md` | **转化信号架构设计**:信号质量层级(L1-L5)、转化动作设计框架、多阶段漏斗价值设计、Enhanced Conversions 实施、离线转化导入策略、Consent Mode v2、利润导向出价(Profit-Based Bidding)、信号质量诊断与迁移路径、7 个行业推荐配置
|
|
25
|
-
| `references/google-ads-rules/google-ads-audience-strategy.md`
|
|
26
|
-
| `references/google-ads-rules/google-ads-pmax-guide.md`
|
|
16
|
+
| 文档地址 | 文档内容 |
|
|
17
|
+
| ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
18
|
+
| `references/google-ads-rules/google-ads-compliance.md` | **Google 广告合规指南**:关键词 & 文案审核通过规则、编辑规范、禁止内容、虚假承诺处理、商标规则、多语言规则 |
|
|
19
|
+
| `references/google-ads-rules/sensitive-industries.md` | **敏感行业合规细则**:酒精 / 赌博 / 金融 / 加密 / 医疗 / 法律等 15 个行业的关键词生成规则与地区限制 |
|
|
20
|
+
| `references/google-ads-rules/google-ads-keyword-strategy.md` | **关键词策略与优化技巧**:匹配类型策略、分组结构、否定词技巧、出价意图分层、搜索词挖掘、竞品策略、PMax/AI Max 协同、信号污染防治 |
|
|
21
|
+
| `references/google-ads-rules/google-ads-keyword-optimization.md` | **关键词持续优化指南**:基于投放数据的迭代优化闭环——指标解读、决策框架(暂停/提价/降价/加否定)、优化节奏、转化归因、预算再分配、衰减检测、竞争响应、CRM 反馈 |
|
|
22
|
+
| `references/google-ads-rules/google-ads-creative-optimization.md` | **广告创意与素材优化**:RSA 六类主题法、Ad Strength 评分、文案 A/B 测试、创意疲劳管理、附加信息(Sitelink/Callout/Snippet/Image)优化、DKI/倒计时/IF 函数、落地页 CRO、PMax 创意策略、多语言管理 |
|
|
23
|
+
| `references/google-ads-rules/google-ads-campaign-optimization.md` | **广告系列结构与投放优化**:系列类型选择决策树、电商/线索/本地/SaaS 架构模板、出价策略校准与启动协议、地域/设备优化、转化追踪(Enhanced Conversions/离线导入/价值规则)、预算优化、网络设置、实验设计、账户健康诊断 |
|
|
24
|
+
| `references/google-ads-rules/google-ads-launch-plan-template.md` | **投放计划确认模板**:AI 生成完整投放方案的 Markdown 模板——信息收集清单、计划格式规范、字段与 CLI 参数映射、合规检查、执行命令预览;用于「用户确认后再执行」的工作流 |
|
|
25
|
+
| `references/google-ads-rules/google-ads-account-audit.md` | **账户诊断与审计指南**:三层审计框架(账户→系列→组/词)、5 分钟快速健康检查、结构/转化/出价/关键词/创意/地域/设备/落地页/预算审计、竞争态势分析、20 条常见问题诊断速查表、审计报告模板 |
|
|
26
|
+
| `references/google-ads-rules/google-ads-conversion-architecture.md` | **转化信号架构设计**:信号质量层级(L1-L5)、转化动作设计框架、多阶段漏斗价值设计、Enhanced Conversions 实施、离线转化导入策略、Consent Mode v2、利润导向出价(Profit-Based Bidding)、信号质量诊断与迁移路径、7 个行业推荐配置 |
|
|
27
|
+
| `references/google-ads-rules/google-ads-audience-strategy.md` | **受众策略与分析**:受众类型全览、业务类型×漏斗阶段策略矩阵、观察 vs 定向模式决策、再营销四层分级(hot/warm/cool/cold)、RLSA 三大策略、Customer Match、受众数据分析框架、受众排除策略、2025-2026 隐私趋势 |
|
|
28
|
+
| `references/google-ads-rules/google-ads-pmax-guide.md` | **PMax 与 Demand Gen 深度运营**:PMax 运营原理、Search 蚕食诊断(20% 品牌花费阈值)、Asset Group 策略、渠道级分析(2025 新功能)、搜索词/否定词/品牌排除管理、受众信号优化、Demand Gen 战术、AI Max for Search 协同、AI Overview 广告策略、常见问题诊断 |
|
|
27
29
|
|
|
28
30
|
> **AI Agent 具体要求:**
|
|
29
|
-
>
|
|
30
|
-
> -
|
|
31
|
+
>
|
|
32
|
+
> - 若当前会话中尚未阅读上述任一文件,AI 必须先主动阅读,再继续下一步流程,而不是直接生成广告计划或文案。
|
|
33
|
+
> - 在首次阅读后,AI 需用自己的话向用户**简要复述**上述文档中与本次任务强相关的 3~5 条关键合规/策略要点,并询问用户是否有本地特殊限制需要补充。
|
|
31
34
|
> - 后续生成的关键词、文案、出价与结构,必须**显式遵守这些规则**;一旦与规则冲突,应以规则优先,并向用户说明原因(例如:某些词因合规或商标问题被自动剔除)。
|
|
32
35
|
|
|
33
36
|
### 第二步:向用户补齐关键信息
|
|
34
37
|
|
|
35
|
-
在进入计划设计前,AI 应最少询问并确认以下关键信息(可按需追加):
|
|
36
|
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
38
|
+
在进入计划设计前,AI 应最少询问并确认以下关键信息(可按需追加):
|
|
39
|
+
|
|
40
|
+
- **业务与转化目标**:行业、主营产品/服务、主要转化动作(表单提交 / 电话咨询 / 在线下单 等)。
|
|
41
|
+
- **目标地区与语言**:主要投放国家/地区、语言组合、多语言站点情况。
|
|
42
|
+
- **预算与节奏**:日预算区间、是否有阶段性活动(如大促 / 节日档期)、允许的试错周期。
|
|
43
|
+
- **历史投放情况**:是否已有历史账户/系列/关键词表现数据,是否有必须保留/禁止使用的词或文案。
|
|
40
44
|
- **合规与品牌限制**:是否涉及敏感行业、是否有品牌词 / 合作方词 / 法律风控要求等。
|
|
41
45
|
|
|
42
46
|
### 第三步:根据规则与信息生成计划并确认
|
|
43
47
|
|
|
44
48
|
最终需要按照 `references/google-ads-rules/google-ads-launch-plan-template.md`
|
|
45
49
|
生成对应的计划,与用户沟通确认。**在该方案中,AI 必须:**
|
|
46
|
-
|
|
47
|
-
-
|
|
50
|
+
|
|
51
|
+
- **引用并遵守**前述规则文档中的关键条款(尤其是合规与敏感行业部分),必要时在方案对应章节标注「来源规则」。
|
|
52
|
+
- **解释核心决定的依据**,例如为何采用某类匹配结构、为何排除某类词、为何推荐某种出价策略。
|
|
48
53
|
- **明确列出风险点与替代方案**,帮助用户在确认前做出知情决策。
|
|
49
54
|
|
|
50
55
|
**只有在用户通过自然语言明确表示「同意 / 确认按此方案执行」之后**,AI 才能真正开始下面的操作;在用户未确认前,不得对账户做任何结构性改动(系列 / 广告组 / 关键词 / 创意)。
|
|
@@ -62,8 +67,8 @@
|
|
|
62
67
|
|
|
63
68
|
### 广告修改
|
|
64
69
|
|
|
65
|
-
- 对用户提出的修改内容进行评估与拓展评估标准基于(references/googles-ads-rules
|
|
66
|
-
- 确认修改方案按照
|
|
70
|
+
- 对用户提出的修改内容进行评估与拓展评估标准基于(references/googles-ads-rules/\*.md)中的对应的文件来确认
|
|
71
|
+
- 确认修改方案按照
|
|
67
72
|
- 读取`references/google-ads-rules/google-ads-launch-plan-template.md` 中关于计划模板的描述,节选用户需要修改的部分来按格式输出给用户确认
|
|
68
73
|
- 使用对应命令来进行修改
|
|
69
74
|
- 使用ad -h 来查询有哪些修改命令
|
|
@@ -77,19 +82,18 @@
|
|
|
77
82
|
|
|
78
83
|
参考修改的流程,优化的部分需要有新旧对照的表格,其他与修改流程一致
|
|
79
84
|
|
|
80
|
-
|
|
81
|
-
|
|
82
85
|
## 下面是相关命令的示例,参考就行
|
|
83
86
|
|
|
84
87
|
**ID 来源说明:**
|
|
85
88
|
|
|
86
|
-
| 需要的 ID
|
|
87
|
-
|
|
88
|
-
| `accountId`(`-a`) | `siluzan-tso list-accounts --json` → `mediaCustomerId`
|
|
89
|
-
| 广告系列 `id`
|
|
89
|
+
| 需要的 ID | 从哪里获取 |
|
|
90
|
+
| ------------------- | ------------------------------------------------------------ |
|
|
91
|
+
| `accountId`(`-a`) | `siluzan-tso list-accounts --json` → `mediaCustomerId` |
|
|
92
|
+
| 广告系列 `id` | `siluzan-tso ad campaigns -a <accountId> --json` → `id` |
|
|
90
93
|
| 广告组 `id`、`name` | `siluzan-tso ad groups -a <accountId> --json` → `id`、`name` |
|
|
91
|
-
| 广告 `id`
|
|
92
|
-
| 关键词 `id`
|
|
94
|
+
| 广告 `id` | `siluzan-tso ad list -a <accountId> --json` → `id` |
|
|
95
|
+
| 关键词 `id` | `siluzan-tso ad keywords -a <accountId> --json` → `id` |
|
|
96
|
+
|
|
93
97
|
---
|
|
94
98
|
|
|
95
99
|
## ad campaigns — 广告系列管理
|
|
@@ -100,12 +104,12 @@
|
|
|
100
104
|
siluzan-tso ad campaigns -a <accountId> [选项]
|
|
101
105
|
```
|
|
102
106
|
|
|
103
|
-
| 选项
|
|
104
|
-
|
|
105
|
-
| `-a, --account <id>`
|
|
106
|
-
| `--start <YYYY-MM-DD>` | 统计开始日期
|
|
107
|
-
| `--end <YYYY-MM-DD>`
|
|
108
|
-
| `--json`
|
|
107
|
+
| 选项 | 说明 |
|
|
108
|
+
| ---------------------- | ------------------------------ |
|
|
109
|
+
| `-a, --account <id>` | Google mediaCustomerId(必填) |
|
|
110
|
+
| `--start <YYYY-MM-DD>` | 统计开始日期 |
|
|
111
|
+
| `--end <YYYY-MM-DD>` | 统计结束日期 |
|
|
112
|
+
| `--json` | 输出原始 JSON |
|
|
109
113
|
|
|
110
114
|
**示例:**
|
|
111
115
|
|
|
@@ -169,11 +173,11 @@ siluzan-tso ad campaign-delete -a 6326027735 --id campaign_001
|
|
|
169
173
|
siluzan-tso ad groups -a <accountId> [选项]
|
|
170
174
|
```
|
|
171
175
|
|
|
172
|
-
| 选项
|
|
173
|
-
|
|
174
|
-
| `-a, --account <id>`
|
|
175
|
-
| `--start / --end <date>` | 统计日期范围
|
|
176
|
-
| `--json`
|
|
176
|
+
| 选项 | 说明 |
|
|
177
|
+
| ------------------------ | ------------------------------ |
|
|
178
|
+
| `-a, --account <id>` | Google mediaCustomerId(必填) |
|
|
179
|
+
| `--start / --end <date>` | 统计日期范围 |
|
|
180
|
+
| `--json` | 输出原始 JSON |
|
|
177
181
|
|
|
178
182
|
**示例:**
|
|
179
183
|
|
|
@@ -198,14 +202,14 @@ siluzan-tso ad adgroup-create \
|
|
|
198
202
|
--max-cpc <金额(微单位)>
|
|
199
203
|
```
|
|
200
204
|
|
|
201
|
-
| 选项
|
|
202
|
-
|
|
203
|
-
| `-a, --account <id>`
|
|
204
|
-
| `--campaign-id <id>`
|
|
205
|
-
| `--campaign-name <name>` | 所属广告系列名称
|
|
206
|
-
| `--name <name>`
|
|
207
|
-
| `--max-cpc <amount>`
|
|
208
|
-
| `--status <status>`
|
|
205
|
+
| 选项 | 说明 | 必填 |
|
|
206
|
+
| ------------------------ | -------------------------------------------------- | ---- |
|
|
207
|
+
| `-a, --account <id>` | Google mediaCustomerId | ✅ |
|
|
208
|
+
| `--campaign-id <id>` | 所属广告系列 ID(来自 `campaigns --json`) | ✅ |
|
|
209
|
+
| `--campaign-name <name>` | 所属广告系列名称 | ✅ |
|
|
210
|
+
| `--name <name>` | 广告组名称 | ✅ |
|
|
211
|
+
| `--max-cpc <amount>` | 最高 CPC 出价(最小货币单位,如 `100000` = 1 USD) | ✅ |
|
|
212
|
+
| `--status <status>` | `ENABLED \| PAUSED`(默认 `ENABLED`) | |
|
|
209
213
|
|
|
210
214
|
**示例:**
|
|
211
215
|
|
|
@@ -273,11 +277,11 @@ siluzan-tso ad adgroup-delete -a 6326027735 --id adgroup_001
|
|
|
273
277
|
siluzan-tso ad list -a <accountId> [选项]
|
|
274
278
|
```
|
|
275
279
|
|
|
276
|
-
| 选项
|
|
277
|
-
|
|
278
|
-
| `-a, --account <id>`
|
|
279
|
-
| `--start / --end <date>` | 统计日期范围
|
|
280
|
-
| `--json`
|
|
280
|
+
| 选项 | 说明 |
|
|
281
|
+
| ------------------------ | ------------------------------ |
|
|
282
|
+
| `-a, --account <id>` | Google mediaCustomerId(必填) |
|
|
283
|
+
| `--start / --end <date>` | 统计日期范围 |
|
|
284
|
+
| `--json` | 输出原始 JSON |
|
|
281
285
|
|
|
282
286
|
**示例:**
|
|
283
287
|
|
|
@@ -303,16 +307,16 @@ siluzan-tso ad ad-create \
|
|
|
303
307
|
--descriptions "描述1,描述2"
|
|
304
308
|
```
|
|
305
309
|
|
|
306
|
-
| 选项
|
|
307
|
-
|
|
308
|
-
| `-a, --account <id>`
|
|
309
|
-
| `--adgroup-id <id>`
|
|
310
|
-
| `--adgroup-name <name>`
|
|
311
|
-
| `--final-url <url>`
|
|
312
|
-
| `--headlines <titles>`
|
|
313
|
-
| `--descriptions <descs>` | 描述列表,逗号分隔(**至少 2 个**,每个≤90字符) | ✅
|
|
314
|
-
| `--path1 <text>`
|
|
315
|
-
| `--path2 <text>`
|
|
310
|
+
| 选项 | 说明 | 必填 |
|
|
311
|
+
| ------------------------ | ------------------------------------------------ | ---- |
|
|
312
|
+
| `-a, --account <id>` | Google mediaCustomerId | ✅ |
|
|
313
|
+
| `--adgroup-id <id>` | 广告组 ID(来自 `groups --json`) | ✅ |
|
|
314
|
+
| `--adgroup-name <name>` | 广告组名称 | ✅ |
|
|
315
|
+
| `--final-url <url>` | 最终落地页 URL | ✅ |
|
|
316
|
+
| `--headlines <titles>` | 标题列表,逗号分隔(**至少 3 个**,每个≤30字符) | ✅ |
|
|
317
|
+
| `--descriptions <descs>` | 描述列表,逗号分隔(**至少 2 个**,每个≤90字符) | ✅ |
|
|
318
|
+
| `--path1 <text>` | 显示路径第1段(≤15字符) | |
|
|
319
|
+
| `--path2 <text>` | 显示路径第2段(≤15字符) | |
|
|
316
320
|
|
|
317
321
|
**示例:**
|
|
318
322
|
|
|
@@ -380,12 +384,12 @@ siluzan-tso ad ad-delete -a 6326027735 --id ad_001
|
|
|
380
384
|
siluzan-tso ad keywords -a <accountId> [选项]
|
|
381
385
|
```
|
|
382
386
|
|
|
383
|
-
| 选项
|
|
384
|
-
|
|
385
|
-
| `-a, --account <id>`
|
|
386
|
-
| `--negative`
|
|
387
|
-
| `--start / --end <date>` | 统计日期范围
|
|
388
|
-
| `--json`
|
|
387
|
+
| 选项 | 说明 |
|
|
388
|
+
| ------------------------ | ---------------------------------- |
|
|
389
|
+
| `-a, --account <id>` | Google mediaCustomerId(必填) |
|
|
390
|
+
| `--negative` | 查询否定关键词(默认查普通关键词) |
|
|
391
|
+
| `--start / --end <date>` | 统计日期范围 |
|
|
392
|
+
| `--json` | 输出原始 JSON |
|
|
389
393
|
|
|
390
394
|
**示例:**
|
|
391
395
|
|
|
@@ -414,15 +418,15 @@ siluzan-tso ad keyword-create \
|
|
|
414
418
|
--keywords "词1,词2,词3"
|
|
415
419
|
```
|
|
416
420
|
|
|
417
|
-
| 选项
|
|
418
|
-
|
|
419
|
-
| `-a, --account <id>`
|
|
420
|
-
| `--adgroup-id <id>`
|
|
421
|
-
| `--adgroup-name <name>`
|
|
422
|
-
| `--campaign-id <id>`
|
|
423
|
-
| `--campaign-name <name>` | 广告系列名称
|
|
424
|
-
| `--keywords <words>`
|
|
425
|
-
| `--final-url <url>`
|
|
421
|
+
| 选项 | 说明 | 必填 |
|
|
422
|
+
| ------------------------ | ------------------------ | ---- |
|
|
423
|
+
| `-a, --account <id>` | Google mediaCustomerId | ✅ |
|
|
424
|
+
| `--adgroup-id <id>` | 广告组 ID | ✅ |
|
|
425
|
+
| `--adgroup-name <name>` | 广告组名称 | ✅ |
|
|
426
|
+
| `--campaign-id <id>` | 广告系列 ID | ✅ |
|
|
427
|
+
| `--campaign-name <name>` | 广告系列名称 | ✅ |
|
|
428
|
+
| `--keywords <words>` | 关键词列表,逗号分隔 | ✅ |
|
|
429
|
+
| `--final-url <url>` | 关键词独立落地页(可选) | |
|
|
426
430
|
|
|
427
431
|
**示例:**
|
|
428
432
|
|
|
@@ -461,10 +465,10 @@ siluzan-tso ad keyword-negative-create \
|
|
|
461
465
|
--keywords "词1,词2"
|
|
462
466
|
```
|
|
463
467
|
|
|
464
|
-
| 选项
|
|
465
|
-
|
|
466
|
-
| `--adgroup-id <id>`
|
|
467
|
-
| `--adgroup-name <name>` | 广告组名称(与 `--adgroup-id` 配套使用)
|
|
468
|
+
| 选项 | 说明 |
|
|
469
|
+
| ----------------------- | ------------------------------------------------------- |
|
|
470
|
+
| `--adgroup-id <id>` | 广告组 ID(传入则在广告组层级添加,否则在广告系列层级) |
|
|
471
|
+
| `--adgroup-name <name>` | 广告组名称(与 `--adgroup-id` 配套使用) |
|
|
468
472
|
|
|
469
473
|
**示例:**
|
|
470
474
|
|
|
@@ -496,8 +500,8 @@ siluzan-tso ad keyword-negative-delete \
|
|
|
496
500
|
--id <negativeKeywordId>
|
|
497
501
|
```
|
|
498
502
|
|
|
499
|
-
| 选项
|
|
500
|
-
|
|
503
|
+
| 选项 | 说明 |
|
|
504
|
+
| ------------------------ | ---------------------------------------------- |
|
|
501
505
|
| `--start / --end <date>` | 查询日期范围(用于定位关键词,默认最近 30 天) |
|
|
502
506
|
|
|
503
507
|
**示例:**
|
|
@@ -522,16 +526,16 @@ siluzan-tso ad keyword-negative-delete -a 6326027735 --id negkw_abc123
|
|
|
522
526
|
siluzan-tso ad batch list [选项]
|
|
523
527
|
```
|
|
524
528
|
|
|
525
|
-
| 选项
|
|
526
|
-
|
|
527
|
-
| `-s, --state <state>`
|
|
528
|
-
| `--customer-id <id>`
|
|
529
|
-
| `--customer-name <name>` | 客户名称关键字
|
|
530
|
-
| `-k, --keyword <text>`
|
|
531
|
-
| `--start / --end <date>` | 创建日期范围
|
|
532
|
-
| `-p, --page <n>`
|
|
533
|
-
| `--page-size <n>`
|
|
534
|
-
| `--json`
|
|
529
|
+
| 选项 | 说明 |
|
|
530
|
+
| ------------------------ | ---------------------------------------------------------------------- |
|
|
531
|
+
| `-s, --state <state>` | 状态:`Creating \| Successfully \| Failed \| HasFailed \| Unpublished` |
|
|
532
|
+
| `--customer-id <id>` | Google mediaCustomerId |
|
|
533
|
+
| `--customer-name <name>` | 客户名称关键字 |
|
|
534
|
+
| `-k, --keyword <text>` | 关键字 |
|
|
535
|
+
| `--start / --end <date>` | 创建日期范围 |
|
|
536
|
+
| `-p, --page <n>` | 页码(默认 1) |
|
|
537
|
+
| `--page-size <n>` | 每页数量(默认 20) |
|
|
538
|
+
| `--json` | 输出原始 JSON |
|
|
535
539
|
|
|
536
540
|
**示例:**
|
|
537
541
|
|
|
@@ -558,11 +562,11 @@ siluzan-tso ad batch get --id <recordId>
|
|
|
558
562
|
siluzan-tso ad batch update --id <recordId> [选项]
|
|
559
563
|
```
|
|
560
564
|
|
|
561
|
-
| 选项
|
|
562
|
-
|
|
563
|
-
| `--budget <amount>`
|
|
564
|
-
| `--url <url>`
|
|
565
|
-
| `--campaign-name <name>` | 新广告系列名称
|
|
565
|
+
| 选项 | 说明 |
|
|
566
|
+
| ------------------------ | --------------------------------------------- |
|
|
567
|
+
| `--budget <amount>` | 新预算(最小货币单位,如 `8500` = 85 元 CNY) |
|
|
568
|
+
| `--url <url>` | 新推广链接 |
|
|
569
|
+
| `--campaign-name <name>` | 新广告系列名称 |
|
|
566
570
|
|
|
567
571
|
### publish — 发布草稿
|
|
568
572
|
|
|
@@ -582,13 +586,13 @@ siluzan-tso ad batch publish --id <recordId>
|
|
|
582
586
|
siluzan-tso keyword -k <搜索词> [选项]
|
|
583
587
|
```
|
|
584
588
|
|
|
585
|
-
| 选项
|
|
586
|
-
|
|
587
|
-
| `-k, --keyword <words>` | 种子词,多个逗号分隔(必填)
|
|
588
|
-
| `--url <url>`
|
|
589
|
-
| `--include <words>`
|
|
590
|
-
| `--exclude <words>`
|
|
591
|
-
| `--json`
|
|
589
|
+
| 选项 | 说明 |
|
|
590
|
+
| ----------------------- | -------------------------------------------------- |
|
|
591
|
+
| `-k, --keyword <words>` | 种子词,多个逗号分隔(必填) |
|
|
592
|
+
| `--url <url>` | 公司/产品网址(填写后触发「网址拓词 + 轮询」流程) |
|
|
593
|
+
| `--include <words>` | 结果必须包含的词(逗号或空格分隔,本地过滤) |
|
|
594
|
+
| `--exclude <words>` | 结果不包含的词(本地过滤) |
|
|
595
|
+
| `--json` | 输出原始 JSON |
|
|
592
596
|
|
|
593
597
|
**示例:**
|
|
594
598
|
|
|
@@ -615,10 +619,10 @@ siluzan-tso keyword -k "running shoes" --json
|
|
|
615
619
|
|
|
616
620
|
新建搜索广告系列(异步批量任务)。支持两种创建模式:
|
|
617
621
|
|
|
618
|
-
> - 默认行为:不加 `--draft` 时,CLI 直接走「立即发布」路径(`DraftStatus: Published`)。
|
|
622
|
+
> - 默认行为:不加 `--draft` 时,CLI 直接走「立即发布」路径(`DraftStatus: Published`)。
|
|
619
623
|
> - 草稿行为:加上 `--draft` 时,仅创建草稿记录(`DraftStatus: Draft`),需后续用 `ad batch publish` 才真正提交给 Google。
|
|
620
|
-
>
|
|
621
|
-
>
|
|
624
|
+
> 广告组、关键词、广告创意的直接创建走另一套 Google 网关 API,均有对应的 `adgroup-create`、`keyword-create`、`ad-create` 等命令。
|
|
625
|
+
> 任务异步处理,任务 ID 可通过 `ad batch get --id <id>` 跟进进度。
|
|
622
626
|
|
|
623
627
|
---
|
|
624
628
|
|
|
@@ -627,6 +631,7 @@ siluzan-tso keyword -k "running shoes" --json
|
|
|
627
631
|
**当参数复杂(多广告组、含附加功能、标题中有逗号)时,AI 应优先使用此方式**:将所有参数写入一个 JSON 文件,再用 `--config-file` 传入路径。
|
|
628
632
|
|
|
629
633
|
**优势:**
|
|
634
|
+
|
|
630
635
|
- `headlines` 是真正的字符串数组,元素内**允许含逗号**(如 `"Global Reach, Local Impact"`)
|
|
631
636
|
- `extensions` / `extraAdGroups` 直接写 JSON,不需要序列化为字符串
|
|
632
637
|
- 参数复杂时无 shell 转义问题,AI 一次生成即可成功
|
|
@@ -643,34 +648,34 @@ siluzan-tso keyword -k "running shoes" --json
|
|
|
643
648
|
|
|
644
649
|
**JSON文件 字段说明:**
|
|
645
650
|
|
|
646
|
-
| 字段
|
|
647
|
-
|
|
648
|
-
| `account`
|
|
649
|
-
| `customerName`
|
|
650
|
-
| `name`
|
|
651
|
-
| `budget`
|
|
652
|
-
| `bidding`
|
|
653
|
-
| `locationIds`
|
|
654
|
-
| `adgroupName`
|
|
655
|
-
| `maxCpc`
|
|
656
|
-
| `bidCeiling`
|
|
657
|
-
| `targetCpa`
|
|
658
|
-
| `targetRoas` |
|
|
659
|
-
| `languageIds`
|
|
660
|
-
| `startDate` / `endDate` | ✅
|
|
661
|
-
| `url`
|
|
662
|
-
| `status` |
|
|
663
|
-
| `matchType`
|
|
664
|
-
| `keywords`
|
|
665
|
-
| `headlines`
|
|
666
|
-
| `descriptions` |
|
|
667
|
-
| `finalUrl` |
|
|
668
|
-
| `path1` / `path2`
|
|
669
|
-
| `productWords`
|
|
670
|
-
| `negativeKeywords`
|
|
671
|
-
| `extensions`
|
|
672
|
-
| `extraAdGroups`
|
|
673
|
-
| `draft`
|
|
651
|
+
| 字段 | 必填 | 类型 | 说明 |
|
|
652
|
+
| ----------------------- | ---- | -------- | ------------------------------------------------------------------------- |
|
|
653
|
+
| `account` | ✅ | string | Google 账户 mediaCustomerId |
|
|
654
|
+
| `customerName` | ✅ | string | 账户名称(`list-accounts --json` 的 `mediaAccountName`) |
|
|
655
|
+
| `name` | ✅ | string | 广告系列名称 |
|
|
656
|
+
| `budget` | ✅ | number | 日预算,**主币种展示金额**(100 = 每天 100 USD/CNY,内部 ×100) |
|
|
657
|
+
| `bidding` | ✅ | string | 出价策略:`TARGET_SPEND` \| `MANUAL_CPC` \| `TARGET_CPA` \| `TARGET_ROAS` |
|
|
658
|
+
| `locationIds` | ✅ | string[] | 地理位置 ID 数组(`ad geo search` 获取) |
|
|
659
|
+
| `adgroupName` | ✅ | string | 第一个广告组名称 |
|
|
660
|
+
| `maxCpc` | ✅ | number | 第一个广告组最高 CPC,主币种展示金额(1.5 = 1.50 USD,内部 ×100) |
|
|
661
|
+
| `bidCeiling` | ✅ | number | TARGET_SPEND 出价上限(主币种,内部 ×100) |
|
|
662
|
+
| `targetCpa` | ✅ | number | TARGET_CPA 目标 CPA(主币种,内部 ×100) |
|
|
663
|
+
| `targetRoas` | ✅ | number | TARGET_ROAS 目标 ROAS(如 2.5) |
|
|
664
|
+
| `languageIds` | ✅ | string[] | 语言 ID 数组(默认 `["1000"]` = 英语,中文 = `"1017"`) |
|
|
665
|
+
| `startDate` / `endDate` | ✅ | string | 日期 YYYY-MM-DD(默认:今天 / 2037-12-30) |
|
|
666
|
+
| `url` | ✅ | string | 落地页 URL |
|
|
667
|
+
| `status` | ✅ | string | `Enabled` \| `Paused`(默认 Enabled) |
|
|
668
|
+
| `matchType` | ✅ | string | 默认匹配类型:`BROAD` \| `PHRASE` \| `EXACT` |
|
|
669
|
+
| `keywords` | ✅ | string[] | 第一个广告组关键词 |
|
|
670
|
+
| `headlines` | ✅ | string[] | 标题数组,至少 3 条,推荐 15 条,每条 ≤ 30 字符,**元素内允许含逗号** |
|
|
671
|
+
| `descriptions` | ✅ | string[] | 描述数组,至少 2 条,推荐 4 条,每条 ≤ 90 字符 |
|
|
672
|
+
| `finalUrl` | ✅ | string | 广告落地页 |
|
|
673
|
+
| `path1` / `path2` | ✅ | string | 展示 URL 路径(各 ≤ 15 字符) |
|
|
674
|
+
| `productWords` | ✅ | string[] | 推广产品词(用于 AI 关键词推荐) |
|
|
675
|
+
| `negativeKeywords` | ✅ | string[] | 否定关键词数组(默认 BROAD 匹配) |
|
|
676
|
+
| `extensions` | ✅ | array | 广告附加功能(CALL / SITELINK / STRUCTURED_SNIPPET),见 Schema |
|
|
677
|
+
| `extraAdGroups` | ✅ | array | 额外广告组,追加到 AdGroupsForBatchJob,见 Schema |
|
|
678
|
+
| `draft` | ✅ | boolean | `true` = 仅保存草稿(需后续 `ad batch publish` 发布) |
|
|
674
679
|
|
|
675
680
|
---
|
|
676
681
|
|
|
@@ -678,31 +683,31 @@ siluzan-tso keyword -k "running shoes" --json
|
|
|
678
683
|
|
|
679
684
|
所有参数也可以直接通过 CLI 选项传入(复杂场景推荐用 `--config-file`):
|
|
680
685
|
|
|
681
|
-
| 选项
|
|
682
|
-
|
|
683
|
-
| `-a, --account <id>`
|
|
684
|
-
| `--customer-name <name>`
|
|
685
|
-
| `--name <name>`
|
|
686
|
-
| `--budget <amount>`
|
|
687
|
-
| `--bidding <strategy>`
|
|
688
|
-
| `--location-ids <ids>`
|
|
689
|
-
| `--adgroup-name <name>`
|
|
690
|
-
| `--max-cpc <amount>`
|
|
691
|
-
| `--keywords <kws>`
|
|
692
|
-
| `--headlines <titles>`
|
|
693
|
-
| `--descriptions <descs>`
|
|
694
|
-
| `--product-words <words>`
|
|
695
|
-
| `--negative-keywords <kws>`
|
|
696
|
-
| `--extensions-json <json>`
|
|
697
|
-
| `--extra-adgroups-json <json>`
|
|
698
|
-
| `--lang-ids <ids>`
|
|
699
|
-
| `--bid-ceiling / --target-cpa / --target-roas` | —
|
|
700
|
-
| `--start / --end`
|
|
701
|
-
| `--url / --final-url`
|
|
702
|
-
| `--path1 / --path2`
|
|
703
|
-
| `--status`
|
|
704
|
-
| `--draft`
|
|
705
|
-
| `--config-file <path>`
|
|
686
|
+
| 选项 | 必填 | 说明 |
|
|
687
|
+
| ---------------------------------------------- | ---- | --------------------------------------------------------------------- |
|
|
688
|
+
| `-a, --account <id>` | ✅\* | Google 账户 mediaCustomerId(\*使用 `--config-file` 时可从文件读取) |
|
|
689
|
+
| `--customer-name <name>` | ✅\* | 账户名称 |
|
|
690
|
+
| `--name <name>` | ✅\* | 广告系列名称 |
|
|
691
|
+
| `--budget <amount>` | ✅\* | 日预算(主币种展示金额) |
|
|
692
|
+
| `--bidding <strategy>` | ✅\* | 出价策略 |
|
|
693
|
+
| `--location-ids <ids>` | ✅\* | 地理位置 ID,逗号分隔 |
|
|
694
|
+
| `--adgroup-name <name>` | ✅\* | 第一个广告组名称 |
|
|
695
|
+
| `--max-cpc <amount>` | ✅\* | 最高 CPC(主币种展示金额) |
|
|
696
|
+
| `--keywords <kws>` | — | 关键词,逗号分隔 |
|
|
697
|
+
| `--headlines <titles>` | — | 广告标题,逗号分隔(⚠️ 标题内不能含逗号,含逗号请用 `--config-file`) |
|
|
698
|
+
| `--descriptions <descs>` | — | 广告描述,逗号分隔 |
|
|
699
|
+
| `--product-words <words>` | — | 产品词,逗号分隔 |
|
|
700
|
+
| `--negative-keywords <kws>` | — | 否定关键词,逗号分隔 |
|
|
701
|
+
| `--extensions-json <json>` | — | 附加功能 JSON 数组字符串 |
|
|
702
|
+
| `--extra-adgroups-json <json>` | — | 额外广告组 JSON 数组字符串 |
|
|
703
|
+
| `--lang-ids <ids>` | — | 语言 ID,逗号分隔(默认 1000=英语) |
|
|
704
|
+
| `--bid-ceiling / --target-cpa / --target-roas` | — | 出价相关参数 |
|
|
705
|
+
| `--start / --end` | — | 日期 YYYY-MM-DD |
|
|
706
|
+
| `--url / --final-url` | — | 落地页 |
|
|
707
|
+
| `--path1 / --path2` | — | 展示路径 |
|
|
708
|
+
| `--status` | — | Enabled \| Paused |
|
|
709
|
+
| `--draft` | — | 仅保存草稿 |
|
|
710
|
+
| `--config-file <path>` | — | JSON 配置文件路径(AI 推荐) |
|
|
706
711
|
|
|
707
712
|
**典型用法(简单场景):**
|
|
708
713
|
|
|
@@ -760,15 +765,15 @@ siluzan-tso ad campaign-edit \
|
|
|
760
765
|
[--content-network true|false]
|
|
761
766
|
```
|
|
762
767
|
|
|
763
|
-
| 选项
|
|
764
|
-
|
|
765
|
-
| `--name`
|
|
766
|
-
| `--budget`
|
|
767
|
-
| `--bidding`
|
|
768
|
-
| `--bid-ceiling`
|
|
769
|
-
| `--target-cpa`
|
|
770
|
-
| `--search-network`
|
|
771
|
-
| `--content-network` | 投放展示网络:`true` \| `false`
|
|
768
|
+
| 选项 | 说明 |
|
|
769
|
+
| ------------------- | ------------------------------------------------------------------------- |
|
|
770
|
+
| `--name` | 新广告系列名称 |
|
|
771
|
+
| `--budget` | 新预算,最小货币单位(如 100000 = 1 USD) |
|
|
772
|
+
| `--bidding` | 出价策略:`TARGET_SPEND` \| `TARGET_CPA` \| `TARGET_ROAS` \| `MANUAL_CPC` |
|
|
773
|
+
| `--bid-ceiling` | `TARGET_SPEND` 出价上限(最小货币单位,0 = 不限) |
|
|
774
|
+
| `--target-cpa` | `TARGET_CPA` 目标 CPA |
|
|
775
|
+
| `--search-network` | 投放 Google 搜索:`true` \| `false` |
|
|
776
|
+
| `--content-network` | 投放展示网络:`true` \| `false` |
|
|
772
777
|
|
|
773
778
|
**示例:**
|
|
774
779
|
|
|
@@ -809,19 +814,19 @@ CLI 会在请求前自动设置 **Datapermission**(与浏览器 `datapermissio
|
|
|
809
814
|
|
|
810
815
|
### 网关 JSON 与 CLI 参数对应(常用字段)
|
|
811
816
|
|
|
812
|
-
| 网关字段
|
|
813
|
-
|
|
814
|
-
| `id`
|
|
815
|
-
| `activeuseridg`
|
|
816
|
-
| `headlinePart1` / `headlinePart2` / `headlinePart3` | 前 3 条标题
|
|
817
|
-
| `AddtionalHeadlines`
|
|
818
|
-
| `adDescription` / `adDescription2`
|
|
819
|
-
| `AddtionalAdDescriptions`
|
|
820
|
-
| `finalUrl`
|
|
821
|
-
| `path1` / `path2`
|
|
822
|
-
| `adGroupId` / `adGroup`
|
|
823
|
-
| `typeV2`
|
|
824
|
-
| `statusV2`
|
|
817
|
+
| 网关字段 | 说明 | CLI |
|
|
818
|
+
| --------------------------------------------------- | --------------------------------------- | ------------------------------------------- |
|
|
819
|
+
| `id` | 广告 ID | `--id` |
|
|
820
|
+
| `activeuseridg` | 账户 mediaCustomerId | `-a` / `--account` |
|
|
821
|
+
| `headlinePart1` / `headlinePart2` / `headlinePart3` | 前 3 条标题 | `--headlines` 前 3 项 |
|
|
822
|
+
| `AddtionalHeadlines` | 第 4~15 条标题(网关拼写为 Addtional) | `--headlines` 第 4 项起 |
|
|
823
|
+
| `adDescription` / `adDescription2` | 前 2 条描述 | `--descriptions` 前 2 项 |
|
|
824
|
+
| `AddtionalAdDescriptions` | 第 3~4 条描述 | `--descriptions` 第 3 项起 |
|
|
825
|
+
| `finalUrl` | 落地页 | `--final-url` |
|
|
826
|
+
| `path1` / `path2` | 显示路径 | `--path1` / `--path2` |
|
|
827
|
+
| `adGroupId` / `adGroup` | 广告组 | 从列表结果保留,勿手改 |
|
|
828
|
+
| `typeV2` | 广告类型 | 从列表保留(RSA 为 `RESPONSIVE_SEARCH_AD`) |
|
|
829
|
+
| `statusV2` | `Enabled` / `Paused` | `--status Enabled` 或 `--status Paused` |
|
|
825
830
|
|
|
826
831
|
**约束:** 至少指定一项:`--headlines` / `--descriptions` / `--final-url` / `--path1` / `--path2` / `--status`。若传 `--headlines` 须 ≥3 条;若传 `--descriptions` 须 ≥2 条。
|
|
827
832
|
|
|
@@ -918,15 +923,15 @@ siluzan-tso ad keyword-delete -a 6326027735 --id 2464982882313 --adgroup-id 1955
|
|
|
918
923
|
|
|
919
924
|
### 网关字段与 CLI 对应(常用)
|
|
920
925
|
|
|
921
|
-
| 网关字段
|
|
922
|
-
|
|
923
|
-
| `id`
|
|
924
|
-
| `keywordText`
|
|
925
|
-
| `matchTypeV2`
|
|
926
|
-
| `matchType`
|
|
927
|
-
| `maxCPC`
|
|
928
|
-
| `finalURL`
|
|
929
|
-
| `adGroupId` / `campaignId` 等 | 层级与统计字段
|
|
926
|
+
| 网关字段 | 说明 | CLI |
|
|
927
|
+
| ----------------------------- | ----------------------------------------- | ---------------------------- |
|
|
928
|
+
| `id` | 关键词资源 id | `--id` |
|
|
929
|
+
| `keywordText` | 关键词文案(数组,一般一项) | `--text` → `["..."]` |
|
|
930
|
+
| `matchTypeV2` | 匹配类型(网页用 Broad / Phrase / Exact) | `--match-type` |
|
|
931
|
+
| `matchType` | 另一套枚举(如 EXACT),列表里可能仍存在 | 一般随 list 结果保留,勿手改 |
|
|
932
|
+
| `maxCPC` | 最高每次点击费用 | `--max-cpc` |
|
|
933
|
+
| `finalURL` | 关键词级最终到达网址 | `--final-url` |
|
|
934
|
+
| `adGroupId` / `campaignId` 等 | 层级与统计字段 | 从列表保留 |
|
|
930
935
|
|
|
931
936
|
**注意:** 成功响应也是数组;**`id` 可能与请求不一致**(网关可能返回新资源 id)。CLI 若检测到变化会打印提示,后续请用 **返回体中的新 `id`** 再查列表或再编辑。
|
|
932
937
|
|