/52-account-structure-global
Use when the user needs to design or clean up an ad account structure: campaign/ad set/ad hierarchy by objective, a naming convention that makes data readable, CBO vs ABO by stage, how many ad sets and creatives to run, and the minimum daily budget an ad set needs to exit
$ npx -y skills add minhnv0807/ai-business-skills --skill 52-account-structure-global --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/52-account-structure-global
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when the user needs to design or clean up an ad account structure: campaign/ad set/ad hierarchy by objective, a naming convention that makes data readable, CBO vs ABO by stage, how many ad sets and creatives to run, and the minimum daily budget an ad set needs to exit
SKILL.md
52-account-structure-global.SKILL.mdname: 52-account-structure-global
description: "Use when the user needs to design or clean up an ad account structure: campaign/ad set/ad hierarchy by objective, a naming convention that makes data readable, CBO vs ABO by stage, how many ad sets and creatives to run, and the minimum daily budget an ad set needs to exit learning. Trigger on 'account structure', 'campaign structure', 'naming convention', 'set up campaign', 'how many ad sets', 'CBO or ABO', or 'restructure ad account'."
metadata:
version: 1.0.0
category: performance
license: MIT
triggers:
- "account structure"
- "campaign structure"
- "naming convention"
- "set up campaign"
- "how many ad sets"
- "CBO or ABO"
- "restructure ad account"
- "ad account setup"
output: "File .md — full campaign structure by stage, naming convention, budget allocation, minimum ad set budget math, and a pre-launch checklist"
related:
- product-marketing-context-global
- 51-audience-research-global
- 53-tracking-setup-global
- 54-media-plan-global
- 05-ad-copy-global
- 19-ab-test-setup-global
- 55-scaling-ads-global
Account Structure (Global)
Good structure means data you can read, optimizations you can trust, and scaling that does not fall apart. Run this after `53-tracking-setup-global` verifies green, and after `51-audience-research-global` and `54-media-plan-global` exist.
Information gathering
Read the media plan and audience profile if they exist. If information is missing, ask up to 4 questions:
1. **Which platforms and objective?** Meta / Google / TikTok / LinkedIn — lead gen / conversion / traffic / awareness? 2. **How many products or offers are running?** Each primary offer generally deserves its own campaign. 3. **Total monthly budget and target CPA?** This determines how many ad sets the account can actually feed. 4. **Which stage are you in?** Testing / scaling / maintaining?
Principles
1. **Consolidate before you split.** Fewer, better-funded ad sets is now the platform-recommended structure on both Meta (Advantage+ / broad) and Google (Performance Max, broad match + smart bidding). Splitting an already-small budget across many ad sets starves every one of them. 2. **Consistent naming from day one.** Renaming later is painful, and historical data becomes unfilterable. 3. **One campaign, one objective.** Never mix lead generation and purchase optimization in the same campaign. 4. **Cold stays separate from retargeting.** Different campaigns, different message, never a shared audience pool. 5. **Do not touch an ad set that is still in learning.** Meta needs roughly 50 optimization events per ad set per week to exit learning. Every significant edit restarts it. 6. **Structure follows budget, not ambition.** If the budget cannot fund the structure, cut ad sets, not budget per ad set.
Workflow
1. Hierarchy overview
Account
|-- Campaign 1 — [Objective] — [Product/Offer] (Cold Testing)
| |-- Ad Set 1.1 — [Broad / Advantage+] -> Ad A (hook 1) / Ad B (hook 2)
| |-- Ad Set 1.2 — [Interest theme A] -> Ad A / Ad B
| |-- Ad Set 1.3 — [Interest theme B] -> Ad A / Ad B
| \-- Ad Set 1.4 — [Lookalike 1-3%] -> Ad A / Ad B
|-- Campaign 2 — [Objective] — Scale winner (split out once a winner is proven)
\-- Campaign 3 — Retargeting
\-- Ad Set 3.1 — [Warm 7-30 days] — objection-handling creative2. Naming convention
| Level | Format | Example | |-------|--------|---------| | Campaign | `[Platform]_[Objective]_[Product]_[AudienceType]_[Market]_[MMYY]` | `META_LEAD_COURSE-A_COLD_US_0726` | | Ad Set | `[Audience]_[Age]_[Gender]_[Placement]_[Budget]` | `INT-BUSINESS_25-45_ALL_ADVPLUS_150USD` | | Ad | `[CreativeType]_[HookType]_[Version]` | `VID_PAIN_v1`, `IMG_SOCIAL-PROOF_v2` |
Rules: uppercase, underscore separators, no spaces, no special characters. Include the market code when running more than one country — regional cost differences are large enough (Tier 1 CPM 6-7x Tier 2, per `references/benchmarks-global.md`) that blended reporting hides the truth. The ad name must match `utm_content` exactly (see `53-tracking-setup-global`) so ads manager data and GA4 reconcile in both directions.
3. Consolidation check
Before building, run this test on the planned structure:
| Question | If no | |----------|-------| | Can every ad set reach ~50 optimization events per week at its budget? | Merge ad sets or optimize for an earlier funnel event | | Do two ad sets target overlapping pools? | Merge them; overlap bids against yourself | | Is there a real hypothesis behind each split? | Delete the split |
On Meta, the default modern answer is one broad or Advantage+ ad set with several creatives, plus a small number of deliberate tests. On Google, prefer fewer campaigns with more conversion volume over many thin ad groups.
4. CBO vs ABO
| | ABO (budget at ad set) | CBO / Advantage campaign budget | |---|------------------------|----------------------------------| | Use when | **Testing** — you need guaranteed spend on each audience | **Scaling** — a winner exists, let the algorithm allocate | | Advantage | Every ad set gets enough data to conclude | Automatically pushes spend to the best performer | | Risk | You must manually pause losers | Budget concentrates on one ad set; other tests starve | | Rule | Default to ABO in testing | Move to CBO only once an ad set is proven stable |
5. Structure by stage
**TESTING (weeks 1-2):** one campaign per objective; 3-5 ad sets (broad/Advantage+, interest theme A, interest theme B, lookalike, small retargeting); 2-3 ads per ad set to test creative and hook. ABO with even budgets. Goal: find the winning audience and creative. Pause any ad set above 2x target CPA after 3 days.
**SCALING:** split the winner into its own CBO campaign. Increase +20-30% per step, never double overnight (see `55-scaling-ads-global`). Do not edit the winning ad set while scaling. Keep testing new creative in parallel
Read more
name: 52-account-structure-global description: "Use when the user needs to design or clean up an ad account structure: campaign/ad set/ad hierarchy by objective, a naming convention that makes data readable, CBO vs ABO by stage, how many ad sets and creatives to run, and the minimum daily budget an ad set needs to exit learning. Trigger on 'account structure', 'campaign structure', 'naming convention', 'set up campaign', 'how many ad sets', 'CBO or ABO', or 'restructure ad account'." metadata: version: 1.0.0 category: performance license: MIT triggers: - "account structure" - "campaign structure" - "naming convention" - "set up campaign" - "how many ad sets" - "CBO or ABO" - "restructure ad account" - "ad account setup" output: "File .md — full campaign structure by stage, naming convention, budget allocation, minimum ad set budget math, and a pre-launch checklist" related: - product-marketing-context-global - 51-audience-research-global - 53-tracking-setup-global - 54-media-plan-global - 05-ad-copy-global - 19-ab-test-setup-global - 55-scaling-ads-global
Account Structure (Global)
Good structure means data you can read, optimizations you can trust, and scaling that does not fall apart. Run this after `53-tracking-setup-global` verifies green, and after `51-audience-research-global` and `54-media-plan-global` exist.
Information gathering
Read the media plan and audience profile if they exist. If information is missing, ask up to 4 questions:
1. **Which platforms and objective?** Meta / Google / TikTok / LinkedIn — lead gen / conversion / traffic / awareness? 2. **How many products or offers are running?** Each primary offer generally deserves its own campaign. 3. **Total monthly budget and target CPA?** This determines how many ad sets the account can actually feed. 4. **Which stage are you in?** Testing / scaling / maintaining?
Principles
1. **Consolidate before you split.** Fewer, better-funded ad sets is now the platform-recommended structure on both Meta (Advantage+ / broad) and Google (Performance Max, broad match + smart bidding). Splitting an already-small budget across many ad sets starves every one of them. 2. **Consistent naming from day one.** Renaming later is painful, and historical data becomes unfilterable. 3. **One campaign, one objective.** Never mix lead generation and purchase optimization in the same campaign. 4. **Cold stays separate from retargeting.** Different campaigns, different message, never a shared audience pool. 5. **Do not touch an ad set that is still in learning.** Meta needs roughly 50 optimization events per ad set per week to exit learning. Every significant edit restarts it. 6. **Structure follows budget, not ambition.** If the budget cannot fund the structure, cut ad sets, not budget per ad set.
Workflow
1. Hierarchy overview
Account
|-- Campaign 1 — [Objective] — [Product/Offer] (Cold Testing)
| |-- Ad Set 1.1 — [Broad / Advantage+] -> Ad A (hook 1) / Ad B (hook 2)
| |-- Ad Set 1.2 — [Interest theme A] -> Ad A / Ad B
| |-- Ad Set 1.3 — [Interest theme B] -> Ad A / Ad B
| \-- Ad Set 1.4 — [Lookalike 1-3%] -> Ad A / Ad B
|-- Campaign 2 — [Objective] — Scale winner (split out once a winner is proven)
\-- Campaign 3 — Retargeting
\-- Ad Set 3.1 — [Warm 7-30 days] — objection-handling creative2. Naming convention
| Level | Format | Example | |-------|--------|---------| | Campaign | `[Platform]_[Objective]_[Product]_[AudienceType]_[Market]_[MMYY]` | `META_LEAD_COURSE-A_COLD_US_0726` | | Ad Set | `[Audience]_[Age]_[Gender]_[Placement]_[Budget]` | `INT-BUSINESS_25-45_ALL_ADVPLUS_150USD` | | Ad | `[CreativeType]_[HookType]_[Version]` | `VID_PAIN_v1`, `IMG_SOCIAL-PROOF_v2` |
Rules: uppercase, underscore separators, no spaces, no special characters. Include the market code when running more than one country — regional cost differences are large enough (Tier 1 CPM 6-7x Tier 2, per `references/benchmarks-global.md`) that blended reporting hides the truth. The ad name must match `utm_content` exactly (see `53-tracking-setup-global`) so ads manager data and GA4 reconcile in both directions.
3. Consolidation check
Before building, run this test on the planned structure:
| Question | If no | |----------|-------| | Can every ad set reach ~50 optimization events per week at its budget? | Merge ad sets or optimize for an earlier funnel event | | Do two ad sets target overlapping pools? | Merge them; overlap bids against yourself | | Is there a real hypothesis behind each split? | Delete the split |
On Meta, the default modern answer is one broad or Advantage+ ad set with several creatives, plus a small number of deliberate tests. On Google, prefer fewer campaigns with more conversion volume over many thin ad groups.
4. CBO vs ABO
| | ABO (budget at ad set) | CBO / Advantage campaign budget | |---|------------------------|----------------------------------| | Use when | **Testing** — you need guaranteed spend on each audience | **Scaling** — a winner exists, let the algorithm allocate | | Advantage | Every ad set gets enough data to conclude | Automatically pushes spend to the best performer | | Risk | You must manually pause losers | Budget concentrates on one ad set; other tests starve | | Rule | Default to ABO in testing | Move to CBO only once an ad set is proven stable |
5. Structure by stage
**TESTING (weeks 1-2):** one campaign per objective; 3-5 ad sets (broad/Advantage+, interest theme A, interest theme B, lookalike, small retargeting); 2-3 ads per ad set to test creative and hook. ABO with even budgets. Goal: find the winning audience and creative. Pause any ad set above 2x target CPA after 3 days.
**SCALING:** split the winner into its own CBO campaign. Increase +20-30% per step, never double overnight (see `55-scaling-ads-global`). Do not edit the winning ad set while scaling. Keep testing new creative in parallel
138 bilingual AI marketing skills (69 VN + 69 Global) for Claude Code, OpenCode, Codex, VS Code. Four role SOP packs — content, design, performance, leader ops — plus strategy, personal brand, AI avatar, dropshipping, design master, knowledge library. 4 regions (US/EU/SEA/LATAM) + Vietnam 2025-2026. Companion: opa-kit.
Repo: minhnv0807/ai-business-skills
Other skills on ai-business-skills.
- /00-marketing-plan-global
Comprehensive 7-section marketing plan for global businesses — strategy, target audience, positioning, channels, content, KPIs, budget. Reads `.agents/product-marketing-context-global.md` first. Universal framework adapts to US/EU/SEA/LATAM via foundation skill region. Trigger:
Open skill - /01-content-calendar-global
Monthly content calendar for global businesses — multi-channel posting schedule with funnel ratio, content pillars, repurposing matrix, and quality scoring. Reads `.agents/product-marketing-context-global.md`. Universal framework, region-specific posting times via foundation
Open skill - /02-campaign-brief-global
9-section campaign brief for global campaigns — context, objectives, target, message, creative, channels, timeline, deliverables, risks. Reads `.agents/product-marketing-context-global.md`. Universal framework, region-specific benchmarks via foundation skill. Trigger: 'campaign
Open skill - /03-performance-eval-global
Diagnose marketing performance for global businesses — root cause analysis, 5-Whys, 48-hour action plan. Has 4 region variants for benchmarks (US/EU/SEA/LATAM). Reads `.agents/product-marketing-context-global.md`. INCLUDES Dropshipping KPI section (ROAS, BE-ROAS, profit margin,
Open skill - /04-script-video-global
Short-form video scripts for TikTok, Reels, YouTube Shorts — 2 A/B variants, 6 hook formulas, timestamp breakdown, shoot guide, caption + hashtag, viral score. Reads `.agents/product-marketing-context-global.md`. Universal framework, English-language hooks. Trigger: 'video
Open skill - /05-ad-copy-global
6 ad copy variations (2 TOFU + 2 MOFU + 2 BOFU) for global markets. Frameworks: AIDA, PAS, BAB. Platforms: Meta, Google, TikTok. INCLUDES Dropshipping Mode (4 templates) for Shopify dropshippers. Trigger: 'ad copy', 'Facebook ads', 'TikTok ads', 'Google Ads copy', 'dropshipping
Open skill

