Data Reference: Properties and Events
Every profile property and event CRMConnect writes into Klaviyo.
Everything CRMConnect writes into Klaviyo is listed on this page. Properties live on the client's Klaviyo profile and always reflect the current state; events are the timestamped history and never change once written. Mindbody-sourced items are prefixed MB so they are easy to find in segment builders and template editors.
How updates reach Klaviyo
Every property and event on this page updates on one of three rhythms:
- Instant. Mindbody notifies the integration the moment something changes, and the update lands on the Klaviyo profile within seconds to about a minute. Client details, appointments, classes, sales, memberships, and contracts all move at this speed.
- Every 15 minutes. A safety-net sweep reconciles appointment data, so even if a notification is ever missed, the profile catches up within a quarter hour.
- Nightly. Visit-derived properties (last visit date, last location visited, the accumulating list of locations visited) are computed from yesterday's check-ins and refresh once per night. A daily sales sweep also reconciles purchase data; because every event carries a unique identifier, this pass can never create duplicates.
For the full timing story, see Sync timing and reliability.
Profile properties
Klaviyo native fields
These are written to Klaviyo's own standard fields, so everything in Klaviyo that reads them (previews, personalization tags, birthday flows) just works.
| Property | Type | What it holds | Updates | Use it for |
|---|---|---|---|---|
| Text | The profile identifier; clients are matched between systems by email address | Instant | The key that ties Mindbody and Klaviyo together | |
| First Name | Text | The client's first name from Mindbody | Instant | Personalization ("Hi {{ first_name }}") |
| Last Name | Text | The client's last name from Mindbody | Instant | Personalization and front-desk context |
| Phone Number | Text (E.164) | The client's phone number, formatted for SMS | Instant | SMS sending, once the client has consented in Klaviyo |
| Birthday | Date | The client's Mindbody birth date, written to Klaviyo's standard Birthday field | Instant | Klaviyo's built-in birthday flows |
Contact basics
| Property | Type | What it holds | Updates | Use it for |
|---|---|---|---|---|
| MB Client ID | Text | The client's Mindbody identifier | Instant | Cross-referencing a profile with Mindbody |
| MB Unique client ID | Text | Mindbody's globally unique client identifier | Instant | Reliable matching across sites |
| MB Gender | Text | As recorded in Mindbody | Instant | Audience refinement where relevant |
| MB Date of birth | Date | Birth date (also mirrored to Klaviyo's Birthday field) | Instant | Age-based segments |
| MB Profile creation date | Date | When the client was created in Mindbody | Instant | New-client welcome audiences, cohort reporting |
| MB Status | Text | The client's Mindbody status (Member, Non-Member, and any custom statuses you use) | Instant | Member vs. non-member messaging |
| MB Inactive | Boolean | Whether the client is marked inactive in Mindbody | Instant | Excluding inactive clients from campaigns |
| MB Liability released | Boolean | Whether the liability waiver is signed | Instant | The Waiver Not Signed segment, compliance chasing |
| MB Account balance | Number | The client's current account balance | Instant | Balance-due reminders |
Communication preference mirrors
Mindbody's six communication preferences are mirrored onto the profile for reference and segmentation. They never change anyone's Klaviyo subscription status; Klaviyo consent stays entirely under Klaviyo's control. See Consent, subscriptions, and privacy.
| Property | Type | What it holds | Updates | Use it for |
|---|---|---|---|---|
| MB Send account emails | Boolean | Mindbody preference for account emails | Instant | Reference when auditing preferences |
| MB Send promotional emails | Boolean | Mindbody preference for promotional emails | Instant | The Promo Opt-In segment |
| MB Send schedule emails | Boolean | Mindbody preference for schedule emails | Instant | Reference for schedule-related sends |
| MB Send account texts | Boolean | Mindbody preference for account texts | Instant | Reference when planning SMS |
| MB Send promotional texts | Boolean | Mindbody preference for promotional texts | Instant | Reference when planning SMS |
| MB Send schedule texts | Boolean | Mindbody preference for schedule texts | Instant | Reference for schedule-related SMS |
Locations
Location properties carry your studios' actual names (from the managed location naming table), not internal numbers. See Locations and multi-site brands.
| Property | Type | What it holds | Updates | Use it for |
|---|---|---|---|---|
| MB Home location | Text | The client's home studio, by name | Instant | Per-location campaigns and sender identity |
| MB Locations visited | List | Every studio the client has ever checked in at, as an accumulating trail | Nightly | Cross-location behavior, "has visited X" audiences |
| MB Last location visited | Text | The studio of the most recent visit | Nightly | Location-specific win-back messaging |
| MB Last visit date | Date | When that most recent visit happened | Nightly | Lapsed segments (no visit in 30, 60, 90 days) |
| MB Last purchase location | Text | The studio (or online store) of the most recent purchase | Instant on sale | Attributing purchase behavior to a location |
Upcoming appointment
The entire block recomputes instantly on every booking change: the client books, cancels, or reschedules anywhere in your business, and the profile reflects the new next appointment within about a minute. A 15-minute sweep backstops it.
| Property | Type | What it holds | Updates | Use it for |
|---|---|---|---|---|
| MB Upcoming appt datetime | Date | When the next appointment is | Instant | Sorting, countdown logic in flows |
| MB Upcoming appt day | Text | Human-friendly day, e.g. "Monday, July 13" | Instant | Reminder email copy |
| MB Upcoming appt time | Text | Human-friendly time, e.g. "06:00 am" | Instant | Reminder email copy |
| MB Upcoming appt name | Text | The service booked | Instant | Service-specific prep content |
| MB Upcoming appt staff | Text | Who the appointment is with | Instant | "See you with {{ staff }}" personalization |
| MB Upcoming appt location | Text | Which studio | Instant | Directions, parking, location-specific notes |
| MB Upcoming appt site | Text | Which Mindbody site (for multi-site brands) | Instant | Multi-brand routing |
| MB Upcoming appt ID | Text | Mindbody's booking id; "None" when nothing is booked | Instant | No Upcoming Appointment audiences (rebooking pushes) |
| MB Upcoming appt category | Text | The service category | Instant | Category-level audiences |
| MB Upcoming appt updated date | Date | When this block last recomputed | Instant | Freshness checks in advanced segments |
Appointment history
| Property | Type | What it holds | Updates | Use it for |
|---|---|---|---|---|
| MB First appointment date | Date | The client's first-ever appointment | Instant on status change | New-client journeys, anniversary campaigns |
| MB Last appointment status | Text | The most recent appointment's outcome (Confirmed, Arrived, NoShow, and so on) | Instant on status change | No-show follow-ups |
| MB Last appointment status name | Text | Which service that appointment was | Instant on status change | Service-specific follow-up content |
| MB Last appointment status date | Date | When it happened | Instant on status change | Recency-based audiences |
| MB Last appointment status location | Text | Where it happened | Instant on status change | Location-specific follow-ups |
| MB Last appointment updated start time | Date | The start time of the most recently updated appointment | Instant on status change | Advanced scheduling logic |
Classes
| Property | Type | What it holds | Updates | Use it for |
|---|---|---|---|---|
| MB Next class booked | Text | The next class on the schedule; "None" when nothing is booked | Instant on booking change | No-class-booked rebooking audiences |
| MB Next class booked id | Text | Mindbody's class booking id | Instant on booking change | Cross-referencing with Mindbody |
| MB Next class booked date | Text | The date of that class | Instant on booking change | Reminder copy |
| MB Next class booked time | Text | The time of that class | Instant on booking change | Reminder copy |
| MB Next class booked datetime | Date | Date and time combined, as a real date | Instant on booking change | Date math in segments and flows |
| MB Next class booked staff | Text | Who teaches it | Instant on booking change | Instructor personalization |
| MB Next class booked location | Text | Which studio | Instant on booking change | Location-specific class content |
| MB Next class booked site | Text | Which Mindbody site | Instant on booking change | Multi-brand routing |
| MB Next class updated date | Date | When this block last updated | Instant on booking change | Freshness checks |
Purchases and packs
| Property | Type | What it holds | Updates | Use it for |
|---|---|---|---|---|
| MB Last intro offer purchased | Text | The client's most recent intro offer | Instant on sale | The Intro Offer Buyers segment, conversion journeys |
| MB Last intro offer purchased date | Date | When they bought it | Instant on sale | Timing the intro-to-member conversion push |
Per-pack properties. For each pack or series a client buys, the integration writes a dedicated set of three properties named after the pack itself:
| Property pattern | Type | What it holds | Updates | Use it for |
|---|---|---|---|---|
| MB [Pack name] count | Number | Total sessions in the pack | Instant on sale | Knowing what was purchased |
| MB [Pack name] remaining | Number | Sessions left | Instant | Running-low campaigns ("only 2 classes left") |
| MB [Pack name] exp date | Date | When the pack expires | Instant | Expiring-soon campaigns |
For example, a client who buys the Two Week Intro Offer gets "MB Two Week Intro Offer count", "MB Two Week Intro Offer remaining", and "MB Two Week Intro Offer exp date" on their profile.
Contracts
| Property | Type | What it holds | Updates | Use it for |
|---|---|---|---|---|
| Contract | Text | The current contract's name | Instant | Contract-holder audiences |
| MB Contract status | Text | The contract's current status | Instant | Active vs. suspended vs. terminated messaging |
| MB Contract end date | Date | When the contract ends | Instant | The Contract Renewal Window segment |
Events
Events power flow triggers and revenue attribution. Each carries its details as event properties, and every event is written with a stable unique identifier, so retries and reconciliation sweeps can never double your revenue or fire a flow twice for the same moment.
| Event | Fires when | Key properties | Typical flow |
|---|---|---|---|
| Placed Order | A sale completes in Mindbody (within about a minute) | Total value, line items, location, site | Post-purchase thank-you; this is what Klaviyo revenue reporting and attribution read |
| Ordered Product | Once per line item of every sale | ProductName, price, quantity, location | Service-specific audiences and post-purchase content per item |
| MB Appointment Booked | An appointment is created | Site, Location, Staff, Staff ID, Appointment ID, Start, End, Duration minutes | Booking confirmations, pre-visit prep |
| MB Appointment Cancelled | An appointment is cancelled | Same property family as Booked | Cancellation rescue ("rebook your spot") |
| MB Appointment Confirmed and related status events | The appointment's status changes (confirmed, arrived, no-show outcomes); the profile's last-appointment block updates at the same time | Same property family, plus the status | No-show follow-ups, arrival-based journeys |
| MB Class Booked | A class spot is booked | Class, staff, location, schedule details | Class confirmations and first-class welcome |
| Class completion and cancellation events | Attendance is recorded or a class booking is cancelled | Class, location, timing details | Post-class feedback, cancellation rescue |
| MB Membership Activated | A membership starts | Membership details, location | New-member onboarding series |
| MB Membership Cancelled | A membership ends | Membership details, location | Win-back and exit-survey flows |
| MB Contract Created | A contract is signed | Contract name, status, dates | New-contract welcome and expectation setting |
| Contract status events | A contract changes status | Contract name, new status | Suspension and reactivation messaging |
| MB Contract Cancelled | A contract is cancelled | Contract name, dates | Cancellation save and win-back flows |
One practical note: an event type appears in your Klaviyo metrics list the first time it fires in your account, so a brand-new account shows the list growing over its first days of activity. If you do not see an event yet, it simply has not happened yet.
Resources
- CRMConnect: Mindbody → Klaviyo | Data Points Synced - the live data dictionary spreadsheet, every property and event at a glance.
- Sync timing and reliability - the full story of what updates when.
- Consent, subscriptions, and privacy - how preference mirrors relate to Klaviyo consent.