Open Semantic Marketing Model
OSMM makes the decision work of marketing — strategy, audience, briefs, journeys, measurement — machine-readable, so your people, your systems, and your AI agents all operate from one shared structure.
What is OSMM
Open Semantic Marketing Model — a shared structure for the decisions that drive marketing.
OSMM is an open standard for the canonical objects and relationships that define the decision work of modern marketing — from strategy and audience through campaign, creative, delivery, and measurement.
It is not a platform or vendor framework. It is a shared structure that lets your stack, your people, and your AI agents operate against a common definition of the work — and improve that definition over time, as the system learns.
The problem we're solving
The platforms multiplied — automation, CDPs, orchestration, MMM. But the decision work that drives them stayed unstructured, living in Word docs, decks, and PDFs. That was an inefficiency tax in a pre-AI world. In an AI-native one, it becomes the ceiling that decides whether AI scales or stalls — agents can't reason reliably over free-text briefs and PDF strategy decks.
Make the decisions machine-readable
A persona in a 40-slide deck. An audience in a saved segment nobody else can see. A brief in a Word doc in someone's inbox. Each is a real decision your team already made — locked in a format no other system, and no AI agent, can reliably read. OSMM turns each one into a small, typed object: a person reads it at a glance, an agent acts on it directly.
The creative brief
{ "object_type": "creative_brief", "brief_id": "BR-201", "campaign_id": "CMP-1001", "audience_id": "AUD-101", "core_proposition": "Win back lapsed members with a seasonal offer", "status": "approved" }
The customer persona
{ "object_type": "persona", "persona_id": "PER-101", "name": "Deal-savvy value seeker", "motivations": ["stretch the budget", "not overpay"], "objections": ["fears quality drops with price"], "language": ["worth it", "no-brainer"] }
The target audience
{ "object_type": "audience", "audience_id": "AUD-101", "persona_id": "PER-101", "definition": "Lapsed members, 90+ days inactive", "includes": ["prior_purchases >= 1", "email_opt_in = true"], "excludes": ["active_subscription = true"], "est_size": 48200 }
The customer journey
{ "object_type": "journey", "journey_id": "JNY-winback", "audience_id": "AUD-101", "goal": "Reactivate lapsed members", "entry_trigger": "inactivity_days = 90", "stages": ["re-engage", "offer", "convert"], "channels": ["email", "paid_social", "sms"] }
The visual design system
{ "object_type": "design_system", "design_system_id": "DSY-101", "linked_brand_context": "BRC-101", "color": { "palette": [{ "name": "Navy", "value": "#0f1b35", "role": "primary" }] }, "typography": { "typefaces": [{ "name": "IBM Plex Sans", "role": "body" }] }, "identity": { "clear_space": "1x cap height", "minimum_size": "24px" }, "generation_constraints": { "prohibited": ["never regenerate the mark"] } }
The brand tone and voice
{ "object_type": "brand_context", "brand_context_id": "BRC-101", "voice_principles": ["Speak plainly; cut the jargon"], "vocabulary_avoid": ["revolutionary", "breakthrough"], "writing_dos": ["Lead with what actually changed"], "writing_donts": ["Never open with a feature spec"] }
Notice the IDs. The brief points to a campaign and an audience; the audience points to a persona; the journey points to the same audience; the design system points to the brand context it is the visual half of. Follow the pointers and an AI agent walks the whole chain — without you re-pasting a single document. That is what "a machine-readable decision layer" means in practice.
Off the shelf, ready to install
OSMM ships as an installable Claude plugin — 19 builder skills that turn the decks, docs, and spreadsheets you already have into structured objects. Install it once, hand Claude a persona deck, and say "turn this into an OSMM object." The right builder runs, asks a couple of clarifying questions, and writes the file. You review it — you never touch JSON.
Who it's for
The strategic case for a shared marketing object model — in outcomes, not schemas. Lineage, reliable AI at scale, and a learning system that compounds.
Read the leader's view → For technical teamsObject categories, the relationship model, real JSON examples, versioning, repo layout, and governance — everything you need to build against OSMM.
Read the technical view → For brand teamsTurn your design standards and tone of voice into one Brand Context object — so on-brand is the default across every team, agency, and AI agent, not a review-cycle catch.
Read the brand view → For creative teamsStructure the creative decision layer — briefs, personas, journeys — so your studio reuses context, runs reliable AI, and ships faster without losing the craft.
Read the studio view → For agenciesDeliver the brand systems, personas, and journeys you already produce as AI-ready objects that drop into your client's stack — a competitive wedge, not another deck.
Read the agency view →Get involved
OSMM is developed on GitHub under a maintainer-led model. The schemas, definitions, and documentation are free and open. Wave 1 — the activation core — is the current focus.
How it works
OSMM organizes marketing's decision work into five object categories, connected by an explicit chain from strategy to ROI — and a learning loop that feeds results back into context, so every campaign starts smarter than the last.
Durable business intelligence — business, brand, audience, persona, keywords. High-read, slow-changing.
The decisions that today live in documents — strategy, brief, journey, messaging framework.
The operational logic that makes the work executable at runtime.
Performance data structured for analysis. Append-only.
Insights that update the context layer — the part that makes the system compound.
↻ Learning loop: measurement updates context (persona, audience, brand, keywords) — so the graph is a cycle, not a pipeline.
{ "object_type": "creative_brief", "brief_id": "BR-201", "campaign_id": "CMP-1001", "audience_id": "AUD-101", "core_proposition": "Reactivate lapsed members with a seasonal offer", "deliverables": ["CRT-401", "CRT-402"], "approval_chain": ["USR-cmo", "USR-legal"], "status": "approved" }
Get in touch
Whether you want to adopt OSMM, become a design partner, or talk through what a shared marketing object model means for your operating model — we'd like to hear from you.