# Portfolio Ads Growth Operating System v0｜2026-06-04

角色：墨投（motou）
边界：本报告只给 paid acquisition 方案与 Owner Approval Card，不发布广告、不充值、不改生产广告账户设置。

## 0. Verdict

- Portfolio verdict：TEST，但只允许小预算意图验证。
- 第一批 paid test：优先 `videocompressor.online`；备选 `finalgradecalculator.app`；观察型小测 `aicodingpricing.com`。
- 暂不投：`aieditorrsp.net`、`pfpmaker.online`、`getaiemail.com`。
- 总测试上限建议：$225 / 5 天。
  - videocompressor：$20/day × 5 days = $100。
  - finalgradecalculator：$10/day × 5 days = $50。
  - aicodingpricing：$15/day × 5 days = $75。
- 统一 stop-loss：任一站点达到预算上限、追踪断裂、核心事件 0、明显垃圾 search terms，立即停；不因 impressions/clicks 单独判成功。

预算测算依据：用保守 CPC band 估算点击量，实际必须在 Google Keyword Planner / Microsoft Ads Keyword Planner 中上线前复核。
- videocompressor CPC 假设 $0.8–$2.5，$100 约 40–125 clicks。
- finalgradecalculator CPC 假设 $0.3–$1.2，$50 约 42–167 clicks。
- aicodingpricing CPC 假设 $1.5–$6.0，$75 约 13–50 clicks。

## 1. Portfolio ads readiness matrix

| Site | URL | Ads tier | Paid verdict | 推荐渠道 | 缺口 | 为什么 |
|---|---|---|---|---|---|---|
| Video Compressor | https://videocompressor.online/ | ready_to_test | TEST | Google Search, Microsoft Search | support@ MX 未验证；Plausible dashboard 真实事件回收未验证；LCP 3.04s；2 个 axe contrast P1 | QA_CONDITIONAL_GO；核心本地压缩、下载、SEO、合规 P0 已过；搜索意图直接、免费工具型，适合小预算 Search 测工具使用 |
| Final Grade Calculator | https://finalgradecalculator.app/ | ready_to_test | TEST | Google Search, Microsoft Search | Bing Webmaster 未纳入；Clarity/Plausible backend 不完整；GA4 未同步 calculate_click/weighted_calculate；Ahrefs health 33 | 已有 GSC 近 7 天 41,215 impressions / 105 clicks；核心词 avg position 9 左右，付费可测 CTR/intent，但免费学生工具商业化弱 |
| AI Coding Pricing | https://aicodingpricing.com/ | organic_first | TEST_LIGHT | Google Search exact/phrase, Reddit promoted post later | Clarity backend 不可查；newsletter_submit 与 D1 subscriber 不一致；结果页购买建议卡不足；GSC indexed=0 | GA4/Plausible/D1/GSC/Bing/Ahrefs 基本可查，已有 95 visitors/7d 与 779 calculator_usage；但 B2B intent 低量高 CPC，先小额验证 paid intent |
| AI Editor RSP | https://aieditorrsp.net/ | wait_for_launch | NO_GO_NOW | 暂不投；后续只考虑 Search exact + retargeting | GA4 缺失；GSC 未验证；Bing 缺站点；Ahrefs Site Audit missing；Plausible API 401；Clarity backend 不可查；产品 preview/provider-pending，AI generation/checkout/subscription 未启用 | 站点可访问但数据链路硬闸 + 产品未可付费，不应买流量。先补 GA4/GSC/Bing/Ahrefs/归因和真实生成/支付路径 |
| PFP Maker | https://pfpmaker.online/ | wait_for_launch | NO_GO_NOW | 暂不投；后续 Google/Microsoft Search | QA_NO_GO：Privacy/Terms compliance blocker；Accessibility 83；LCP 3266ms；无外部 analytics dashboard；临时文件未清 | 核心工具能跑，但合规和 QA 未过；profile picture/PFP 词可能强竞争且多免费工具，未过 gate 前不能烧钱 |
| Get AI Email | https://getaiemail.com/ | organic_first | NO_GO_NOW | 暂不投；后续 Search/Quora 可评估 | GA4 missing；Clarity missing；Plausible API 401；GSC indexed=0 且无 rows；Ahrefs crawl cap=1；外部分发 proof 缺失 | 数据链路不足，不适合 paid；email generator 词竞争高，先补数据和低风险自然验证 |
| Daily new site 20260604 | N/A | no_go | NO_GO | N/A | 今日新词未选出，FLOW_INCOMPLETE_NEEDS_RECHECK | 不为了投放硬凑新站；`claude opus 4.8` 属品牌/导航词，不碰 |

## 2. Site tiering

### ready_to_test

1. `videocompressor.online`
   - 条件：只投 Google/Microsoft Search；不投 Display/PMax/Meta；预算硬封顶 $100。
   - Primary conversion：`compression_success` / `download_click`。
   - Secondary：`file_select`、`preset_select`、`start_compression`、`target_missed`。

2. `finalgradecalculator.app`
   - 条件：只投 Search exact/phrase；预算硬封顶 $50；以工具使用事件为成功，不看注册/支付。
   - Primary conversion：`calculate_click` 或 `weighted_calculate`。
   - Secondary：`result_view`、`related_tool_click`、`copy/share`。

### organic_first

1. `aicodingpricing.com`
   - 先做 SEO/内容/结果页迭代，但可用 $75 测商业 intent。
   - Primary conversion：`pricing_click` 或 `pricing_cta_click`。
   - Secondary：`calculator_usage`、`recommendation_shown`、`newsletter_submit`。

2. `getaiemail.com`
   - 先补 GA4/Clarity/Plausible 权限和外部分发 proof，不投。

### wait_for_launch

1. `aieditorrsp.net`
   - Preview/provider-pending，AI generation/checkout/subscriptions/GA/ads cookies 未启用；不投。

2. `pfpmaker.online`
   - QA_NO_GO 与 compliance blocker 未解除；不投。

### no_go

1. 今日新词站点：没有合格 selected_keyword。
2. 品牌/模型导航词：`claude opus 4.8`、`grok 4.3` 等，不蹭品牌词，不投。

## 3. Unified tracking contract

### UTM convention

统一命名：

```text
utm_source=<google|microsoft|reddit|meta|quora>
utm_medium=cpc
utm_campaign=<site_slug>__<channel>__<intent_or_audience>__<geo>__<yyyymmdd>
utm_content=<campaign_type>__<adgroup_or_creative>__<variant>
utm_term={keyword}
```

示例：

```text
https://videocompressor.online/?utm_source=google&utm_medium=cpc&utm_campaign=videocompressor__search__mp4_compress__us__20260604&utm_content=rsa__mp4_compressor__v1&utm_term={keyword}
```

### Required URL parameters

- Search：`utm_term={keyword}` 必填。
- Microsoft：保留 `msclkid` 自动标记。
- Google：开启 auto-tagging 后保留 `gclid`，但仍加 UTM 方便 Plausible/D1 cross-check。
- Reddit/Meta：`utm_content` 必须包含 creative angle，不只写 ad1/ad2。

### Primary conversion by site

| Site | Primary conversion | Secondary conversions | Ads decision metric |
|---|---|---|---|
| videocompressor | `compression_success` + `download_click` | `file_select`, `preset_select`, `start_compression`, `target_missed`, `unsupported_file` | cost per successful download；search term quality；no-upload trust CTR |
| finalgradecalculator | `calculate_click` / `weighted_calculate` | `result_view`, `related_tool_click`, `copy_result`, `share_result` | cost per calculation；CTR uplift on exact terms；organic vs paid query overlap |
| aicodingpricing | `pricing_click` / `pricing_cta_click` | `calculator_usage`, `tool_start`, `recommendation_shown`, `newsletter_submit`, `outbound_click` | cost per pricing intent；newsletter/D1 consistency；provider-specific terms quality |
| aieditorrsp | `generate_success` and paid checkout later | `upload_image`, `prompt_copy`, `use_in_editor`, `pricing_click`, `checkout_start` | not eligible until product + data gate passes |
| pfpmaker | `download_success` | `upload_success`, `preset_select`, `tool_start`, `template_apply` | not eligible until QA/compliance gate passes |
| getaiemail | `tool_result` / `copy_draft` / `checkout_start` | `tool_start`, `scenario_nav_click`, `pricing_cta_click`, `login_click` | not eligible until GA4/Clarity/Plausible gate passes |

### GA4 / Clarity / Plausible / D1 / Stripe口径

- GA4：paid test 前必须至少能查到 page_view + primary conversion。对工具站，工具事件要同步到 GA4，不能只留在前端 CustomEvent。
- Clarity：用于行为诊断，不用于归因主口径；dashboard 不可查时不得下强交互结论。
- Plausible：用于 source/referrer 与轻量 goals；API 401 的站点不得做 paid scale。
- D1：只作为业务事实源，必须带 `utm_source/utm_medium/utm_campaign/utm_term/referrer/landing_path` 字段或等价 ledger。
- Stripe/checkout：有付费路径的站点只把 `paid_order` / `subscription_active` 作为收入转化，不把 unpaid order 当成功。
- Signup：只算 verified user/signup success；login_click 只算 secondary intent。

### Pre-launch tracking acceptance

每个 paid campaign 上线前必须有：

1. 用带 UTM 的 landing URL 打开页面。
2. 触发 primary conversion。
3. GA4 Realtime / DebugView 或 API 可见事件。
4. Plausible/自托管 stats 或 D1 能看到同一 UTM 维度。
5. Clarity 能看到 session 或明确 waiver。
6. Ads conversion action 设置为 primary/secondary，但不影响自然数据口径。

## 4. Channel boundaries

### Google Ads

适合：
- 高明确意图工具词：`compress video online`、`mp4 compressor`、`final grade calculator`。
- exact/phrase 小预算验证。

禁止/暂不做：
- PMax：当前 portfolio 转化量不足，容易黑盒烧钱。
- Display：工具站冷启动阶段垃圾点击概率高。
- Broad match：没有 conversion history 前不放。
- 品牌/商标误导：不投 “official Discord/Instagram/Claude/Cursor” 等误导词。

### Microsoft Ads

适合：
- 复制 Google Search 的 exact/phrase 低预算版本。
- finalgradecalculator、videocompressor 这类 broad utility 词。

边界：
- 单日预算更小，先 $5–$10/day。
- 只看 search terms，不跑 audience network。

### Reddit Ads

适合：
- aicodingpricing 后续针对 r/ClaudeAI、r/ChatGPTCoding、r/cursor、r/webdev 等 problem-aware 人群做 promoted post。
- 前提：结果页已改成购买建议卡，且合规使用各产品 plain text references，无官方/合作暗示。

暂不适合：
- videocompressor/finalgradecalculator 这类低商业、强搜索型工具，Reddit paid 多半浪费。
- aieditorrsp/pfpmaker/getaiemail 未过 gate 前不投。

### Meta

适合：
- PFP Maker / AI Editor RSP 这种视觉创意型产品，在产品/合规/转化路径成熟后做 creative testing。

暂不做：
- 当前没有稳定付费闭环和像素/事件合同，不投。
- 不使用用户上传图像做广告素材，不碰肖像/IP/平台 logo。

### Quora / TikTok

- Quora：getaiemail/aicodingpricing 可作为后续低频 intent test，但先自然问答/内容验证，不急 paid。
- TikTok：AI Editor/PFP 视觉素材成熟后再评估；当前不投。

## 5. First tests recommendation

### #1 TEST：videocompressor.online

- Verdict：TEST
- Channel：Google Search first；Microsoft Search second。
- Budget：$20/day × 5 days = $100 cap。
- Stop-loss：
  - $50 花完仍无 `file_select` 或 `start_compression`，停。
  - $100 花完无 `compression_success/download_click`，停。
  - Search terms 出现大量 “free movie compressor software crack / app download / youtube downloader”等偏离词，停并加否词。
- Scale condition：
  - paid clicks 中 `file_select` CVR ≥ 20%。
  - `compression_success` 或 `download_click` CPA ≤ $2.50。
  - Search terms 70%+ 为 compress/mp4/reduce file size/discord/whatsapp/email/instagram 目标意图。

First campaign skeleton：

```text
Campaign: VC_US_Search_TargetSize_MP4_20260604
Network: Google Search only
Geo: US first；可加 CA/UK/AU 但预算不扩
Language: English
Device: Desktop priority；mobile bid -50% 或观察，因为 QA 指出 desktop browser best
Bidding: Maximize clicks with CPC cap $2.00 或 manual CPC；不要 tCPA
Daily budget: $20
Landing pages:
- / for generic video compressor
- /mp4-compressor/ for MP4 compressor terms
- /compress-video-for-discord/ for Discord 10MB terms
- /compress-video-for-whatsapp/ for WhatsApp terms
- /compress-video-for-instagram/ for Instagram prep terms
```

Ad groups / keywords：

```text
Ad group: mp4_compressor
[mp4 compressor]
"mp4 compressor online"
"compress mp4 file"
"reduce mp4 file size"

Ad group: video_compressor_online
[video compressor online]
"compress video online"
"reduce video file size online"
"online video compressor no upload"

Ad group: discord_video_compressor
[discord video compressor]
"compress video for discord"
"discord 10mb video compressor"
"compress mp4 to 10mb"

Ad group: whatsapp_email_instagram
"compress video for whatsapp"
"compress video for email"
"compress video for instagram"
"compress mp4 to 16mb"
"compress mp4 to 25mb"
```

Negatives：

```text
free download software
app
apk
crack
pirated
youtube downloader
tiktok downloader
movie
codec pack
handbrake download
vlc
ffmpeg command
job
salary
course
logo
official discord
official whatsapp
```

RSA headlines：

```text
Compress MP4 in Your Browser
Online Video Compressor
Reduce MP4 File Size
Compress for Discord 10MB
Compress for WhatsApp 16MB
No Upload by Default
Private Browser Compression
Target MB Video Compressor
MP4 Compressor Online
Download Compressed MP4
Compress Short Videos Fast
```

Descriptions：

```text
Reduce MP4 file size with target presets for Discord, WhatsApp, Email, and Instagram. Browser-local by default.
Choose a video, set a target MB, compress in supported desktop browsers, then download your MP4.
No upload by default in the standard workflow. Honest target-missed guidance when a file cannot hit the limit.
Private online video compression for short MP4 sharing workflows. Best on desktop Chrome or Edge.
```

Extensions：
- Sitelinks：MP4 Compressor；Discord 10MB；WhatsApp 16MB；No-upload Privacy。
- Callouts：Browser-local；No upload by default；Target presets；MP4-first。
- Structured snippets：Presets: Discord, WhatsApp, Email, Instagram, Custom MB。

Risk：
- “No upload” 必须写 “by default / in supported browsers”，避免绝对承诺。
- `support@` MX 未验证，先作为 P1 launch checklist，不影响 Search test 但影响信任。
- Plausible dashboard 真实回收未验证，paid 前必须补一次真人事件或 API 证据。

### #2 TEST：finalgradecalculator.app

- Verdict：TEST
- Channel：Google Search / Microsoft Search。
- Budget：$10/day × 5 days = $50 cap。
- Stop-loss：
  - $25 花完无 `calculate_click/weighted_calculate`，停。
  - Search terms 低质（college admissions、final grade appeal、teacher gradebook software、calculator app download）> 30%，停并加否词。
- Scale condition：
  - `calculate_click` CPA ≤ $0.50。
  - Paid CTR ≥ 5%。
  - Paid search terms 与 GSC top queries 高重合，且没有挤压高价值自然点击。

First campaign skeleton：

```text
Campaign: FGC_US_Search_FinalExam_20260604
Network: Search only
Geo: US
Language: English
Device: all；mobile observe
Bidding: manual CPC / max clicks cap $0.80
Daily budget: $10
Landing pages:
- / for final grade calculator
- related weighted page if exact weighted terms are active
```

Ad groups / keywords：

```text
Ad group: final_grade_calculator
[final grade calculator]
"final grade calculator"
"grade calculator final"
"finals calculator"

Ad group: final_exam_score
"what grade do i need on my final"
"final exam calculator"
"grade needed on final"
"calculate final grade"

Ad group: weighted_grade_adjacent
"weighted grade calculator"
"grade calculator weighted"
```

Negatives：

```text
teacher
gradebook software
canvas
blackboard
powerschool
college admissions
gpa calculator app
salary
job
excel template
pdf
answer key
cheat
```

RSA headlines：

```text
Final Grade Calculator
What Grade Do You Need?
Calculate Final Exam Score
Exact Score in Seconds
Final Exam Grade Calculator
Weighted Grade Mode Available
Plan Your Target Grade
Free Final Grade Calculator
No Sign Up Needed
```

Descriptions：

```text
Enter your current grade, final exam weight, and target grade to see the score you need on your final.
Use the quick final exam calculator or switch to weighted grade mode for homework, quizzes, and projects.
Free browser calculator for students planning finals. Results keep precision before rounding.
```

Risk：
- 免费学生工具，商业回收弱；只能作为 CTR/intent/SEO query experiment。
- Bing Webmaster 和 Plausible/Clarity backend 不完整；不 scale。
- 季节性强，预算要按考试季节调整。

### #3 TEST_LIGHT：aicodingpricing.com

- Verdict：TEST_LIGHT / organic_first
- Channel：Google Search exact/phrase；后续 Reddit paid only after result-page improvements。
- Budget：$15/day × 5 days = $75 cap。
- Stop-loss：
  - $75 花完无 `pricing_click/pricing_cta_click`，停。
  - CPC > $6 且没有 high-intent query，停。
  - Search terms 偏向通用 “coding price / koding pricing / software pricing” 而非 AI coding tools，停。
- Scale condition：
  - `pricing_click` CPA ≤ $8。
  - Search terms 明确包含 AI coding tool pricing / Claude Code pricing / Cursor pricing / Codex pricing / Copilot pricing comparison。
  - newsletter_submit 与 D1/CRM 口径修复后再扩。

First campaign skeleton：

```text
Campaign: AICP_US_Search_AI_Coding_Cost_20260604
Network: Search only
Geo: US + CA/UK optional after first 48h
Language: English
Bidding: manual CPC cap $4 initially
Daily budget: $15
Landing pages:
- / for AI coding pricing calculator
- /claude-code-pricing for Claude Code terms if policy-safe and no official claim
- /codex-pricing for Codex terms if policy-safe and no official claim
- comparison pages only if claims/source dates are current
```

Ad groups / keywords：

```text
Ad group: ai_coding_pricing
[ai coding pricing]
"ai coding tool pricing"
"ai coding cost calculator"
"compare ai coding tools cost"

Ad group: claude_code_cost
"claude code pricing"
"claude code cost"
"claude code pro price"

Ad group: cursor_codex_copilot_cost
"cursor pricing"
"codex pricing"
"github copilot pricing"
"copilot vs cursor pricing"
```

Negatives：

```text
official
login
download
coupon
promo code
crack
free account
api key free
salary
bootcamp
course
stock price
medical coding
billing coding
```

RSA headlines：

```text
Compare AI Coding Costs
AI Coding Pricing Calculator
Claude Code vs Cursor Cost
Codex and Copilot Pricing
Estimate Monthly AI Tool Cost
Compare Before You Upgrade
AI Coding Plan Cost Guide
Check Limit Risk First
Source-Linked Pricing Notes
```

Descriptions：

```text
Estimate monthly costs for Claude Code, Codex, Cursor, and Copilot with source-linked pricing assumptions.
Compare subscriptions, API tradeoffs, team seats, and limit risk before choosing an AI coding tool.
Not an official quote. Pricing can change by region, plan, limits, and provider policy.
```

Risk：
- Provider names are allowed as descriptive references only；不要写 official/partner/authorized。
- CPC 可能高，商业转化路径仍弱；先修结果页购买建议卡。
- Clarity backend 不可查，真实行为卡点不能强判。

## 6. Sites not approved for paid test

### aieditorrsp.net

- Verdict：NO_GO_NOW
- Reason：Preview/provider-pending；AI generation、checkout、subscriptions、credit purchases、GA/ads cookies、自助 consent 均未启用或未可验。GA4/GSC/Bing/Ahrefs/Plausible/Clarity 后台链路断裂。
- Next inputs：
  1. GA4 production runtime + property + events。
  2. GSC verified + sitemap submitted。
  3. Bing property + sitemap。
  4. Ahrefs Site Audit project。
  5. Clarity dashboard 可查。
  6. 真实 `generate_success` 与付费/credit 路径上线。

### pfpmaker.online

- Verdict：NO_GO_NOW
- Reason：QA_NO_GO；Privacy/Terms compliance blocker；Accessibility 83；LCP 3266ms；无外部 analytics dashboard。
- Next inputs：
  1. Compliance_NO_GO 解除。
  2. Accessibility ≥ 90，LCP < 2.5s 或 Owner 接受 waiver。
  3. GA4/Plausible/Clarity 至少一种后台可查。
  4. Re-QA 出具 QA_GO / QA_CONDITIONAL_GO。

### getaiemail.com

- Verdict：NO_GO_NOW / organic_first
- Reason：GA4/Clarity missing，Plausible backend 401，GSC indexed=0 且无 rows，Ahrefs crawl cap=1，外链 proof 缺。
- Next inputs：
  1. GA4 + Clarity 接入生产。
  2. Plausible API 权限修复。
  3. Ahrefs crawl cap >= 13 并重跑。
  4. 小规模自然分发 proof + UTM ledger。

## 7. Owner Approval Card template

```markdown
# Owner Approval Card｜Paid Ads Test

Site:
URL:
Date:
Requested by: motou

## Action requiring approval
- Channel/account:
- Campaign(s):
- Networks enabled:
- Geo/language/device:
- Bid strategy:
- Daily budget:
- Total spend cap:
- Test duration:

## What will NOT be done
- No campaign launch before approval.
- No payment/card/billing operation by agent.
- No PMax/Display/broad match unless separately approved.
- No trademark/official/partner claims.

## Tracking acceptance before launch
- Landing URL with UTM:
- Primary conversion action:
- Secondary conversion actions:
- GA4/Plausible/D1 verification evidence:
- Clarity/session evidence or waiver:

## Stop-loss
- Spend cap:
- Event failure condition:
- Search-term waste condition:
- Policy/tracking failure condition:

## Scale condition
- CPA / event target:
- Search-term quality:
- Conversion quality:
- Required moxi review:

## Owner approval needed
Please confirm: APPROVE / REJECT / MODIFY.
Spend cap: $___ total.
Account/channel: ___
```

## 8. Operating cadence

### Preflight checklist before every paid test

- Site HTTP 200 and production domain stable。
- Privacy/Terms/Contact present；support email/MX verified or Owner accepted waiver。
- Paid claims match product reality。
- No “official / endorsed / guaranteed / unlimited / no quality loss” unless verified。
- GA4/Plausible/D1 primary event can be triggered and queried。
- Clarity available or explicit waiver。
- UTM URL tested。
- Campaign has exact/phrase keywords and negatives。
- Owner Approval Card approved。

### Monitoring log fields

每次上线后，墨投只记录原始广告数据，归因结论交给墨析。

```text
date
site
channel
campaign
ad_group
spend
clicks
impressions
ctr
avg_cpc
conversions_primary
conversions_secondary
cpa_primary
search_terms_added
negative_keywords_added
utm_campaign
landing_page
notes
```

### Kill / Iterate / Scale handoff to moxi

- Kill candidate：花完 test cap 仍无 primary conversion；或 search terms 质量低；或 tracking 不可信。
- Iterate candidate：有工具事件但无下游 intent；需要 landing copy / CTA / tracking 修。
- Scale candidate：primary CPA 达标 + search terms 高质量 + tracking 三源一致（Ads + GA4/Plausible + D1/业务源）。

## 9. Collaboration boundaries

- 墨运（moyun）：自然分发、目录/社区/外链、UTM ledger、Bing/GSC/站长工具可见性；不负责 paid campaign 结构。
- 墨投（motou）：paid acquisition strategy、campaign structure、keywords/audiences、creative pack、tracking contract、budget/stop-loss、owner approval card；不发布未批准广告。
- 墨析（moxi）：数据归因、渠道复盘、Kill/Iterate/Scale 判断、事件一致性校验；墨投不替墨析下长期归因结论。
- 墨界/墨枢：落地页、埋点、D1/Stripe/signup/GA4 技术实现。
- 墨盾：policy/legal/cookie/privacy/terms 风险。
- 孟健：广告账户、预算、支付/账单、真实 launch approval。

## 10. Immediate next inputs

1. Owner 确认是否允许第一批只开 Search 小测：videocompressor $100、finalgradecalculator $50、aicodingpricing $75。
2. 墨析补：videocompressor Plausible dashboard/真实事件回收；finalgradecalculator Plausible/Clarity/GA4 tool events；aicodingpricing Clarity backend。
3. 墨运补：videocompressor support@ MX/email routing；finalgradecalculator Bing Webmaster。
4. 墨界/墨枢补：所有 paid candidate 的 primary conversion 可在 GA4/Plausible/D1 至少两源查到。
5. Owner approval 前，不上线任何广告。

## 11. Completion metadata draft

```json
{
  "ads_verdict": "TEST: portfolio small-budget only; no live launch without owner approval",
  "ready_sites": ["videocompressor.online", "finalgradecalculator.app"],
  "blocked_sites": ["aieditorrsp.net", "pfpmaker.online", "getaiemail.com"],
  "recommended_first_tests": [
    {"site": "videocompressor.online", "channel": "Google Search/Microsoft Search", "budget": "$20/day x 5 days = $100", "primary_conversion": "compression_success/download_click"},
    {"site": "finalgradecalculator.app", "channel": "Google Search/Microsoft Search", "budget": "$10/day x 5 days = $50", "primary_conversion": "calculate_click/weighted_calculate"},
    {"site": "aicodingpricing.com", "channel": "Google Search exact/phrase", "budget": "$15/day x 5 days = $75", "primary_conversion": "pricing_click/pricing_cta_click"}
  ],
  "tracking_contract": "UTM: utm_source, utm_medium=cpc, utm_campaign=<site>__<channel>__<intent>__<geo>__<date>, utm_content=<type>__<adgroup>__<variant>, utm_term={keyword}; primary/secondary conversions per site; GA4/Plausible/D1/Clarity acceptance before launch.",
  "owner_approval_required": true,
  "artifact_paths": ["/root/.hermes/reports/site-ads-growth-20260604/ads-operating-system-v0.md"],
  "residual_risk": ["CPC estimates require Keyword Planner validation", "Tracking gaps remain on all candidates", "No paid campaign has owner approval", "Tool sites may generate utility usage without monetizable conversion"],
  "next_inputs": ["Owner approval card", "Tracking verification evidence", "Keyword Planner CPC/ad density validation", "Moxi attribution review after any test"]
}
```
