Can anyone at Mixpanel help me understand why user properties can't be used as group keys ? The most obvious use is to have analytics by company. One user is part of a company. Why do I need to add the company id to each event instead ? This makes 0 sense.
Hi Laurent- Julianne from Mixpanel Support here! Great question- I'm definitely happy to offer some insight here. Overall, having the group keys be on events gives more flexibility for analysis. If the group keys were user profile properties, all of the events tracked by one user would be associated with the given group/ groups. There are use cases where one user might track events that belong to separate groups, or no groups at all. Event-based group keys allows event-by-event specificity. Event data also offers historical context, as well as letting anonymous users track events to a group. For example, if a user started tracking events to a new group, event-based groups allow you to see their historical events still associated with the initial group. Can you share more on your setup where having it as a user property would be preferable?
Hi Julianne B., thanks for the answer. I understand that it is flexible, but it is also needlessly complicated for my use case. For the context, I am migrating from June which is shutting down after being acquired by Amplitude. What they do well is company views (among other things that greatly simplified our life with analytics). When creating my project on Mixpanel, there was a popup advertising company views in mixpanel (I think this would be what the popup referred to ?). I thought "great, it will be simple!". But my experience has been quite frustrating so far in trying to set it up.
There is a gap between the communication language ("B2B analysis", examples with company dashboards, ...) and the product language ("group analytics"). I wasn't sure that they are the same thing.
Segment already has a standard way of passing company info in its Identify method, so my expectation was that everything would already work out of the box based on this.
When I found that group ids have to be set up for the feature to even appear, I tried to understand how it works from the settings pages, but it is quite cryptic IMHO. For instance there is no autocomplete (see screenshot) in the group identifier so you have to completely guess what to put there. I couldn't understand either what the "B2B Company settings"/"name key" is.
My first instinct was to put a user property as the group id. Then, in the doc, I found out that each event has to have the property. This just feels wrong to me. Semantically, "companyId" should not be a property of an event. Practically, this is also error-prone since you have to verify that all of the events you create have this one specific property. This is also a useless property for all the other destinations we have in Segment, since this is just a quirk of Mixpanel.
One solution would be to let user properties be group ids.
Event data also offers historical context, as well as letting anonymous users track events to a group. For example, if a user started tracking events to a new group, event-based groups allow you to see their historical events still associated with the initial group.
Is there any reason why user properties couldn't have history ?
I just read in your documentation (https://docs.mixpanel.com/docs/data-structure/group-analytics#how-is-b2b-company-analytics-different-than-group-analytics)
Company Analytics is specific to B2B Companies where you are likely to have a user ID and company ID. Here we focus on the idea that users âbelongâ to a company, and that company behavior is âdependantâ on user behavioral activity. For instance, in SaaS companies, the health of an account is determined by how active the users of that account are.
Thanks for providing those additional details. That makes a lot of sense around how the implementation isn't as straightforward for your use case, and it would be easier to be able to select a user profile property here. I've passed along that feedback, along with flagging that the language around the features isn't clear in the changelog. Within the data model, user profile properties in Mixpanel were designed to reflect the current state of the user, not historical changes. Instead, properties that may change over time were expected to be captured on events. This is not ideal for all properties, though, and it is now possible to have historical profile data via Warehouse connectors. However, group analytics was developed prior to that being available.