---
description: 
---

# WORKFLOW: /ads-creative - Tạo Quảng cáo Đa dạng & Thu hút

Bạn là **Antigravity Creative Director** - chuyên gia tạo quảng cáo đa dạng, thu hút, tối ưu chuyển đổi.

---

## 🎯 MỤC TIÊU

Tạo bộ quảng cáo hoàn chỉnh với:
- Đa dạng góc tiếp cận (Angles)
- Áp dụng chiến thuật Marketing (AIDA, PAS, BAB...)
- Phân nhóm Ad Groups theo mục đích
- Tối thiểu 5 ads × 5 text × 5 images
- (Optional) Video ads using Veo Gen AI

---

## PHASE 1: NGHIÊN CỨU & CHUẨN BỊ

### 1.1 Thu thập thông tin App
```
📱 Cần biết:
1. Store URL hoặc mô tả app
2. Target Audience (ai dùng app?)
3. USP - Điểm khác biệt chính
4. Pain Points app giải quyết
5. Competitors (đối thủ)
```

### 1.2 Xác định Customer ID & Campaign
```
📊 Cần biết:
→ mcp_mcp-google-ads_list_accounts()
→ Campaign ID sẽ chạy ads
→ Ngôn ngữ target
```

---

## PHASE 2: CHIẾN THUẬT MARKETING

### 2.1 Framework AIDA
```
🎪 Attention → Interest → Desire → Action

| Stage | Mục đích | Ví dụ Headline |
|-------|----------|----------------|
| Attention | Gây chú ý | "Bạn đang [problem]?" |
| Interest | Tạo tò mò | "[Feature] giúp bạn..." |
| Desire | Khơi gợi mong muốn | "Hàng triệu người đã..." |
| Action | Kêu gọi hành động | "Tải miễn phí ngay!" |
```

### 2.2 Framework PAS
```
😰 Problem → Agitate → Solution

| Stage | Mục đích | Ví dụ |
|-------|----------|-------|
| Problem | Nêu vấn đề | "Chỉnh ảnh mất hàng giờ?" |
| Agitate | Khuấy động | "Mất thời gian, kết quả không đẹp..." |
| Solution | Giải pháp | "[App] - 1 tap hoàn hảo!" |
```

### 2.3 Framework BAB
```
✨ Before → After → Bridge

| Stage | Mục đích | Ví dụ |
|-------|----------|-------|
| Before | Trước khi dùng | "Ảnh nhạt nhòa, đơn điệu" |
| After | Sau khi dùng | "Ảnh film vintage đẹp lung linh" |
| Bridge | Cầu nối | "[App] - biến ước mơ thành hiện thực" |
```

---

## PHASE 3: PHÂN NHÓM QUẢNG CÁO

### 3.1 Các loại Ad Groups
```
📂 Cấu trúc Ad Groups theo mục đích:

1. 🎣 ACQUISITION (Vét người dùng mới)
   - Target: Broad audience
   - Message: Awareness, Introduction
   - Bidding: Max Conversions

2. 🎯 INTEREST-BASED (Theo sở thích)
   - Target: People interested in [category]
   - Message: Feature-focused
   - Bidding: tCPA balanced

3. 🔥 HIGH-INTENT (Người dùng tiềm năng cao)
   - Target: Similar apps users
   - Message: Competitive advantage
   - Bidding: Aggressive tCPA

4. 🔄 RE-ENGAGEMENT (Tái tiếp cận)
   - Target: Lapsed users
   - Message: What's new, Come back
   - Bidding: Lower CPA

5. 🌍 GEO-SPECIFIC (Theo quốc gia)
   - Target: Top performing countries
   - Message: Localized content
   - Bidding: Country-specific
```

### 3.2 Ma trận Ad Groups
```
📊 Tối thiểu 5 Ad Groups:

| # | Ad Group Name | Angle | Framework |
|---|---------------|-------|-----------|
| 1 | Acquisition - Awareness | Brand/Feature | AIDA |
| 2 | Interest - [Category] | Benefit | BAB |
| 3 | High-Intent - Competitor | Comparison | PAS |
| 4 | Emotional - Lifestyle | Feeling | Emotional |
| 5 | Value - Free/Deal | Urgency | CTA-focused |
```

---

## PHASE 4: TẠO NỘI DUNG TEXT

### 4.1 Headlines Matrix (5+ mỗi group)
```
✍️ Tạo theo framework đã chọn:

Ad Group 1 (AIDA):
| # | Stage | Headline (30 chars max) |
|---|-------|-------------------------|
| 1 | A | [Attention grabber] |
| 2 | I | [Interesting fact] |
| 3 | D | [Desirable outcome] |
| 4 | A | [Call to action] |
| 5 | A | [Urgency CTA] |

Ad Group 2 (BAB):
| # | Stage | Headline |
|---|-------|----------|
| 1 | Before | [Current problem] |
| 2 | After | [Desired state] |
| 3 | Bridge | [App as solution] |
| 4 | Benefit | [Key benefit] |
| 5 | Social | [Social proof] |

(Lặp lại cho các Ad Groups còn lại)
```

### 4.2 Descriptions Matrix (5+ mỗi group)
```
📝 Descriptions (90 chars max):

| # | Type | Description |
|---|------|-------------|
| 1 | Overview | [What + Why + CTA] |
| 2 | Features | [Top 3 features] |
| 3 | Benefits | [User outcome] |
| 4 | Social Proof | [Reviews/Rating/Downloads] |
| 5 | Urgency | [Why download now] |
```

### 4.3 Emotional Triggers
```
💡 Áp dụng các trigger tâm lý:

| Trigger | Ví dụ | Dùng cho |
|---------|-------|----------|
| FOMO | "Triệu người đang dùng" | Acquisition |
| Curiosity | "Bí mật của..." | Interest |
| Trust | "⭐ 4.8 trên Store" | High-Intent |
| Urgency | "Miễn phí hôm nay" | Value |
| Belonging | "Cộng đồng X" | Social apps |
| Achievement | "Trở thành pro" | Game/Utility |
```

---

## PHASE 5: TẠO HÌNH ẢNH

### 5.1 Image Concepts Matrix & Naming
**QUAN TRỌNG:** Phải tuân thủ naming convention: `images/{ag_id}_{concept}_{size}.png`

| # | Concept | Filename Pattern | Sizes | Aspect Ratio |
|---|---------|------------------|-------|--------------|
| 1 | Lifestyle | `{ag_id}_lifestyle_1024.png` | 1024x1024 | 1:1 |
| 2 | Lifestyle | `{ag_id}_lifestyle_1200x628.png` | 1200x628 | 1.91:1 |
| 3 | UI | `{ag_id}_ui_1024.png` | 1024x1024 | 1:1 |
| 4 | Emotional | `{ag_id}_emotional_1080x1350.png` | 1080x1350 | 4:5 |
| 5 | Feature | `{ag_id}_feature_1200x628.png` | 1200x628 | 1.91:1 |

### 5.2 Prompt Templates & Specs
Sử dụng `IMAGE_GENERATION_GUIDE.md` để lấy prompt chi tiết cho từng concept:
- **Lifestyle:** Hero shot & User context.
- **UI:** Main feature showcase.
- **Emotional:** Vibe & Outcome.
- **Feature:** Technical highlight.

---

## PHASE 6: TẠO VIDEO (Optional - Veo Gen AI)

### 6.1 Video Concepts Matrix & Naming
**Naming Rule:** `videos/{ag_id}_{concept}.mp4`

| # | Concept | Filename Pattern | Duration |
|---|---------|------------------|----------|
| 1 | Feature Demo | `{ag_id}_feature_demo.mp4` | 6s |
| 2 | Mood/Vibe | `{ag_id}_mood_vibe.mp4` | 6s |

### 6.2 Generation Process (Veo Gen AI 3.1)
**Công nghệ:** Google Veo 3.1 (Text-to-Video hoặc Image-to-Video).
**Yêu cầu:** `GEMINI_API_KEY` trong `.env`.

**Workflow:** Image-to-Video (Khuyến khích) để đảm bảo brand consistency.

1.  **Chọn Source Image:** Lấy ảnh tốt nhất từ Phase 5 (tỷ lệ 1:1 hoặc 1.91:1).
    *   *Tip:* Resize ảnh về 1024x1024 để tối ưu performance (Tool tự động làm).
    
2.  **Viết Prompt:** Mô tả chuyển động (Camera movement, Subject action, Lighting changes).

3.  **Execute (Sử dụng `VideoAdEngine`):**
    
```python
from video_ad_engine import VideoAdEngine

engine = VideoAdEngine()

# 1. Tạo Video Gốc
video_path = engine.generate_video(
    prompt="Cinematic slow pan, dust particles floating, soft lighting animation",
    image_path="ads_plan_xxx/images/ag_1_lifestyle_1024.png",
    output_path="ads_plan_xxx/videos/ag_1_lifestyle.mp4"
)

# 2. Tạo Variations (Auto-Crop) - Tự động tạo 9:16, 1:1, 4:5
variations = engine.create_variations(video_path)
```

4.  **Kết quả:**
    Bạn sẽ có bộ video ready-to-run:
    - `ag_1_lifestyle.mp4` (16:9 gốc)
    - `ag_1_lifestyle_9x16.mp4` (TikTok/Reels)
    - `ag_1_lifestyle_1x1.mp4` (Square Feed)
    - `ag_1_lifestyle_4x5.mp4` (Portrait Feed)

---

## PHASE 7: KIỂM TRA & TRIỂN KHAI

### 7.1 Bước Validate Bắt Buộc
Sau khi generate xong assets (Images + Videos), AI **PHẢI** chạy lệnh validate:
```bash
node bin/cli.js validate ads_plan_xxx
```
Lệnh này sẽ:
- ✅ Kiểm tra ảnh/video thiếu/thừa.
- ✅ Tự động chuyển status `pending` → `ready`.

### 7.2 Preview & Approval
1. Chạy `node bin/cli.js preview ads_plan_xxx` để cập nhật data.
2. Hướng dẫn User mở `preview.html`.
3. User click "Save Approval" để tạo `approved.json`.

### 7.3 Upload
```bash
# Dry run trước
node bin/cli.js upload ads_plan_xxx --dry-run

# Upload thực tế sau khi confirm
node bin/cli.js upload ads_plan_xxx
```

---

## 📊 OUTPUT SUMMARY

```markdown
## Ads Creative Report - [App Name]

### 📂 Folder: `ads_plan_xxx/`

### 📈 Cấu hình:
- **Customer ID:** [ID]
- **Language:** [Lang]
- **Ad Groups:** 5 (AIDA, BAB, PAS, Emotional, CTA)

### 🎨 Assets Created:
- ✅ **Text:** 25 Headlines, 25 Descriptions (Fill xong placeholders)
- ✅ **Images:** 25 ảnh (Tuân thủ naming convention)
- ✅ **Validation:** Passed (Status: READY)

### Campaign & Group
Đặt tên ad theo format: Country - Angle - Concept (VD: JP - AIDA - Retro Film Grain).

### 🎯 Next Steps:
1. Mở `preview.html` để review.
2. Click "Save Approval" để chọn Ads muốn chạy.
3. Chạy lệnh upload để đưa lên Google Ads.
```

---

## 🛠 MCP TOOLS & GUIDES

| Task | Tool / Resource |
|------|----------------|
| Generate image | `generate_image(prompt, name)` |
| **Generate video** | `create_video_ad(prompt, image_path)` |
| **Validation** | `node bin/cli.js validate plan_dir` |
| **Naming Specs** | `IMAGE_GENERATION_GUIDE.md` |
| **Workflow Guide**| `AI_INTEGRATION_GUIDE.md` |

---

## 💡 HƯỚNG DẪN THỰC THI (CHO AI)

1. **Init:** Chạy `init` CLI để tạo structure.
2. **Text:** Replace placeholders trong `text_assets.json`.
3. **Images:** Bám sát `IMAGE_GENERATION_GUIDE.md`. Generate đủ 25 ảnh.
4. **Videos (Optional):** Dùng `create_video_ad` với input là ảnh vừa tạo.
5. **Copy:** Move assets vào đúng folder `plan_dir/images/` và `plan_dir/videos/`.
6. **Validate:** Chạy `validate` để đảm bảo integrity.
7. **Preview:** Chạy `preview` và gửi link.

---

## 🚀 EXAMPLE WORKFLOW

```bash
# 1. Khởi tạo
node ads-uploader/bin/cli.js init "Lofi Cam" -c 1047379123

# 2. Tạo ảnh (Ví dụ 1 ảnh)
generate_image("Lofi film camera vibe...", "ag_1_lifestyle_1024")
mv ag_1_lifestyle_1024.png ads_plan_lofi_cam/images/

# 3. Tạo video từ ảnh (Veo)
create_video_ad({
  prompt: "Slow zoom in, vintage film grain effect",
  image_path: "ads_plan_lofi_cam/images/ag_1_lifestyle_1024.png",
  output_filename: "ag_1_lifestyle.mp4"
})
mv ag_1_lifestyle.mp4 ads_plan_lofi_cam/videos/

# 4. Validate & Sync status
node ads-uploader/bin/cli.js validate ads_plan_lofi_cam_20260128

# 5. Preview cho User
node ads-uploader/bin/cli.js preview ads_plan_lofi_cam_20260128
```
