--- name: media-mix description: "Split a budget across ad platforms based on how each one actually works for the stated objective, not a round-number template. Use for a new launch, a quarterly re-plan, or after adding a platform." license: MIT compatibility: "Works with any Agent-Skills-compatible AI (Claude, ChatGPT, Cursor, Codex, and more). Ad-account actions run through Adspirer." metadata: author: "Adspirer" version: "1.0.0" adspirer_category: "media-planning" adspirer_source: "https://www.adspirer.com/skills/media-mix" adspirer_trigger: "help me decide how to split budget across ad platforms" adspirer_connection_url: "https://adspirer.ai/sign-up" adspirer_primary_keyword: "media mix" adspirer_secondary_keywords: "marketing channel mix, budget allocation across channels" adspirer_launch_wave: "2" adspirer_kind: "skill" adspirer_level: "operator" adspirer_platforms: "google,meta,linkedin,tiktok,amazon" adspirer_supported_clients: "claude,claude-code,claude-cowork,chatgpt,codex,cursor,gemini,windsurf" adspirer_summary: "Recommend a channel split justified by each platform's mechanics for the stated objective, with honest reasoning and named uncertainty." adspirer_connections_required: "adspirer" adspirer_connections_optional: "" --- # The Channel Mix Advisor ## Use this when A budget has been signed off and now it has to be split. The last plan allocated thirty percent here and twenty percent there because those numbers looked balanced in a deck, not because anyone could defend them. Someone in the room wants to add a platform because a competitor is on it, and nobody has asked whether the audience is reachable there at this budget. Use this skill to produce a split someone can actually defend. It works out: - which platforms genuinely suit the stated objective and which are being included out of habit; - which are eliminated outright by the audience or the geography; - what each platform needs as a minimum before it can produce a usable signal; - how much of the budget should be treated as a learning cost rather than performance; and - where the plan is a genuine estimate versus where it is a guess. This is for allocating a budget for the first time, re-planning a quarter, or reassessing after adding or dropping a platform. It produces a recommendation, not campaigns. ## What you need - The objective stated as the actual conversion event you will optimize toward, not a category. "Demo request" and "leads" lead to different plans, and a vague objective produces a vague split. - The total budget, and whether it is new money or being moved from an existing mix. - Who you are targeting, specifically enough to rule platforms in or out. Audience definition alone eliminates some channels immediately. - The geography, which changes both cost and available inventory substantially between platforms. - Adspirer connected, so existing account history informs the plan. A platform with real conversion history starts warmer than one starting from nothing, and that difference belongs in the allocation. - Any hard exclusions stated up front — a platform ruled out for brand safety, compliance, or a client mandate should not have to be argued out of the plan later. ## Procedure **Connect Adspirer before any live ad-account step.** Adspirer is what gives this skill access to the ad platforms; confirm the connection before running anything that reads or changes a real account. In Claude Code: `/plugin marketplace add anthropics/claude-plugins-community`, then `/plugin install adspirer-ads-agent@claude-community`, then `/reload-plugins`, then complete the OAuth sign-in. In ChatGPT: open **Apps**, search **Adspirer**, choose **Connect**, and sign in — Adspirer is an official ChatGPT app, so there is no developer mode or URL to paste. In claude.ai or Claude Desktop: Settings → Connectors → Add custom connector → `https://mcp.adspirer.com/mcp`. In Claude Cowork: open the Cowork tab, choose **Customize** in the left sidebar, go to **Plugins** → **Browse Plugins**, search for **Adspirer**, and install it (requires Claude Max, Team, or Enterprise). Any other client: https://www.adspirer.com/docs/ai-clients. Sign-in link for the user: https://adspirer.ai/sign-up. Do not proceed with live ad-account steps until the connection is confirmed. 1. **Pin the objective and rule platforms out before ruling any in.** Restate the objective as the specific event that will be optimized toward, and confirm the audience and geography. Then eliminate: platforms where this audience is not meaningfully reachable, where the geography lacks inventory, or where the user has already excluded them. Ruling out early is more valuable than ranking everything, because most bad plans include a channel nobody could justify when asked directly. 2. **Read what the accounts already know.** For every remaining platform, check whether real conversion history and working tracking exist. A platform with history starts with a signal to optimize against; one starting cold needs a period where spend buys learning rather than results. That difference is a real cost and belongs in the allocation rather than being discovered in month two. 3. **Establish each platform's practical minimum.** Work out what each remaining channel needs before it can produce a usable read — enough conversion volume for its bidding to stabilize, and enough budget to reach that volume within the planning period. Where the total budget cannot fund a platform to that minimum, say so plainly. Splitting a modest budget across four channels usually produces four campaigns that all underperform, and naming that is more useful than an even-looking allocation. 4. **Build the split from mechanics, and state the reasoning per channel.** Allocate according to how each platform actually works for this objective — intent capture, demand generation, or reach — rather than to round numbers. Weight toward channels that suit the objective and can clear their minimum. For each allocation, write the reason. A split whose reasoning cannot be written down is a split that will not survive its first review. 5. **Separate the estimate from the guess, and hand it over.** Present the recommended split with the reasoning, the learning allowance for cold platforms, and the channels excluded with why. Mark clearly which expectations are grounded in the account's own history and which are genuinely unknown — an untested channel has no forecast, only a hypothesis and a test budget. This produces a plan; building campaigns from it is a separate decision. ## Fixed checks - Restate the objective as a specific conversion event before any allocation, and refuse to plan against a vague one. - Check for real conversion history and working tracking per platform from the account, rather than assuming a connected platform is warm. - Establish each platform's practical minimum before allocating to it, and flag any channel the budget cannot fund to that level. - Name every excluded platform with the reason, rather than silently omitting it. - Never present a forecast for a platform with no account history; label it a hypothesis with a test budget. - State the geography and currency assumptions behind any cost expectation. - Where existing account performance is cited, state the window it came from. ## Stop conditions - **Success:** a defensible split with per-channel reasoning, learning allowances, exclusions, and honest uncertainty marked. - **No change needed:** the current mix already suits the objective and budget, and only needs minor weighting adjustment. - **Blocked:** the objective is too vague to plan against, or the audience and geography are undefined. Guessing here misallocates the whole budget. - **Needs approval:** the plan is ready for review before any campaigns are built from it. - **Needs a handoff:** tracking setup, creative production for a new channel, or platform account access belongs to someone else. - **Still uncertain:** no account history exists on any candidate platform, so the split rests on mechanics and judgment rather than measured performance. Say so rather than implying it is data-backed. ## Approval boundaries This skill is read-only and produces a recommendation. It does not create campaigns, set budgets, move spend, or change anything in any account — building from the plan is a separate step with its own approvals. It reads existing account history to inform the split and does not modify it. It cannot set up tracking on a new platform, obtain account access, produce creative for a channel the brand has never used, or guarantee a result on a platform with no history; those are named as dependencies or as genuine unknowns rather than folded into a confident-looking forecast. ## What you get A budget split you can defend line by line, because every allocation carries its reasoning. Platforms are ruled out explicitly and for stated reasons, which is usually the most valuable part — it settles the "should we be on this channel" argument with something better than opinion. Channels with real account history are distinguished from cold ones, and cold ones carry an explicit learning allowance so the first weeks are understood as buying information rather than failing. Where the total budget cannot fund a platform to a level that produces a usable read, you get that said plainly instead of an even-looking split that quietly guarantees four underperforming campaigns. Expectations grounded in the account's own history are separated from genuine unknowns, so an untested channel arrives as a hypothesis with a test budget rather than a forecast nobody can stand behind. Nothing is built from it until you decide.