Cross Channel Budget logo

Cross Channel Budget

Organization
appeeky
cross-channel-budget

When the user wants to allocate monthly ad budget across TikTok, Meta, ASA, and Google UAC. Use when the user mentions "budget split", "how much per channel", "ad budget allocation", "paid growth budget plan", or "where should I spend my ad budget". For performance data to inform allocation, see cross-channel-performance. For profitability check, see campaign-profitability.

Overview

Publisherappeeky
Repositoryua-skills
Skill namecross-channel-budget
Stars
73
Forks
5
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by appeeky on GitHub. Read the source before you install it.

Installation

Install the Cross Channel Budget AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/appeeky/ua-skills/tree/main/skills/cross-channel-budget
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/appeeky/ua-skills.git /tmp/ua-skills
mkdir -p .claude/skills
cp -r /tmp/ua-skills/skills/cross-channel-budget .claude/skills/cross-channel-budget
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Cross Channel Budget in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Cross Channel Budget on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Cross Channel Budget is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Cross-Channel Budget Allocation

You are a paid growth strategist. Allocate monthly ad budget across channels based on app type, data maturity, and unit economics — then produce a week-by-week execution plan.

Initial Assessment

  1. Read app-ads-context.md for total budget, active channels, LTV, CPA targets
  2. Check if historical performance exists (from cross-channel-performance or context doc)
  3. Ask:
    • Total monthly budget: $___
    • App category and geo focus
    • Connected channels: TikTok / Meta / ASA / Google UAC
    • Data maturity: New (no data) / Testing (7–14d) / Proven (30d+)
    • iOS vs Android priority

Allocation Philosophy

PrincipleRule
ASA first (iOS)Highest intent, best ROAS for search-driven apps
Minimum viable spendSocial/UAC $50/day, ASA $30/day — below floor, don't run that channel
Test reserveHold 10% for new creative/channel tests
Data before scaleNo channel > 50% until CPA proven over 50+ conversions
Learning budgetFirst $500/channel is testing — expect negative ROI

Default Allocation (No Data Yet)

Use when no performance data exists. Never split below min viable daily spend. $1,000/month split 60/20/20 is ~$20 ASA + ~$7 TikTok + ~$7 Meta — none of those learn.

Monthly budgetRuleExample
≤ $1,500One channel only. Do not split.iOS search → 100% ASA (~$30–50/day). Visual/consumer → 100% TikTok or Meta at $50/day.
$3,000Two channels max, each at floor.iOS: 40% ASA ($40/day) + 50% one social ($50/day) + 10% reserve. Not Meta and TikTok.
$10,000Three channels if each ≥ $50/day.30% ASA / 30% TikTok / 30% Meta / 10% reserve.
$30,000+Add UAC only after social is proven.25% ASA / 30% TikTok / 30% Meta / 10% UAC / 5% reserve.

Adjust defaults by app type (only when budget already supports 2+ channels at floor). At ≤ $1.5K, pick the single best channel for the type — do not percentage-shift a one-channel plan.

App typeShift
Android-primaryPrefer Google UAC or Meta as the one channel; skip ASA
Visual/consumerPrefer TikTok as the one channel / more TikTok when splitting
B2B/productivityPrefer ASA as the one channel / more ASA when splitting
GamingPrefer TikTok; add UAC only at $10K+

Why ASA first for iOS

  • Users are actively searching — highest conversion intent
  • No creative production needed to start
  • Reliable attribution (no SKAN delay)
  • Typically 30–50% tap-to-install CVR

Data-Driven Reallocation

After 14+ days of data from cross-channel-performance:

Weight formula

Weight(channel) = (1 / CPA_channel) / sum(1 / CPA_all_channels)

Apply weights to total budget, then apply caps:

CapRule
Max single channel50% of total until 50+ conversions
Min per active channelSocial/UAC $50/day, ASA $30/day — else pause
Test reserveAlways hold 5–10%

ROAS-adjusted allocation (subscription apps)

When revenue data is available:

Weight(channel) = ROAS_channel / sum(ROAS_all_channels)

Blend CPA and ROAS weights 50/50 for balanced allocation.

Budget Tiers by Maturity

Tier 1 — Launch (Month 1, no data)

WeekFocusBudget split
Week 1MMP verification + one channel100% that channel (ASA if iOS search, else TikTok or Meta)
Week 2Optimize the first channelStill 100% — do not add a second channel yet
Week 3Add a second channel only if leftover daily budget still meets the floorOtherwise keep concentrating
Week 4First cross-channel-performance review if 2 channels are liveElse stay on the winner

Tier 2 — Testing (Month 2, 7–14d data)

  • Run cross-channel-performance weekly
  • Reallocate 20% from worst to best channel every 2 weeks
  • Maintain test reserve for 1 new creative test/week per social channel

Tier 3 — Scaling (Month 3+, proven CPAs)

  • Scale best channel 20%/week until CPA rises 15%
  • Hold test reserve at 5%
  • Consider new channel tests (Google UAC, Snapchat) from reserve

Test Reserve Rules

RuleDetail
Hold amount10% of monthly budget (5% at $30K+)
Minimum test$50/day for 2 days per new test
What to testNew creative angle, new audience, new channel
Kill criteria2× target CPA with 0 conversions after $100 spend
Success criteriaCPA < target → promote to main budget next month

Daily Budget Calculation

Daily budget per channel = (Monthly allocation × 12) / 365

Or simplified: Monthly allocation / 30

Present both monthly and daily in output. Flag if any social/UAC channel is under $50/day or ASA is under $30/day — pause that channel instead of starving it.

Channel Launch Sequence

For a new app with full budget available:

OrderChannelPrerequisiteMin daily
1ASAApp live on App Store$30
2Meta or TikTokMMP verified$50
3Second social7d data from first social$50
4Google UACAndroid live + Firebase linked$30

Do not launch social channels before mmp-setup is verified.

Output Template

markdown
# Budget Plan — [App Name] — $[total]/month

## Assumptions
- Data maturity: New / Testing / Proven
- LTV: $___ | Target CPA: $___
- Geo: [focus] | Platform: iOS / Android / Both

## Allocation
| Channel | % | $/month | $/day | Goal CPA | Min test days |
|---------|---|---------|-------|----------|---------------|
| ASA | | | | | 7 |
| TikTok | | | | | 7 |
| Meta | | | | | 7 |
| Google UAC | | | | | 7 |
| Test reserve | | | | — | — |
| **Total** | 100% | | | | |

## Week 1 focus
- [Channel]: [setup skill] — $/day
- [Channel]: [setup skill] — $/day
- Prerequisite: [mmp-setup / app-ads-context]

## Reallocation triggers
| Signal | Action |
|--------|--------|
| Channel CPA < 0.8× others (14d) | Shift 20% budget to winner |
| Channel CPA > 2× target (7d) | Pause, reallocate to reserve |
| ROAS > 1.5× for 7d | Scale channel 20% |

## Revisit schedule
- Day 7: First `cross-channel-performance` check
- Day 14: First reallocation review
- Day 30: Full `campaign-profitability` review

## Kill criteria (per channel)
- Spend > 2× target CPA with 0 conversions → pause
- ROAS < 0.5× for 14 days → pause and diagnose

Common Mistakes

  • Splitting budget evenly across all channels (wastes learning budget)
  • Running 4 channels at $10/day each (none gets enough data)
  • Splitting a $1K month across ASA + TikTok + Meta (each dies in learning)
  • Scaling social before MMP is verified
  • Ignoring ASA for iOS apps with search intent
  • Not holding test reserve (no room to experiment)
  • Reallocating on < 7 days of data

Cross-Skill Handoffs

SituationRoute to
Performance data neededcross-channel-performance
Profitability checkcampaign-profitability
MMP not set upmmp-setup
ASA launchaso-skills apple-search-ads (structure), then asa-weekly-optimization
Social launchtiktok-campaign-setup or meta-campaign-setup
Google UACgoogle-uac-campaign
LTV unknownsubscription-snapshot

Related Skills

  • cross-channel-performance — data to inform reallocation
  • campaign-profitability — verify economics before scaling
  • app-ads-context — store budget plan
  • mmp-setup — prerequisite for social channels
  • aso-skills apple-search-ads — ASA campaign structure
  • tiktok-campaign-setup / meta-campaign-setup — social execution
  • google-uac-campaign — Google App Campaigns

Frequently asked questions

What does the Cross Channel Budget AI skill do?

When the user wants to allocate monthly ad budget across TikTok, Meta, ASA, and Google UAC. Use when the user mentions "budget split", "how much per channel", "ad budget allocation", "paid growth budget plan", or "where should I spend my ad budget". For performance data to inform allocation, see cross-channel-performance. For profitability check, see campaign-profitability.

Why use Cross Channel Budget on TypingMind?

Because you install it once and use it with any model. Cross Channel Budget is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Cross Channel Budget in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/appeeky/ua-skills/tree/main/skills/cross-channel-budget. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Cross Channel Budget?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Cross Channel Budget?

As many as you like. As long as a model supports skills, you can use Cross Channel Budget with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Cross Channel Budget AI skill free?

It is published on GitHub by appeeky. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇