how do I prepare my csv to upload a schema to add properties to my group? Does it need to include the entire current schema or just the new/ additional parts. I'm not removing any just adding.
Hi Jack J., Please stand by as I search the Mixpanel knowledge base for an AI-powered answer. I normally take about 15 seconds or so. In case AI cannot answer your question, feel free to reach out to Mixpanel support at mixpanel.com/get-support. If you have follow-up questions for this thread, please tag me again with your question: @kapa.ai <follow-up question> 👋
Feel free to ask a follow-up question once I've answered by mentioning me with @kapa.ai
You’re mixing two different things here, so I’ll separate them:
Uploading a schema (Lexicon Schemas API / Lexicon CSV export/import) This controls how events/profiles are described in Lexicon (data dictionary), not the actual profile values.From the docs, there’s no requirement that you include the entire existing schema when you’re not truncating. You can upload just the entities/properties you want to add or change; other entities remain untouched. However, for a given entity, the uploaded schemaJson replaces the existing schema (with some metadata merging rules), so if you omit properties from that entity’s schema, they won’t be in that entity’s schema anymore. [Create/replace one]
When you import Lexicon via CSV from the UI, the CSV is an export of your current Lexicon; you edit it and re‑import. Existing descriptions/metadata for matching names are overwritten by what’s in the CSV; entries not in the CSV stay as‑is unless you choose the option to overwrite the entire dictionary during import. [Lexicon export/import]
When you use the Lexicon Schemas API, you send JSON, not CSV. For bulk upload you send an entries array; only the entities you include are created/updated, and you can optionally truncate to wipe everything first. [Upload schemas; Create/replace multiple]
Uploading/Updating Group Profiles via CSV (Users report) This is about actually adding properties to group profiles, not schemas.
To bulk update group profiles via CSV in the UI, you upload a CSV without headers, then map columns in the wizard. You must include a $group_id column (or choose it during mapping). [Bulk import from CSV; Group profiles via Users report]
Only the columns you select and map are imported. Existing profiles with the same $group_id are updated: new properties are added; if you provide values for existing properties, they are overwritten. You do not need to include every existing property for that group—just the identifier and the properties you want to add/change. [Bulk import from CSV]
So, for your use case (“not removing any, just adding”):
If you’re talking about group profile values via CSV: Prepare a CSV with:
One column for $group_id (matching your group IDs), and
One column per new property you want to add. You do not need to include the full current set of properties; only the ones you want to add or overwrite.
If you’re talking about Lexicon schema import:
For each entity whose schema you upload, the schemaJson you send becomes the new schema for that entity (with metadata merging). To avoid “removing” properties from that entity’s schema, include both the existing and new properties for that entity in the upload.
You don’t need to include all entities in the project—only the ones you’re changing, and don’t set truncate: true unless you intend to replace the whole dictionary. [Create/replace multiple]
If you can clarify whether you’re using the Users UI CSV import or the Lexicon CSV/API, I can give a concrete example format for your exact flow.
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
Let me check the knowledge base for you again. One moment! 📚
You’re using Lexicon → Profile Properties → CSV import, which edits the data dictionary (descriptions/metadata) for profile properties, not the actual group profile values. [Profile properties; Lexicon CSV import]
If your goal is to add properties to group profiles (i.e., set values on groups), the docs show two supported paths:
CSV upload via Users report (recommended for your case) This actually creates/updates group profiles and their properties. [Group profiles via Users report; Bulk import from CSV]Steps:Behavior:
Go to Users.
Click Add/Edit Profile → Import from CSV. (If you have Group Analytics, first choose the Group Key instead of User.) [Importing profiles via UI]
Prepare a CSV without headers:
Column 1: $group_id (the group ID that matches what you send on events).
Columns 2+ : one column per new group property you want to add/update. [Bulk import from CSV]
Upload the CSV.
In the wizard:
Map the identifier column to $group_id.
Map each other column to the desired group profile property name.
Uncheck any columns you don’t want to import. [Bulk import from CSV]
Click Import profiles.
Existing groups with that $group_id are updated: new properties are added; existing ones you include are overwritten.
You do not need to include the full current schema or all existing properties—just $group_id and the properties you want to add/change. [Bulk import from CSV]
Groups API (if you prefer API instead of CSV) Use group-set to add/update properties on group profiles. [Group-set property; Updating group profiles]Example (from docs):mp.group_set('company_id', 'company 1', { 'Company Type': 'Analytics', 'Company name': 'Mixpanel' })This creates/updates the group profile and sets those properties. [Updating group profiles]
Key point: The Lexicon → Profile Properties CSV import only changes how properties are described (names, descriptions, hidden/dropped flags, etc.), not the values on your groups. To actually “add properties to a group,” follow the Users → Add/Edit Profile → Import from CSV flow (or the Groups API).
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
Let me check the knowledge base for you again. One moment! 📚
You’re very close—there are two separate things here:
Lexicon CSV import (what you’re looking at now) = defines the schema (what profile properties exist: name, description, etc.).
Profile CSV import via Users = sets values on specific group profiles.
From your description (“org Id group key organization_id only has fields for distinct and org id; I want to add fields for city, state, persona, etc.”), you want to define new profile properties for that group type, not set values yet. That is done via Lexicon → CSV, and you only need to include the new properties, not the entire existing schema. [Lexicon export/import]
How to add new group profile properties via Lexicon CSV
In Mixpanel, go to Lexicon → Profile Properties.
Click Export and choose User Profile Properties. You’ll get a CSV by email. [Lexicon export/import]
Open that CSV and:
Find any existing row(s) for your group properties if present.
Add new rows for each property you want to add, e.g.:
city
state
persona
Fill in the columns according to the existing format (name, display name, description, type, etc.). Keep the same structure as the exported file; otherwise the import will be rejected. [Lexicon CSV import format]
Save the CSV (same structure, just with extra rows).
Back in Lexicon, click Import, select your edited CSV, review, and import.
For matching property names, descriptions/metadata will be overwritten by what’s in the CSV.
Properties not in the CSV remain unchanged unless you explicitly choose the option to overwrite the entire dictionary. [Lexicon export/import]
This will create those properties in the schema so they’re available as group profile properties for your organization_id group key.
If you later want to set values for those fields on each org
Once the properties exist in Lexicon, you can bulk set values per org via:
Users → Add/Edit Profile → Import from CSV, choosing your Group Key instead of User, and uploading a CSV with:
$group_id column (your organization_id values)
city, state, persona, etc. columns. [Importing profiles via UI; Bulk import from CSV; Group profiles via Users report]
You do not need to include all existing properties in either CSV—just follow the exported format for Lexicon, and for the Users import include $group_id plus the properties you want to set.
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
Let me check the knowledge base for you again. One moment! 📚
You’re running into a limitation that isn’t obvious from the UI: the Lexicon docs talk about Profile Properties in general, and mention that if you have Group Analytics you’ll see a dropdown to switch between User Profiles and Group Types. [Profile properties]
However, the knowledge sources do not describe:
A separate Lexicon CSV format that explicitly targets a specific group type (e.g. your organization_id group key), or
How to ensure that newly imported profile properties are attached to a particular group key vs just user profiles.
The Lexicon CSV import docs only say:
You export a CSV of “events and properties, and/or user profile properties,” edit it, and re‑import.
The CSV must match the exported format or it’s rejected.
Matching names get their metadata overwritten; entities not in the CSV stay unchanged, unless you choose to overwrite the entire dictionary. [Lexicon export/import]
They do not explain:
How group profile properties appear in that CSV,
How to scope new properties to a specific group key, or
Why a group type (like your organization_id) might not appear at all in the export.
Because of that, I can’t reliably say why your group doesn’t show in the Lexicon export or why the imported properties aren’t visible for that group type, beyond general behavior.
What is clearly documented is how to actually add properties to group profiles (values) via CSV:
Use the Users report → Add/Edit Profile → Import from CSV.
If you have Group Analytics, first choose the Group Key name (e.g. organization_id) instead of User. [Importing profiles via the UI]
Prepare a CSV without headers:
One column mapped to $group_id (your org ID values for that group key).
Additional columns mapped to the new properties (city, state, persona, etc.). [Bulk import from CSV; Updating group profiles]
This flow is explicitly documented to work for Group Profiles and does not depend on Lexicon showing the group in the export. [Updating group profiles]
Given the gaps in the Lexicon CSV docs around group types, the safest next steps based on the documentation are:
Use the Users → Import from CSV flow with your organization_id group key to actually add the properties and values to your org group profiles. [Importing profiles via the UI]
If you specifically need the properties to appear under that group type in Lexicon and they still don’t after you’ve sent data, this behavior isn’t covered in the provided docs; you’d need to contact Mixpanel Support so they can look at your project configuration.
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
Let me check the knowledge base for you again. One moment! 📚
$group_id is the identifier for the specific group instance you’re updating, not the global ID from Project Settings.
From the docs:
A group is identified by two things:
group_key – the type of group (e.g. company, organization_id)
group_id – the specific group (e.g. org_123, company_a) [Group analytics overview]
When you import/update Group Profiles via CSV:
You first choose the Group Key name (e.g. your organization_id) in the UI. [Importing profiles via UI]
In the CSV, the identifier column must be $group_id, and its values must match the group IDs you send on events for that group key (i.e., the specific org IDs you’re editing). [Importing profiles via UI; Bulk import from CSV]
So for “updating an org ID profile”:
group_key = your configured key (e.g. organization_id)
$group_id in the CSV = the actual org’s ID (e.g. 12345, acme_corp), unique per org you’re updating.
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
