Given your total budget, recommends the optimal split across Google Search, PMax, Meta prospecting, Meta retargeting, and any other active channels based on your last 60-90 days of marginal ROAS and CPA by channel. Tells you where each additional dollar produces the best return. Platform: Google and Meta.
npx skills add https://github.com/irinabuht12-oss/marketing-skills --skill channel-mix-optimizer
Given your total budget, recommends the optimal split across Google Search, PMax, Meta prospecting, Meta retargeting, and any other active channels based on your last 60-90 days of marginal ROAS and CPA by channel. Tells you where each additional dollar produces the best return.
Claude calculates marginal efficiency for each channel — not average ROAS (which hides diminishing returns), but what your last dollar spent in each channel actually returned. It builds an efficiency curve per channel and recommends the allocation that maximizes total conversions or revenue within your budget constraint.
You're spending $80K/month split evenly across 4 channels: Google Search ($20K), PMax ($20K), Meta prospecting ($20K), Meta retargeting ($20K). Claude's analysis shows Google Search still has headroom with marginal CPA at $34, Meta retargeting is maxed out with marginal CPA at $72 (the audience pool is exhausted), and PMax has middling marginal returns. Recommended reallocation: Google Search $32K, PMax $18K, Meta prospecting $22K, Meta retargeting $8K. Projected result: 23% more conversions at the same total spend.
This skill works best with live account data. Connect the free Ryze MCP once and Claude reads your Google Ads, Meta Ads, GA4 and Search Console directly:
https://connector.get-ryze.ai/mcpclaude mcp add ryze --transport http https://connector.get-ryze.ai/mcpSetup guide: https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp
Take irinabuht12-oss/channel-mix-optimizer from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.