utm-campaign-governor

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

When to invoke

调用场景

  • You manage marketing campaigns and need consistent UTM tags across teams.
  • You want to validate a batch of URLs against a naming policy and produce corrected URLs.
  • 你管理营销活动,需要跨团队保持UTM标签的一致性。
  • 你希望根据命名策略验证一批URL,并生成修正后的URL。

Inputs needed

所需输入

  • --input
    : CSV with a
    url
    column.
  • Optional:
    --policy
    : JSON policy file (allowed sources/mediums, required params, casing rules).
  • Optional:
    --out
    : Path to write results CSV.
  • --input
    :包含
    url
    列的CSV文件。
  • 可选:
    --policy
    :JSON策略文件(允许的来源/媒介、必填参数、大小写规则)。
  • 可选:
    --out
    :结果CSV文件的写入路径。

Workflow

工作流程

  1. Load URLs.
  2. Parse query parameters.
  3. Validate required UTM params (
    utm_source
    ,
    utm_medium
    ,
    utm_campaign
    ).
  4. Validate allowed values (if provided) and casing rules.
  5. Produce:
    • status
      : ok / fixed / invalid
    • issues
      : semicolon-separated
    • normalized_url
      : URL with normalized UTMs (when possible)
  1. 加载URL。
  2. 解析查询参数。
  3. 验证必填UTM参数(
    utm_source
    utm_medium
    utm_campaign
    )。
  4. 验证允许的值(若提供)和大小写规则。
  5. 生成结果:
    • status
      :正常/已修复/无效
    • issues
      :分号分隔的问题列表
    • normalized_url
      :带有标准化UTM参数的URL(若可行)

Output format

输出格式

CSV with columns:
  • url
  • status
  • issues
  • normalized_url
包含以下列的CSV文件:
  • url
  • status
  • issues
  • normalized_url

Guardrails

约束规则

  • Never change the base URL path or non-UTM query params.
  • Do not guess missing required params; mark as invalid.
  • Keep the skill vendor-neutral (no platform-specific assumptions).
  • 绝不修改基础URL路径或非UTM查询参数。
  • 不要猜测缺失的必填参数;标记为无效。
  • 保持技能的厂商中立性(不做平台特定假设)。

Reference code

参考代码

Use
utm_campaign_governor.py
.
使用
utm_campaign_governor.py