Uprise SOP · Ads

Brez AI Media Buying — Module 5 Mined (MCP + Agent + 7-Day Operator System)

Official server, HTTP transport, OAuth via VS Code popup (no tokens, no dev app, ~5 min):

source: notes/brez-ai-media-buying.mdcreated 2026-07-06

5.3 — Connect Claude Code to Meta MCP

Official server, HTTP transport, OAuth via VS Code popup (no tokens, no dev app, ~5 min):

claude mcp add --transport http meta-ads "https://mcp.facebook.com/ads"

Then trigger auth by calling any tool ("list my ad accounts") → Facebook OAuth grants ads_management, ads_read, business_management, catalog_management. Fix broken installs: claude mcp remove meta-ads -s local then re-add. Verify: claude mcp list. 29 tools, 5 buckets: campaign mgmt (5), product catalog (10), accounts/pages (3), pixel/CAPI/EMQ datasets (4), insights/performance (7 — incl. audience overlap, benchmarks, trends). Safety doctrine baked into every write prompt: "set it to PAUSED" / "show me the list first and wait for my confirmation." Warning: MCP sees EVERY ad account your FB profile can access — treat account IDs like passwords. 🎯 Rio: You already captured this exact command (gated on verification + first client). NEW: the pixel/CAPI/EMQ dataset tools (4) + audience-overlap insights — that's Command auto-fill fuel beyond basic metrics. Also: auth is per-FB-profile, so connect with the profile that has ONLY client BM access.

5.4 — The AI Media Buying Agent ("Traffic Command")

A downloadable zip (5 personas + 500+ knowledge files) dragged into the workspace: Aurelius (router), Zenith (metrics analyst), Vortex (creative/hooks), Nexus (tracking/pixels/CAPI), Stratos (strategy/scaling). Slash commands: /traffic, /traffic-audit, /traffic-diagnose, /traffic-hooks, /traffic-scale. System prompts NOT shown on the page — only test prompts ("My CPM is $45 and CTR is 0.6%, what's wrong?") and two exposed rules: "High CPM + low CTR = creative problem" and kill = "3x+ target for 4 days". 🎯 Rio: Ximena already IS Zenith+Stratos+Aurelius merged, with a fuller decision doctrine than the two rules they expose. Only NEW ideas: (1) split creative-gen into its own persona (Vortex ≈ a Higgsfield-brief writer), (2) Nexus — you have no tracking/CAPI/EMQ specialist yet, and the MCP has 4 dataset tools for it. Steal the /traffic-audit-style slash commands for Ximena.

5.5 — Reading Ad Data With AI (pre-MCP CSV rail)

Export from Ads Manager (7-day range; columns: campaign/ad set/ad name, spend, results, cost per result, CTR, CPM) → Reports → Export Table Data → CSV → drag into workspace. Name by date (ads-2026-03-09.csv) to enable week-over-week diffs. Prompt (verbatim):

read ads-march-9.csv and give me a full breakdown. my target CPL is $25. tell me:
- which ads are profitable and which are bleeding money
- which ad sets i should kill immediately
- which ads are winning and should get more budget
- what i should do tomorrow based on this data
use the actual numbers. be specific.

Mistakes to avoid: no target CPL given, deciding on <3 days of data, exporting without CPM/CTR. Cadence: Monday weekly minimum, daily 2-min check ideal. 🎯 Rio: THIS IS YOUR BRIDGE — CSV analysis needs zero verification. First client can start day one on this rail; Command ingests the CSV, MCP replaces the export step later. Your KILL/WATCH/SCALE labels already do what this prompt asks.

5.16 — First 7 Days With MCP (= your week-1 playbook when MCP connects)

One job per day. All prompts verbatim (condensed where marked): Mon — Audit (30m): Pull last 30 days of performance for ad account [ACCOUNT_ID]. Build me a table sorted by ROAS descending with these columns: campaign name, status, spend, CPA, ROAS, CTR, frequency, hook rate. Then below the table give me 3 lists: 1. SCALE — campaigns with ROAS above target and frequency under 2.5 / 2. KILL — campaigns with CPA above target after $100+ spend OR ROAS below 1.0 / 3. INVESTIGATE — high spend, unclear performance (frequency above 3, CTR dropping). Be opinionated. Don't just dump data — tell me what to do. Deep-dive follow-up: diagnose each KILL as creative fatigue / audience saturation / LP mismatch / bad concept. Tue — Creative (45m): (1) Look at the top 5 ROAS ads from the last 60 days. Pull their full ad copy and analyze what they have in common: hook structure, emotional driver (curiosity / fear / aspiration / proof), CTA style, length, format. Give me a 'winning ad DNA' summary. (2) 15 variations: 5 proven-structure/new-angle, 5 new emotional driver, 5 deliberately weird/contrarian — each with primary text, headline <40 chars, description; "no AI patterns, no em dashes, no triple structures." (3) 1-line creative briefs per variation, <30 words: format, visual, mood, overlay, reference style. Wed — Build (40m): Build a new campaign using this exact structure: CAMPAIGN — Name: [#XXX] [PAGE-A] [LEADS] [TEST-COLD] [1-3-1 ABO] [BATCH-MAY-15] — 05/15; Objective: leads; Buying type: AUCTION; Status: PAUSED. AD SETS (3 duplicates) — $50/day each, Advantage+ placements. ADS (same 5 best variations in each). UTMs: utm_source=meta&utm_medium={{placement}}&utm_campaign={{campaign.name}}&utm_content={{adset.name}}&utm_term={{ad.name}}. Show me the structure preview before creating. Build everything in PAUSED state. Then QA prompt: budgets sum, right Page+Pixel, UTMs at ad level, optimization event matches objective, audience 500K–5M, headline <40 chars. Then: activate + confirm IDs. **Thu — Optimize (25m):** kill pass — every ad with $30+ spend vs target CPA/ROAS, list first, confirm before pausing. Scale pass: duplicate the ad set with 2x the budget into a new campaign, same structure but PAUSED. This is my scale stack — I'll activate manually tomorrow once today's data fully confirms the win. Never auto-scale. Fatigue pass: flag frequency > 2.8 OR CTR down >25% WoW. Fri — Report (30m): client-ready markdown: 1. HEADLINE METRICS w/ WoW % 2. THE STORY (plain English) 3. WHAT WORKED 4. WHAT DIDN'T 5. NEXT WEEK'S MOVE. "Write it like a smart operator updating a partner — direct, no fluff, no apologizing for losses. Numbers first, story second." + 3-5 min Loom walkthrough. Sat — Intel (45m): Ad Library sweep of top 5 niche advertisers (ad count, hook angle, format mix, offer, public pricing) → "3 angles they're using that we're NOT testing." + VOC mining: 20-30 quotes from Reddit/YouTube/Amazon into PAIN / DESIRE / OBJECTION buckets → synthesize ONE tweet-length untested hypothesis for Monday. Sun — Retro (20m): biggest win + why, biggest miss + what differently, one SOP tweak for 20% faster, one Monday assumption now dead. "Be brutal. No coddling." → write a dated 3-5 line SOP addendum. 🎯 Rio: Adopt wholesale as the Uprise week-1 SOP. NEW numbers to fold into Command's rules: KILL = CPA over target after $100+ spend or ROAS <1.0; SCALE gate = freq <2.5; fatigue/REFRESH = freq >2.8 or CTR −25% WoW; $30 min spend before judging; audience 500K–5M; 1-3-1 ABO test structure at 3×$50/day. Fri = your weekly-report generator (theirs adds the Loom layer). "Never auto-scale, PAUSED-first, human activates" = Ximena doctrine, confirmed.

5.12 — Selling Automations as Upsell (your custom-tools thesis, priced)

Psychology: max buy-in right after signing; 5-7x cheaper to expand than acquire; offer must solve the obvious NEXT problem. Two windows: at contract signing + 30-60 days post-launch. Trigger phrases: "front desk isn't following up fast enough," "wish we had more Google reviews," "do you know anything about email marketing?" Menu: Lead follow-up (60-sec text + 24h/72h sequences) $500–800/mo · Email sequences $500–1,000/mo · Review generation (post-visit text, low-rating redirect) $300–500/mo · AI chatbot/receptionist $500–1,000/mo · Reporting dashboard (auto spend/leads/CPL/ROAS + weekly summaries) $300–500/mo. Packages: Basic $1,500/mo (ads only) → Growth $2,500/mo (+follow-up +email) → Premium $3,500–4,000/mo (+chatbot +reviews +dashboard). Math: 5 clients at $1.5K = $7.5K/mo → same 5 at $3K avg = $15K/mo on $50–100/mo tool cost. Signing-pitch script (core, verbatim): "...the #1 thing I see kill results for businesses like yours is slow follow-up. A lead fills out the form, and if nobody calls or texts them back within 5 minutes, the chance of booking them drops by like 80%... they get a text within 60 seconds... follows up automatically at 24 hours and 72 hours. It runs completely on autopilot... It's an additional $[500-800]/mo... Want me to include that in the setup? I can have it running by the time the first ads go live." Day-60 pitch anchor: "leads contacted within 5 minutes are 21x more likely to convert than leads contacted after 30 minutes" + "my other [niche] clients typically see [20-40% more booked appointments] from the same ad spend." Their build stack: GoHighLevel ($97–297/mo), Make, Zapier. 2–4 hrs setup per automation. Don't: pitch before results, fake data, set-and-forget. 🎯 Rio: BIGGEST FIND. Your Command reporting layer is literally their $300–500/mo dashboard SKU — you built the upsell already. You build these in Claude Code instead of paying GHL $97-297/mo, so margin is ~100%. Reframe Uprise tiers around this ladder; the "20-30% more booked appointments" line is the pitch.

5.17 — AI Clone Ad Factory

Pipeline: Brief → Script → Record → Edit → Save. 7 min and $0.60/ad after setup. 5-point brief: narrative/angle, offer + destination, ad type, audience, exact CTA. Script prompt (verbatim): You are writing a short-form video ad script for a talking-head ad. Here is the brief: [paste your 5-point brief] Write a 45 to 60 second spoken script. Rules: First line is a scroll-stopping hook. No slow intro. Write the way a person talks out loud, not the way they write. One clear idea. One clear call to action at the end. No hype words you cannot back up. No income guarantees. Plain sentences. Short where it counts. Give me only the script, ready to be read aloud. The one human gate: read the script ALOUD, time it, hook must stop scroll in 3 sec. Stack: ElevenLabs voice clone ($5/mo, stability 0.7, similarity high) → HeyGen avatar ($24/mo, 9:16 1080×1920) → Submagic ($20/mo: bold Hormozi captions, dynamic zooms, music at 5/100, full-frame first 3.5s then split-screen, REAL personal b-roll — 15-20 clips shot once, reused forever) → Drive + ClickUp board (Brief/Script/Record/Edit/Save/Done). Lesson includes a Claude Code master prompt that wires all 5 APIs into an orchestrator (run-pipeline.py, .env keys, phase-by-phase with test gates, SETUP-LOG.md). 🎯 Rio: Overlaps Higgsfield for generation, but the NEW parts are the system: the read-it-aloud approval gate, the real-b-roll rule (matches your authentic-before/after doctrine — no AI-faked proof), and the orchestrator pattern. Skip ClickUp; the pipeline state belongs in Command.

5.11 — AI Competitor Research

facebook.com/ads/library → search "niche + city" → grab 5-10 ads across competitors, mixed formats. Key signal: ads running 60+ days = profitable, study those hardest (national brands: 6+ months = validated). Analysis prompt (verbatim):

i'm analyzing competitor ads for a [NICHE] client in [CITY]. here are [X] ads from their competitors. analyze each one and give me:
1. what hook they're using and why it might work
2. what offer they're making
3. who they're probably targeting
4. what emotional trigger they're using (fear, desire, social proof, urgency, curiosity)
5. what's weak about this ad
6. what angle they're NOT covering that we could use
then at the end, give me:
- the top 3 patterns you see across all these ads
- 3 gaps that none of them are covering
- 5 ad angles we should test that would stand out from all of these

Store in clients/[client]/competitor-analysis.md; monthly re-run prompt diffs vs the stored file: "what's new, what they stopped running (probably wasn't working), new angles/offers, what we should adjust." Advanced: research the same niche in 2-3 OTHER cities for untested angles; track competitor ad longevity in a sheet. Never copy copy verbatim. 🎯 Rio: Half-overlap. Your teardown machine = pre-sale weapon (prospect's own weaknesses); this = post-sale monthly intel per client (their COMPETITORS' ads). NEW: 60-day longevity signal, stored-file monthly diff (Command-native pattern), and other-city angle mining. Bolt a "competitor" tab onto each Command client record and run it first Monday monthly.

🔍 Fidelity-audit additions (7/6 overnight — recovered from the verbatim archive)

5.4 — Zenith's full diagnostic triad + the 18 skills named

5.16 — operating rules the prompt digest missed

5.3 — Claude Desktop backup rail + access precondition

5.12 — pitch lines + build specs the condensed scripts dropped

5.17 — exact clone settings + one system pattern

5.5 — two stress-test prompts + the data floor

Bonus live class (May 1: Meta MCP + Claude Design + Freepik) — the prompt texts only NAMED elsewhere

The 8 MCP prompts were listed by name in brez-ads-execution-module; the load-bearing text was nowhere in the vault. Recovered:

MCP tool names worth knowing (the query hooks): writes = ads_create_campaign / ads_create_ad_set / ads_create_ad / ads_update_entity / ads_activate_entity. Reads powering the killer prompts: ads_insights_anomaly_signal (24h anomaly feed) · ads_get_opportunity_score · ads_insights_industry_benchmark · ads_insights_auction_ranking_benchmarks (quality/engagement/conversion rank vs auction) · ads_insights_performance_trend · ads_catalog_get_diagnostics · ads_get_dataset_quality.

The 8 prompts (condensed, operative phrasing kept):

  1. Daily Pulse: yesterday by campaign (spend/CPM/CTR/CPA/conversions vs 7-day average) → HTML dashboard, red/yellow/green cards, top summary = "biggest winner today, biggest concern, what to do."
  2. Friday Client Report: last 7 days → HTML one-pager: spend vs target, leads, CPL trend, top 3 ads by ROAS, anomalies via anomaly_signal. "Tone: confident, no jargon."
  3. Andromeda Cleanup Audit: last 14 days, all ad sets → flag extended Learning Phase, <50 conversions/week**, **CPA > 1.5x account average → kill/keep/scale table w/ one-line reasoning, sorted by spend desc.
  4. Catalog Health (DTC): catalog_get_diagnostics → prioritized fix list by severity + revenue-impact tier, formatted as a dev handoff checklist.
  5. Anomaly Alert: last 24h flags → one-line plain-English explanation + one-line action, Slack-pasteable.
  6. Auction Edge: auction_ranking_benchmarks on top 10 ads by spend → which ads lose the auction and whether it's quality, relevance, or bid strategy.
  7. Pre-Pitch Audit (the teardown upgrade): "query the ad opportunity score for their account if I have access, and benchmark against industry_benchmark for [INDUSTRY]. If I don't have account access, query their public Meta Ad Library footprint instead. Output a 'state of their advertising' 1-pager: what's working, what's broken, where I'd start."
  8. Bloomberg dashboard: self-refreshing HTML (meta-refresh 5 min), huge today-numbers w/ arrows, 7-day revenue bars, top-5 ads, anomaly feed. Dense, monospace, dark.

⭐ The winner-multiplication combo (MCP × Claude Design — captured nowhere): "Find the top ad (highest ROAS, min 50 conversions, last 14 days). Pull headline, primary text, image description, stats. Design 10 static variations keeping the SAME core angle and offer but changing ONE variable per ad: 3 new headlines (same hook, different framing) · 3 new layouts (split/stacked/full-bleed) · 2 new CTAs · 2 new social-proof angles. For each, name the changed variable + a hypothesis for why it might beat the winner." One winner = 10 test cells in ~4 min. Works today with manually pasted stats; MCP just automates the pull.

Claude Design static anatomy (6 niches — headline + palette + must-includes; drop client brand kit in FIRST and say "match this vibe"):

LP + deck (the $1.5-3K premium-bundle prompts): 3 full LP section-lists ship in the lesson (dentist trust page w/ "3 promises" + 7-Q details/summary FAQ, no JS · gym 12-week-transformation sales page w/ who-it's-for split + 4-phase timeline + guarantee · realtor valuation lead-magnet w/ address/email/phone form repeated top+bottom). 12-slide pitch deck master prompt (snap-scroll HTML → PDF leave-behind): cover "90-Day Growth Plan" · opportunity (1 stat + 1 sentence) · where they are now (3 honest observations) · 90-day outcomes w/ target numbers · strategy funnel · month 1/2/3 deliverables + 1 KPI each · 3 sample-creative mockups · team · investment (tiered card, one bold "recommended") · guarantee + sign-here CTA. → Uprise Call-2 leave-behind shape.

Freepik prompt-pair anatomy (adapt for Higgsfield): IMAGE = photoreal scene + specific human (age/emotion/wardrobe) + lighting + camera spec ("Sony A7IV, 50mm, shallow DOF" / "RED, 35mm anamorphic" / "shot on iPhone 16 Pro" for UGC-feel) → MOTION = one 5-second gesture ending toward camera (thumbs-up, confident nod, hair flip + blown kiss, realtor mouths "sold", pizza cheese pull on push-in). The to-camera ending beat is what makes 5 seconds read as an ad instead of b-roll.