Back to .md Directory

BrandPersona

Defines a structured JSON schema for representing a target audience segment with demographic and psychographic fields.

May 2, 2026
0 downloads
0 views
ai
View source

What this file does

Defines a structured JSON schema for representing a target audience segment with demographic and psychographic fields.

When to use it

  • Documenting buyer personas for marketing or product alignment
  • Standardizing audience segment data across teams or tools
  • Validating persona JSON payloads in an API or data pipeline
  • Creating a reusable template for user research outputs

BrandPersona

Properties

PropertyExpected TypeDescription
namestringA fictional but descriptive moniker that humanizes the persona (e.g., 'Eco-Conscious Ethan').
jobTitlestringThe persona's professional title for B2B contexts or primary life role/stage for B2C contexts.
quotationstringA first-person mantra or quote that encapsulates the persona's core motivation or pain point.
ageinteger OR stringThe chronological age or a descriptive life stage range (e.g., '25-34' or 'Mid-40s').
genderstringThe gender identity or demographic lean of the persona.
locationstringThe geographic region, climate, or urbanization level (e.g., 'Metropolitan Europe' or 'Rural Midwest').
income_educationstringA summary of the persona's socioeconomic status, including annual earnings and highest level of schooling.
family_statusstringHousehold composition, marital status, and presence of dependents.

Example

{
  "name": "Modern Minimalist Maya",
  "jobTitle": "Senior UX Designer & Freelance Consultant",
  "quotation": "I value experiences over ownership; if a product doesn't simplify my life, it's just clutter.",
  "age": "28-35",
  "gender": "Female / Non-binary leaning",
  "location": "Urban Pacific Northwest (Seattle/Portland/Vancouver)",
  "income_education": "$95k+ annual income; Bachelor of Fine Arts in Digital Media.",
  "family_status": "Single; living with a partner in a rented high-rise apartment; no children; pet owner (Greyhound)."
}

JSON Schema


{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "BrandPersona",
  "description": "A detailed representation of a target audience segment used for marketing and product alignment.",
  "type": "object",
  "required": [
    "name",
    "jobTitle",
    "quotation",
    "age"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "A fictional but descriptive moniker that humanizes the persona (e.g., 'Eco-Conscious Ethan')."
    },
    "jobTitle": {
      "type": "string",
      "description": "The persona's professional title for B2B contexts or primary life role/stage for B2C contexts."
    },
    "quotation": {
      "type": "string",
      "description": "A first-person mantra or quote that encapsulates the persona's core motivation or pain point."
    },
    "age": {
      "oneOf": [
        {
          "type": "integer",
          "minimum": 0,
          "description": "The exact age of the persona."
        },
        {
          "type": "string",
          "description": "A descriptive age range (e.g., '25-34' or 'Mid-40s')."
        }
      ],
      "description": "The chronological age or life stage range of the target segment."
    },
    "gender": {
      "type": "string",
      "description": "The gender identity or demographic lean of the persona."
    },
    "location": {
      "type": "string",
      "description": "The geographic region, climate, or urbanization level (e.g., 'Metropolitan Europe' or 'Rural Midwest')."
    },
    "income_education": {
      "type": "string",
      "description": "A summary of the persona's socioeconomic status, including annual earnings and highest level of schooling."
    },
    "family_status": {
      "type": "string",
      "description": "Household composition, marital status, and presence of dependents."
    }
  }
}

Brand Persona List JSON Schema


{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "BrandPersonaList",
  "description": "A collection of target audience segments.",
  "type": "array",
  "items": {
    "type": "object",
    "title": "BrandPersona",
    "required": [
      "name",
      "jobTitle",
      "quotation",
      "age"
    ],
    "properties": {
      "name": {
        "type": "string",
        "description": "A fictional but descriptive moniker (e.g., 'Eco-Conscious Ethan')."
      },
      "jobTitle": {
        "type": "string",
        "description": "Professional title or primary life role/stage."
      },
      "quotation": {
        "type": "string",
        "description": "A first-person mantra or quote capturing their core attitude."
      },
      "age": {
        "oneOf": [
          { "type": "integer", "minimum": 0 },
          { "type": "string" }
        ],
        "description": "The chronological age or a descriptive range (e.g., '25-34')."
      },
      "gender": {
        "type": "string",
        "description": "Gender identity or demographic lean."
      },
      "location": {
        "type": "string",
        "description": "Geographic region or urbanization level."
      },
      "income_education": {
        "type": "string",
        "description": "Socioeconomic status, earnings, and educational background."
      },
      "family_status": {
        "type": "string",
        "description": "Household composition and marital status."
      }
    }
  }
}

What's inside

Two JSON schemas (BrandPersona and BrandPersonaList), a property table, and one example object.

Change this for your project

  • Replace example values in the Example block with your own persona data
  • Adjust required fields in the schema if your use case needs different mandatory properties

Where it goes

Keep it in your repository where the agent or team that needs it will read it.

Worth borrowing

  • Using a fictional name and first-person quote to humanize a demographic segment
  • Separating a single-item schema from a list schema for reuse

Related Documents