--- name: mm-analytics-orchestrator description: > Pull SEO + Ad performance data for a client, analyze trends, and produce prioritized strategy recommendations. Saves report to vault and presents in chat. Use when: "วิเคราะห์ผล", "analytics report", "ดูสถิติ", "แนะนำกลยุทธ์", "strategy recommendations", "seo report", "ad performance", "content ideas from data", "เขียนอะไรดี", "analytics". --- # mm-analytics-orchestrator Pulls analytics data, analyzes trends, and produces prioritized strategy recommendations for a client. ## When This Must Trigger - "วิเคราะห์ผล", "analytics report", "ดูสถิติ" - "แนะนำกลยุทธ์", "strategy recommendations" - "seo report", "ad performance" - "content ideas from data", "เขียนอะไรดี" - "analytics" ## Process ### Step 1: Determine client If not specified, ask: ``` วิเคราะห์ผลของลูกค้าไหน? 1. moreminimore 2. [other clients...] ``` ### Step 2: Pull data Run analytics scripts from `~/Gitea/moreminimore-service-system/scripts/`: ```bash # GSC data python3 mm_gsc.py --client --days 30 --json # Google Ads data (if available) python3 mm_google_ads.py --client stats --days 30 --json # Meta Ads data (if available) python3 mm_meta_ads.py --client stats --days 30 --json ``` If a script fails (no data, API error), skip that source and note it. ### Step 3: Analyze #### SEO Analysis **a. Quick Wins (Position 4-10)** - Queries on page 1 but below top 3 - High impression, low CTR → title/description optimization - Action: ปรับ meta title/description **b. Content Gaps (Position 11-30)** - Queries with impressions but no dedicated content - Action: เขียนบทความใหม่ **c. CTR Opportunities** - High impressions, low CTR (< expected for position) - Action: ปรับ title/description, add schema **d. Declining Pages** - Pages with >30% traffic decline - Action: Refresh content, update data **e. GEO Opportunities** - Question-format queries, definition queries - Action: Optimize for AI citation #### Ad Analysis (if data available) **a. High CPA Campaigns** - CPA > 2x target - Action: ปรับ targeting, ทดสอบ creative ใหม่ **b. Low QS Keywords** - Quality Score < 5 - Action: ปรับ ad relevance, landing page **c. Budget Optimization** - High spend, low conversion - Action: ย้าย budget **d. Creative Fatigue** - CTR declining over time - Action: Refresh creative #### Cross-Channel **a. SEO + Ad Synergy** - Organic ranking well for paid keyword - Action: ลด paid spend **b. Content → Ad Pipeline** - Article with good traffic → create ad - Action: สร้าง campaign จาก content **c. Ad → Content Pipeline** - Keyword with good ad conversion → write article - Action: เขียนบทความ SEO ### Step 4: Prioritize recommendations Rank by impact × effort: | Priority | Criteria | |----------|----------| | 🔴 Priority 1 | High impact, low effort (quick wins) | | 🟡 Priority 2 | High impact, medium effort (content opportunities) | | 🟢 Priority 3 | Medium impact, optimization (ad tuning) | | 🔵 Priority 4 | Cross-channel opportunities | ### Step 5: Present and ask Present the report in chat (match user's language): ``` 📋 Strategy Report: [Client Name] 📅 Period: [date range] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📊 SEO Performance ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | Metric | Value | Trend | |--------|-------|-------| | Clicks | X | ↑/↓ X% | | Impressions | X | ↑/↓ X% | | CTR | X% | ↑/↓ | | Position | X | ↑/↓ | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🎯 Priority 1: Quick Wins ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1. [Action] Evidence: [data] Expected: [outcome] 2. [Action] ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📝 Priority 2: Content Opportunities ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1. เขียนบทความ: "[topic]" Keyword: [kw], [X] impressions, position [X] Search intent: [type] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📢 Priority 3: Ad Optimization ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ (ถ้ามีข้อมูล ads) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔄 Priority 4: Cross-Channel ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` Then ask: ``` อยากทำตามแนะนำไหม? 1. ✅ ทำทั้งหมด — สร้าง brief / optimize ตามลำดับ 2. 📝 เฉพาะ content — สร้าง brief จาก content gaps 3. 📢 เฉพาะ ads — optimize campaigns 4. ⏭️ ข้าม — แค่ดูรายงาน ``` If user chooses to act: - Content gaps → load `mm-article-idea-extract` with the recommended topic - Ad optimization → provide specific commands/changes - SEO fixes → provide specific title/description rewrites ### Step 6: Save report Save to vault: ``` ~/vault/50_Resources/Strategy for Customers//YYYY-MM-DD-report.md ``` Create the folder if it doesn't exist. Report format: ```markdown --- type: strategy-report client: period: to generated: YYYY-MM-DD --- # Strategy Report: [Client Name] [full report content] ``` ### Step 7: Confirm ``` ✅ รายงาน saved: ~/vault/50_Resources/Strategy for Customers//YYYY-MM-DD-report.md ``` ## Output - Chat: full report with recommendations - Vault: `~/vault/50_Resources/Strategy for Customers//YYYY-MM-DD-report.md` ## Notes - Match user's language (Thai if they write Thai, English if English) - If GSC data is empty (new site), note it and focus on ad data - If no ad data, focus on SEO only - Always ask before taking action (creating briefs, optimizing) - Reports are cumulative — each report builds on previous data