module 12 folder structure

In-house + channel patterns

System Text-to-Speech Ready
Slide: 0:00 / 0:00
Slide 1 of 0Interactive Deck

Full Lesson Reference

If you work on ONE brand but across multiple channels, the agency pattern is overkill. The in-house pattern organises by what you're doing, not who you're doing it for. Channel-first is a variant of the same idea.

When in-house beats agency

  • You're the marketing team for one brand (solo or small team)
  • You work across paid, email, SEO, content, lifecycle - not one niche
  • All your data sources + MCPs are shared across your work
  • Your CLAUDE.md rules are mostly brand-level, not per-activity

Folder structure

Claude Code/

├── CLAUDE.md ← brand-level rules ├── .env ← all platform credentials (shared) ├── .mcp.json ← all MCPs (shared) ├── paid-media/ │ ├── CLAUDE.md ← paid-media-specific rules │ ├── google-ads/ │ ├── meta-ads/ │ └── reports/ ├── email/ │ ├── CLAUDE.md ← email-specific rules │ ├── campaigns/ │ ├── flows/ │ └── lists/ ├── seo/ │ ├── CLAUDE.md ← SEO-specific rules │ ├── keyword-research/ │ ├── content-briefs/ │ └── technical-audit/ ├── content/ ├── lifecycle/ └── _shared/ ├── brand-guide.md ├── voice-examples/ └── templates/

CLAUDE.md hierarchy

Global (~/.claude/CLAUDE.md)

You as a person. Unchanged from Module 02.

Brand CLAUDE.md (Claude Code/CLAUDE.md)

The brand you're marketing - identity, voice, target audience, primary metrics, what never to do:

Brand CLAUDE.md

Brand

  • Name: [Your brand]
  • Industry: [niche]
  • Tone: [voice traits]
  • Never: [words/themes to avoid]

Customers

  • Primary: [segment]
  • Secondary: [segment]

North star metrics

  • Revenue
  • Customer LTV
  • Gross margin %
  • Acquisition cost

Data sources

  • Shopify for orders + customers
  • Klaviyo for email
  • GA4 + GSC for web + organic
  • Meta + Google Ads for paid

Universal rules

  • All customer-facing copy must match brand voice guide
  • Never approve ad launches without final review
  • Weekly performance check every Friday

Channel / discipline CLAUDE.md

Rules specific to paid media, email, SEO, etc. Example for paid-media/CLAUDE.md:

Paid Media CLAUDE.md

Reporting

  • Daily check: spend vs yesterday, CPA vs target
  • Weekly: ROAS trend, top + bottom 3 campaigns, creative fatigue
  • Monthly: budget pacing vs quarter target

Optimisation cadence

  • Daily: check anomalies
  • Weekly: shift budget within channel
  • Bi-weekly: creative refresh cycle
  • Monthly: strategic review

Creative rules

  • Test 3-5 new angles per week
  • Pause any ad >$50 spend + 0 conversions
  • Scaling threshold: hitting target CPA + ROAS for 7+ days

Data queries

  • Default to last 14 days for optimisation decisions
  • Always compare to previous 14-day period

Why this works

  • Brand context loads automatically in every session (global CLAUDE.md level via Claude Code/CLAUDE.md)
  • Channel-specific rules load when you cd into that channel's folder
  • MCPs + credentials are shared across all your work (one brand, one set of accounts)
  • Reports + deliverables are organised by discipline, which matches how you think about them

Channel-first variant

Same as in-house but you invert the structure - channel is the top level, project or client is nested inside.

Claude Code/

├── google-ads/ │ ├── campaign-spring-launch/ │ ├── always-on/ │ └── templates/ ├── meta-ads/ │ ├── campaign-spring-launch/ │ └── always-on/ └── klaviyo/ ├── welcome-series-rebuild/ └── ongoing-campaigns/

Best for specialists who live in one platform per workday. Keeps the platform's tools + rules front and centre.

Shared assets (_shared/)

One brand = lots of shared context

  • Brand guide - colours, fonts, logo files
  • Voice examples - good copy, bad copy, examples of tone
  • Templates - report templates, email templates, page templates
  • Customer research - personas, interviews, survey results

Put in _shared/. Reference from anywhere in the workspace.

Cross-discipline work

Some projects span multiple disciplines. Example: "Spring Launch" involves paid, email, SEO, content, landing pages.

2 options

Campaign-scoped project folder

Claude Code/

├── campaigns/ │ └── spring-launch-2026/ │ ├── CLAUDE.md │ ├── plan.md │ ├── paid/ │ ├── email/ │ ├── landing-page/ │ └── content/ ├── paid-media/ ├── email/ └── seo/

Campaign is its own project. Draws from the discipline folders when needed.

Cross-referenced folders

Keep everything in its discipline folder but tag with campaign:

paid-media/campaigns/spring-launch-2026.md email/campaigns/spring-launch-2026-welcome.html seo/content/spring-launch-2026-landing-brief.md

Less context isolation but less folder shuffling. Works for smaller campaigns.

When to add more structure

Start simple. Add structure when

  • You can't find things fast enough (need better naming or folders)
  • CLAUDE.md files are getting too long (split into sub-folders)
  • You're making mistakes caused by wrong context (isolation needed)
  • Multiple people join your workspace (more explicit conventions)

Don't add structure prematurely. 90% of in-house marketers do fine with 5-7 top-level folders.

Power-user tips

  • Brand CLAUDE.md is the anchor - every sub-folder inherits it, so put brand voice + rules there not in every sub-folder
  • Create sub-folder CLAUDE.md only when rules genuinely differ - for paid vs email, yes. For google-ads vs meta-ads within paid, often not.
  • _shared/ gets referenced constantly - keep brand-guide.md especially clean + current
  • If a campaign is big (spring launch, BFCM), give it its own project folder - cross-discipline orchestration needs a home

Action items

☐ If in-house/solo, create a brand-level CLAUDE.md at the top of your Claude Code folder

☐ Create _shared/ for brand assets and templates

☐ Decide: discipline-first or channel-first folder structure

☐ Big cross-discipline campaigns get their own project folder under campaigns/

☐ Don't over-structure - start simple, add folders when real pain appears

Next lesson: When to reorganise.

Exercises

  1. Review the concepts covered in this lesson: In-house + channel patterns.
  2. Write down your key takeaway from this lesson.
  3. Practice running any commands or prompts mentioned above inside your terminal.