ClawSkills logoClawSkills

Ad Context Protocol (AdCP) Advertising

使用 AI 自动化广告活动。创建广告、购买媒体、管理广告预算、发现广告库存、运行展示广告、视频广告、CTV 活动并优化

介绍

# Ad Context Protocol (AdCP) Advertising Skill

## 概述

**利用 AI 自动化您的广告活动。** 该技能使 OpenClaw 智能体能够发现广告库存、发起活动、管理创意素材,并优化展示、视频、CTV(联网电视)、音频等多种渠道的表现——所有这一切均通过自然语言指令完成。

无需仪表板。无需表单。无需广告平台专业知识。

### 您可以做什么

- 🎯 **在几分钟内发起活动** - “创建一个 1 万美元的展示广告活动,针对加利福尼亚州的技术专业人士” - 🔍 **即时发现广告库存** - “为奢侈品牌寻找优质视频广告位” - 🎨 **轻松上传广告** - “将这些横幅图片作为创意素材上传” - 📊 **实时追踪 ROI** - “按创意素材展示活动表现和 CTR” - 🎛️ **自动优化支出** - “将预算重新分配给表现最好的广告包” - 🌐 **精准定向** - 人群统计、行为、兴趣、位置、设备、时间

### 适用对象

**营销团队**:正在投放 Facebook 广告、Google 广告和多渠道活动 **媒介采买**:在各大发布商之间管理程序化广告支出 **代理商**:自动化客户活动管理和报告 **电商品牌**:发起产品广告和重定向活动 **初创公司**:利用 AI 自动化运行精益营销

### 为何选择此技能?

**跳过学习曲线** - 无需掌握复杂的广告平台 **节省时间** - 5 分钟即可发起,无需数小时的手动设置 **明智消费** - AI 自动将预算优化至最佳表现者 **快速扩展** - 通过简单指令管理无限数量的活动 **零风险测试** - 包含公共测试智能体,无需设置

**AdCP 官方仓库**: https://github.com/adcontextprotocol/adcp **AdCP 官方文档**: https://docs.adcontextprotocol.org **完整文档索引**: https://docs.adcontextprotocol.org/llms.txt

## 何时使用此技能

当用户询问以下内容时触发此技能:

**活动管理** - “创建一个展示广告活动” - “为我的产品投放 Facebook 广告” - “设置一个 5000 美元的视频广告活动” - “暂停我表现不佳的活动”

**广告发现与媒介采买** - “寻找奢侈品牌的广告库存” - “向我展示大城市的 CTV 广告位” - “有哪些展示广告选项可用?” - “为一家科技初创公司购买媒体资源”

**创意素材管理** - “上传这些横幅图片” - “哪个创意素材表现最好?” - “向我的活动中添加视频广告” - “管理我的广告素材库”

**表现与优化** - “我的活动表现如何?” - “按渠道展示 ROI” - “优化我的广告支出” - “将预算重新分配给表现最好的部分” - “追踪展示量和点击率”

**定向与受众** - “定向加利福尼亚州的专业人士” - “设置人群统计定向” - “创建一个重定向活动” - “按设备类型和一天中的时间定向”

## 快速开始

### 发起您的首个活动(5 分钟)

**无需设置。** 使用附带的测试智能体尝试所有功能:

**步骤 1:发现可用内容** ``` "Show me advertising capabilities" ``` 浏览可用的渠道、发布商和格式。

**步骤 2:查找广告库存** ``` "Find display ads for a tech startup, budget $5000" ``` AI 搜索并显示匹配的产品及其价格。

**步骤 3:发起活动** ``` "Create campaign with Product prod_123, $5000 budget, targeting California tech professionals" ``` 活动立即上线。

**步骤 4:上传您的广告** ``` "Upload these banner images as creatives" ``` 拖放文件,即时获取创意 ID。

**步骤 5:监控表现** ``` "Show campaign metrics and ROI" ``` 实时展示量、点击、CTR、支出。

### 真实使用案例

**快速发起活动:** ``` User: "I need to run display ads for my SaaS product" Agent: [Discovers products] "Found 5 display packages. Want details?" User: "Create campaign with Product 1, $10k budget, target CTOs" Agent: [Creates campaign] "Campaign live! ID: mb_abc123" ```

**表现优化:** ``` User: "How are my video ads performing?" Agent: [Shows metrics] "Package A: 2.3% CTR, Package B: 0.8% CTR" User: "Move $5k from B to A" Agent: [Reallocates] "Budget updated. Package A now $15k" ```

**多渠道活动:** ``` User: "Launch omnichannel campaign: display in CA, video in NYC, $50k total" Agent: [Creates packages] "3 packages created across display and video" ```

## 工作原理

### 自然语言理解

自然交流。该技能能理解: - **预算**:“5000 美元”、“五千美元”、“5k 预算” - **位置**:“加利福尼亚州”、“美国主要城市”、“纽约和洛杉矶” - **受众**:“技术专业人士”、“25-45 岁”、“高收入” - **目标**:“品牌知名度”、“推动转化”、“增加销量”

### 渐进式工作流

**1. 发现阶段** ``` "Find video advertising for luxury brands" ``` ↓ 智能体搜索库存 ↓ 显示匹配的产品和价格 ↓ 解释定向和格式

**2. 活动创建** ``` "Create campaign with Product 1, $25k, target professionals" ``` ↓ 智能体创建媒体采买 ↓ 设置定向覆盖层 ↓ 返回活动 ID 和状态

**3. 创意素材管理** ``` "Upload my banner ads" ``` ↓ 智能体同步创意素材 ↓ 分配至活动 ↓ 返回创意 ID

**4. 监控与优化** ``` "Show performance" ``` ↓ 智能体获取投放数据 ↓ 按广告包/创意显示指标 ↓ 提出优化建议

## 核心操作

### 创建活动

```javascript const campaign = await testAgent.createMediaBuy({ buyer_ref: 'campaign-2026-q1', brand_manifest: { url: 'https://acme.com' }, packages: [{ product_id: 'premium_display', budget: 10000 }] }); ```

### 上传创意素材

```javascript await testAgent.syncCreatives({ creatives: [{ buyer_ref: 'banner-300x250', url: 'https://cdn.acme.com/banner.jpg' }] }); ```

### 监控表现

```javascript const delivery = await testAgent.getMediaBuyDelivery({ media_buy_id: 'mb_abc123' }); console.log(`CTR: ${delivery.totals.ctr}%, Spend: ${delivery.totals.spend}`); ```

请参阅 [REFERENCE.md](REFERENCE.md) 获取完整的 API 文档,参阅 [EXAMPLES.md](EXAMPLES.md) 获取详细的工作流。

## 核心概念

### 8 个媒体采买任务

AdCP 为完整的广告生命周期提供了 8 个标准化任务。详情请参阅 [媒体采买协议文档](https://docs.adcontextprotocol.org/docs/media-buy/)。

1. **get_adcp_capabilities** - 发现智能体功能和产品组合(约 1 秒) 2. **get_products** - 使用自然语言查找库存(约 60 秒) 3. **list_creative_formats** - 查看创意素材规格(约 1 秒) 4. **create_media_buy** - 发起活动(几分钟到几天,可能需要审批) 5. **update_media_buy** - 修改活动(几分钟到几天) 6. **sync_creatives** - 上传创意素材(几分钟到几天) 7. **list_creatives** - 查询创意素材库(约 1 秒) 8. **get_media_buy_delivery** - 追踪表现(约 60 秒)

**完整任务参考**: https://docs.adcontextprotocol.org/docs/media-buy/task-reference/

### 品牌清单

可以通过两种方式提供品牌背景:

**URL 引用**(推荐 - 智能体获取品牌信息): ```json { "brand_manifest": { "url": "https://brand.com" } } ```

**内联清单**(完整的品牌详细信息): ```json { "brand_manifest": { "name": "Brand Name", "url": "https://brand.com", "tagline": "Brand tagline", "colors": { "primary": "#FF0000" }, "logo": { "url": "https://cdn.brand.com/logo.png" } } } ```

### 定价模型

产品支持各种定价模型: - **CPM**(千次展示成本)- 每 1000 次展示的固定价格 - **CPM-Auction**(CPM 拍卖)- 基于竞价的展示定价 - **CPCV**(按完成观看付费)- 视频完成数 - **Flat-Fee**(一口价)- 固定活动成本 - **CPP**(收视点成本)- 达到的受众百分比

对于竞价定价,请在您的广告包中包含 `bid_price`。

### 异步操作

AdCP **不是实时协议**。操作可能需要: - **约 1 秒** - 简单查询(格式、创意素材列表) - **约 60 秒** - AI/推理操作(产品发现) - **几分钟到几天** - 需要人工审批的操作(活动创建)

请始终检查响应中的 `status` 字段: - `completed` - 操作成功完成 - `pending` - 等待审批或处理中 - `failed` - 操作失败(检查错误详情)

### 定向能力

对活动应用定向覆盖层: ```javascript { targeting_overlay: { geo: { included: ['US-CA', 'US-NY'], // DMA codes or regions excluded: ['US-TX'] }, demographics: { age_ranges: [{ min: 25, max: 44 }], genders: ['M', 'F'] }, behavioral: { interests: ['technology', 'gaming'], purchase_intent: ['consumer_electronics'] }, contextual: { keywords: ['innovation', 'design'], categories: ['IAB19'] // Technology & Computing } } } ```

## 常见工作流

### 工作流 1:从活动发现到发起

```javascript // 1. Discover capabilities const caps = await agent.getAdcpCapabilities({});

// 2. Find products const products = await agent.getProducts({ brief: 'Q1 2026 brand awareness campaign for tech startup', brand_manifest: { url: 'https://startup.com' }, filters: { channels: ['display', 'video'] } });

// 3. Check creative formats const formats = await agent.listCreativeFormats({ format_types: ['display', 'video'] });

// 4. Create campaign const campaign = await agent.createMediaBuy({ buyer_ref: 'q1-2026-awareness', brand_manifest: { url: 'https://startup.com' }, packages: [ { buyer_ref: 'pkg-001', product_id: products.products[0].product_id, pricing_option_id: 'cpm-standard', budget: 15000 } ], start_time: { type: 'asap' }, end_time: '2026-03-31T23:59:59Z' });

// 5. Upload creatives await agent.syncCreatives({ creatives: [...], // Your creative assets assignments: { 'creative_001': ['pkg-001'] } });

// 6. Monitor performance const delivery = await agent.getMediaBuyDelivery({ media_buy_id: campaign.media_buy_id }); ```

### 工作流 2:更新运行中的活动

```javascript // Pause, adjust budget, and resume campaign await agent.updateMediaBuy({ media_buy_id: 'mb_abc123', updates: { status: 'paused', budget_change: 5000, // Add $5000 end_time: '2026-04-30T23:59:59Z' } });

// Resume after adjustments await agent.updateMediaBuy({ media_buy_id: 'mb_abc123', updates: { status: 'active' } }); ```

**更多工作流示例**:请参阅 [EXAMPLES.md](EXAMPLES.md) 获取完整的活动场景,包括创意素材管理、多渠道活动和优化工作流。

## 测试智能体

用于开发和测试,请使用公共测试智能体:

**智能体 URL**: `https://test-agent.adcontextprotocol.org/mcp` **认证令牌**: `1v8tAhASaUYYp4odoQ1PnMpdqNaMiTrCRqYo9OJp6IQ`

```javascript import { testAgent } from '@adcp/client/testing';

// No authentication needed for test agent const result = await testAgent.getProducts({ brief: 'Test campaign', brand_manifest: { url: 'https://example.com' } }); ```

可在 **[testing.adcontextprotocol.org](https://testing.adcontextprotocol.org)** 进行交互式测试。

## 错误处理

常见错误模式:

**400 Bad Request** - 无效参数: ```json { "error": { "code": "VALIDATION_ERROR", "message": "budget must be greater than 0", "field": "packages[0].budget" } } ```

**401 Unauthorized** - 缺失或无效的认证: ```json { "error": { "code": "UNAUTHORIZED", "message": "Invalid authentication token" } } ```

**404 Not Found** - 无效的 ID 引用: ```json { "error": { "code": "NOT_FOUND", "message": "Product not found", "resource": "product_id: premium_video_30s" } } ```

在处理响应之前始终检查错误: ```javascript if (result.error) { console.error(`Error: ${result.error.message}`); return; } ```

## 最佳实践

### 1. 始终从功能检查开始

首先调用 `get_adcp_capabilities` 以了解智能体支持的功能,然后再发起其他请求。

### 2. 使用清晰的买方引用

使用描述性的 `buyer_ref` 值进行追踪: - 好的做法:`'campaign-2026-q1-tech-launch'` - 避免:`'c1'`、`'test'`、`'abc'`

### 3. 处理异步操作

检查 `status` 字段并为待处理操作实现轮询: ```javascript let status = 'pending'; while (status === 'pending') { await sleep(5000); // Wait 5 seconds const update = await agent.getMediaBuyDelivery({ media_buy_id: campaign.media_buy_id }); status = update.status; } ```

### 4. 撰写详细的需求简报

更好的简报能带来更好的产品匹配: - 好的做法:`'针对在主要都市地区、年龄 35-54 岁的高收入专业人士的奢侈汽车品牌优质视频库存。专注于品牌知名度,要求完成率高于 70%。'` - 避免:`'video ads'`(视频广告)、`'need advertising'`(需要广告)

### 5. 验证创意素材格式

在上传之前,始终检查 `list_creative_formats` 以确保您的创意素材符合要求。

### 6. 监控预算投放进度

定期检查投放指标,以确保活动按计划进行: ```javascript const delivery = await agent.getMediaBuyDelivery({ media_buy_id: campaign.media_buy_id });

const pacing = delivery.delivery.spend / delivery.delivery.budget; console.log(`Budget pacing: ${(pacing * 100).toFixed(1)}%`); ```

## 其他资源

### AdCP 官方文档 - **主要文档**: https://docs.adcontextprotocol.org - **完整索引**: https://docs.adcontextprotocol.org/llms.txt - **媒体采买协议**: https://docs.adcontextprotocol.org/docs/media-buy/ - **快速参考**: https://docs.adcontextprotocol.org/docs/media-buy/quick-reference - **任务参考**: https://docs.adcontextprotocol.org/docs/media-buy/task-reference/ - **快速入门指南**: https://docs.adcontextprotocol.org/docs/quickstart

### 本技能的文档 - [REFERENCE.md](REFERENCE.md) - 完整的 API 参考和架构 - [EXAMPLES.md](EXAMPLES.md) - 真实活动示例 - [PROTOCOLS.md](PROTOCOLS.md) - MCP 与 A2A 协议详情 - [TARGETING.md](TARGETING.md) - 高级定向策略 - [CREATIVE.md](CREATIVE.md) - 创意素材管理指南

## 关键提醒

1. **AdCP 是异步的** - 操作可能需要几分钟到几天的时间 2. **可能需要人工审批** - 检查 `pending` 状态 3. **从能力开始** - 始终首先调用 `get_adcp_capabilities` 4. **品牌上下文很重要** - 提供详细的品牌清单以获得更好的结果 5. **定向是累加的** - 产品定向 + 您的覆盖层 = 最终定向 6. **创意格式是严格的** - 始终对照格式规范进行验证 7. **监控表现** - 定期检查投放情况以确保广告活动成功

## 支持

如需 AdCP 帮助: - 官方仓库:https://github.com/adcontextprotocol/adcp - 文档:https://docs.adcontextprotocol.org - 交互式测试:https://testing.adcontextprotocol.org - 完整 API 文档:https://docs.adcontextprotocol.org/llms.txt

更多产品