# Marketing Learning Loop
Use this skill to make marketing a learning system instead of disconnected activity.
The loop is:
```text hypothesis -> asset/campaign -> tracked response -> qualified learning -> strategy adjustment -> next test ```
Every content idea, ad, brochure, website update, and channel test should either prove value, improve the next test, or be stopped.
For brochures, capture the buyer hypothesis, distribution channel, proof claim, tracking path, and next decision before treating the asset as finished.
Related Skills
- `/marketing-roi` owns financial proof, ROI models, attribution, and client proof packs.
- `/analytics-tracking` owns instrumentation and end-to-end tracking QA.
- `/content-strategy` proposes topic pillars and content roadmaps, then feeds testable hypotheses here.
- `/social-content` produces channel content, then records performance and audience signals here.
- `/ad-creative` produces creative variants, then records winning and losing angles here.
- `/paid-ads` structures spend and targeting, then records budget decisions and campaign outcomes here.
- `/campaign-planner` sets the broader campaign plan, then receives learning-loop updates when strategy changes.
- `/marketing-ideas` is useful when the loop shows a new tactic is needed but the channel is not obvious.
- `/marketing-psychology` is useful when the evidence suggests buyer motivation, trust, urgency, or framing is the blocker.
- `/offering-brochure` owns brochure and seller-brief production, then feeds distribution response and proof learnings back here.
This skill is the memory and decision cadence across all of them.
Required Context Load
Before acting:
1. If this is for an active project, read `references/active-projects.md`, then load the relevant project ledger. 2. Read relevant customer artifacts under `customers/<Customer Name>/`, especially meeting notes, project ledger, ROI artifacts, proposal value analysis, campaign plans, use-case research, and prior learning ledger. 3. If Drive docs are referenced and not mirrored locally, use the `/gdrive` read path to fetch them. Do not upload automatically. 4. Read supporting references: - `references/learning-ledger-schema.md` - `references/operating-cadence.md` - `references/output-paths.md` - `references/crm-handoff.md` when CRM activity or opportunity outcomes are part of the evidence - `references/faccorp-loop.md` when the customer is FACCorp - `references/paid-ads-audit-engine.md` when paid ads, campaign conversion, landing-page performance, tracking gaps, creative tests, or ad reporting are part of the evidence - `references/digital-marketing-funnel-best-practices.md` when evaluating a paid offer, landing page, CTA, form, content assist, or conversion-path experiment - `references/marketing-message-governance.md` and `research-thought-leadership/conversint-messaging-optimization/active-message-catalog.md` when updating Conversint's own marketing or prospecting message choices
Intake
Resolve:
- Customer name.
- Current campaign, content, ad, brochure, site, or funnel activity being reviewed.
- Time window.
- Available evidence: analytics, ad platform, CRM, call logs, form submissions, social metrics, sales notes, anecdotal feedback.
- Decision needed: continue, stop, change message, change audience, change channel, change asset, improve tracking, or escalate to ROI model.
If evidence is weak, record a low-confidence learning and recommend the missing tracking step.
Learning Quality Levels
| Level | Evidence | Allowed decision | |---|---|---| | Anecdote | One-off comment, internal opinion, sales impression | Capture as hypothesis only | | Directional | Small sample metrics or qualitative pattern | Adjust copy/angle cautiously | | Operational | Repeated pattern across tracked activity | Change content/campaign plan | | Economic | Qualified leads, opportunities, revenue, or margin | Feed `/marketing-roi` and budget decisions | | Causal | Incrementality test or strong control | Scale/stop with high confidence |
Do not let anecdote rewrite strategy. Promote learning only when evidence improves.
Workflow
- **Read the current plan and prior learnings.** Identify active hypotheses, assets, target segment, channel, owner, and metric.
- **Collect evidence.** Website analytics, brochure/download metrics, form/call/booking submissions, CRM status, ad metrics, social performance, sales notes, and client feedback.
- **Diagnose paid campaigns when present.** Use `references/paid-ads-audit-engine.md` to separate tracking, attribution, creative, landing page, budget, audience, and follow-up problems.
- **Classify learnings.** Audience, message, channel, offer/content, funnel/UX, sales follow-up, measurement, and ROI/economic.
- **Decide.** Continue, iterate message, narrow audience, shift channel, improve landing/site path, fix tracking, escalate to `/marketing-roi`, or stop.
- **Write the ledger.** Save/update the customer learning ledger. Preserve prior learnings; do not overwrite history.
- **Synchronize the active message catalog.** For Conversint internal marketing, update only the catalog entries affected by this readout. Preserve message IDs, source paths, and every channel status (`meta_ads`, `landing_pages`, `brochures`, `social`, `cold_outreach`); use only `Active candidate`, `Evidence-only`, `Held`, or `Retired`. Never promote a message to proven or default solely from clicks, impressions, or a small qualitative sample. Refresh the source hashes with `.claude/skills/marketing-learning-loop/scripts/validate_active_message_catalog.py --print-hashes`, then run `.claude/skills/marketing-learning-loop/scripts/validate_active_message_catalog.py`; do not report the catalog ready if validation fails.
- **Route follow-ups.** Project tasks to `/project-manager`; tracking fixes to `/analytics-tracking`; ROI model to `/marketing-roi`; new content plan to `/content-strategy`; new ads to `/paid-ads` + `/ad-creative`; new social posts to `/social-content`.
Paid Ads Learning Loop
When paid ads are involved, do not record only platform metrics. Record the diagnosis that explains what to do next.
Required fields for paid ad entries:
- Health score or readiness-gap score.
- Funnel stage with the first material drop-off.
- Tracking status: verified / partial / broken / unknown.
- Creative diversity score when creative is part of the test.
- Landing-page status: matched / friction / broken / unknown.
- One change next.
- Metric and review date for that change.
Decision rules:
- If tracking is weak, the learning quality cannot exceed Directional.
- If tracking is broken, the decision is `Fix tracking`, not `Change audience`.
- If clicks are healthy but form events are weak, route landing-page/form work before changing creative.
- If CTR is weak and tracking is verified, route creative iteration.
- If qualified leads exist but follow-up is weak, route CRM/operator follow-up before increasing spend.
- Only escalate to `/marketing-roi` when lead quality, opportunity, revenue, or margin evidence exists or a proof model is needed.
Ledger Path
For named customers:
```text customers/<Customer Name>/<Customer Name> - Marketing Learning Ledger.md ```
For Conversint internal demand tests:
```text research-thought-leadership/<topic-slug>/marketing-learning-ledger.md ```
For active customer ledgers, commit Markdown to `main` using:
```bash scripts/commit-md-to-main.sh \ "customers/<Customer Name>/<Customer Name> - Marketing Learning Ledger.md" \ "Update marketing learning ledger: <Customer Name>" ```
For Conversint internal outbound, the companion message catalog is:
```text research-thought-leadership/conversint-messaging-optimization/active-message-catalog.md ```
It records current, evidence-bounded choices for every Conversint marketing channel. Its source-content hashes make a changed source artifact a hard stale signal. The learning ledger remains the historical record, `references/patrick-outreach-voice.md` remains the writing-voice source, and `references/sales-playbook.md` remains the sales-conversation source.
Ledger Entry Format
Use the schema in `references/learning-ledger-schema.md`:
```markdown ## <YYYY-MM-DD> - <Learning Title>
**Status:** Hypothesis / Active test / Learned / Rejected / Needs tracking **Customer:** **Asset or campaign:** **Audience:** **Channel:** **Hypothesis:** **Evidence:** **Learning quality:** Anecdote / Directional / Operational / Economic / Causal **Decision:** Continue / Change / Stop / Fix tracking / Escalate to ROI **Next action:** **Owner:** **Metric to watch next:** **Source links or file paths:** ```
FACCorp Default Loop
For FACCorp, use `references/faccorp-loop.md`. Default loop:
1. Pick one buyer/industry hypothesis. 2. Publish one educational website/brochure asset. 3. Promote through one or two controlled channels. 4. Track brochure/download/form/call/source behavior. 5. Label each lead by fit and follow-up status. 6. Review weekly: - What message got attention? - Did attention become qualified lead activity? - Did qualified activity become meetings/applications/files? - What should change next week? 7. Feed economic data into `/marketing-roi` once pipeline or funded-deal outcomes exist.
Output Format
```markdown ## Learning Readout - Customer: - Period: - Current proof level:
## What We Learned | Learning | Evidence | Quality | Decision |
## Paid Ads Diagnostic | Campaign | Health | First blocker | One change next | Metric |
## What Changes Next | Change | Owner | Metric | Due |
## ROI Implications - What can be proven: - What remains a proxy: - What data is needed:
## Ledger Update - Path: - Entries added: - Active message catalog changes: ```
Quality Rules
- Every strategic adjustment must cite evidence or be labeled as a hypothesis.
- Do not chase vanity metrics when qualified lead or revenue data exists.
- Preserve losing tests as useful learning.
- Record measurement gaps as first-class findings.
- For paid ads, preserve whether the test failed because of market/message evidence or because measurement was not reliable.
- For Conversint internal marketing, do not let `/fb-ads`, `/paid-ads`, `/ad-creative`, `/offering-brochure`, `/social-content`, `/gmail`, or `/prep-cold-outreach` silently revise message eligibility. They consume this catalog; this skill owns its updates.
- `Held` and `Retired` catalog entries are never eligible for a cold first touch.
- Keep cadence realistic; most small teams need a weekly tactical loop and monthly ROI readout.
- Do not let content volume become the goal. The goal is qualified learning and ROI proof.