From dbfc38cc3ad6a91308f7d3fe8284b899a84a7571 Mon Sep 17 00:00:00 2001 From: Shyaan Khan Date: Mon, 9 Mar 2020 12:36:44 -0700 Subject: [PATCH 1/5] Updated Group call documentation --- .../destinations/catalog/mixpanel/index.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/connections/destinations/catalog/mixpanel/index.md b/src/connections/destinations/catalog/mixpanel/index.md index cb81f38374..d0e7c77c6b 100644 --- a/src/connections/destinations/catalog/mixpanel/index.md +++ b/src/connections/destinations/catalog/mixpanel/index.md @@ -71,8 +71,22 @@ analytics.identify({ ## Group -Group calls are sent to Mixpanel if, **and only if**, the Group Identifier Traits setting has one or more traits saved. For more information about Mixpanel's Group Analytics, check out -[this article](https://help.mixpanel.com/hc/en-us/articles/360025333632-Group-Analytics). +Group calls are sent to Mixpanel if, **and only if**, + +1. The Group Identifier Traits setting has one or more traits saved in the destination settings for Mixpanel. [INSERT IMAGE HERE] +2. You have created a group key in your Mixpanel [project settings](https://help.mixpanel.com/hc/en-us/articles/360025333632-Group-Analytics#implementation). +3. A Group trait with the same name as one of the configured Group Identifier Traits is sent with the group call. +```js +analytics.group("0e8c78ea9d97a7b8185e8632", { + name: "Initech", + company_id: "0e8c78ea9d97a7b8185e8632", // Group identifier trait. + industry: "Technology", + employees: 329, + plan: "enterprise", + "total billed": 830 +}); +``` +Mixpanel supports multiple definitions of groups. For more information about Mixpanel’s Group Analytics, check out this [article](https://help.mixpanel.com/hc/en-us/articles/360025333632-Group-Analytics). If the group call **does not** have a group trait that matches the Group Identifier Traits setting, then the event will be ignored. From 4119e35c96c5c2b223f6a12a0930879b0d760677 Mon Sep 17 00:00:00 2001 From: sanscontext Date: Mon, 9 Mar 2020 14:34:10 -0700 Subject: [PATCH 2/5] copy, formatting, url updates --- .../destinations/catalog/mixpanel/index.md | 69 +++++++++++-------- 1 file changed, 42 insertions(+), 27 deletions(-) diff --git a/src/connections/destinations/catalog/mixpanel/index.md b/src/connections/destinations/catalog/mixpanel/index.md index d0e7c77c6b..1c3145b46d 100644 --- a/src/connections/destinations/catalog/mixpanel/index.md +++ b/src/connections/destinations/catalog/mixpanel/index.md @@ -2,30 +2,37 @@ rewrite: true title: Mixpanel Destination --- -[Mixpanel](https://mixpanel.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners) is an event tracking and segmentation platform for your web and mobile apps. By analyzing the actions your users perform, you can gain a better understanding to drive retention, engagement, and conversion. The client-side Mixpanel Destination code is open-source. You can browse the code on Github for [Client](https://github.com/segment-integrations/analytics.js-integration-mixpanel), [Server](https://github.com/segmentio/integration-mixpanel), [iOS](https://github.com/segment-integrations/analytics-ios-integration-mixpanel) and [Android](https://github.com/segment-integrations/analytics-android-integration-mixpanel). -This document was last updated on April 30, 2018. If you notice any gaps, outdated information or simply want to leave some feedback to help us improve our documentation, please [let us know](https://segment.com/help/contact)! +[Mixpanel](https://mixpanel.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners) is an event tracking and segmentation platform for your web and mobile apps. By analyzing the actions your users perform, you can gain a better understanding to drive retention, engagement, and conversion. The client-side Mixpanel Destination code is open-source. + +You can browse the code on Github for [Analytics.js in Device-mode](https://github.com/segmentio/analytics.js-integrations/tree/master/integrations/mixpanel), [Cloud-mode](https://github.com/segmentio/analytics-cloud-integrations/tree/master/integrations/mixpanel), [iOS](https://github.com/segment-integrations/analytics-ios-integration-mixpanel) and [Android](https://github.com/segment-integrations/analytics-android-integration-mixpanel). + +If you notice any gaps, outdated information or simply want to leave some feedback to help us improve our documentation, please [let us know](mailto:docs-feedback@segment.com)! ## Getting Started {% include content/connection-modes.md %} -1. From your Segment UI's Destinations page click on **Add Destination**. -2. Search for Mixpanel within the Destinations Catalog and confirm the Source you'd like to connect to. +1. From the Segment app Destinations page click on **Add Destination**. +2. Search for Mixpanel in the Destinations Catalog and confirm the Source to connect to. 3. Copy your Mixpanel "API Secret" and "Token", and paste them into the Connection Settings in Segment. 4. Enable the destination to start sending your data to Mixpanel. ## Page -If you haven't had a chance to review our spec, please take a look to understand what the [Page method](https://segment.com/docs/connections/spec/page/) does. An example call would look like: +If you haven't had a chance to review our spec, please take a look to understand what the [Page method](/docs/connections/spec/page/) does. An example call would look like: + ```javascript analytics.page() ``` -By default, the Page call is transformed to Mixpanel events. This sends all `page` and `screen` calls with a single name, `Loaded a Page` or `Loaded a Screen` respectively, with the calls' properties in the body. This gives the best experience of Page/Screen analytics with Mixpanel's reporting. You can disable this default by changing the "Track All Pages to Mixpanel with a Consolidated Event Name" Mixpanel destination settings. +By default, the Page call is transformed to Mixpanel events. This sends all `page` and `screen` calls with a single name, for example `Loaded a Page` or `Loaded a Screen` respectively, with the calls' properties in the body. This gives the best experience of Page/Screen analytics with Mixpanel's reporting. + +You can disable this default by changing the "Track All Pages to Mixpanel with a Consolidated Event Name" in the Mixpanel destination settings. If you want to track the `page` or `screen` calls to Mixpanel with the name or category in the event name, we offer three more options for sending page/screen calls. -> **Note:** Beginning with "Consolidate Page" calls, the following options are each *mutually exclusive*. [See the code for details](https://github.com/segment-integrations/analytics.js-integration-mixpanel/blob/master/lib/index.js#L87-L122) +> note "" +> **Note:** Beginning with "Consolidate Page" calls, the following options are each *mutually exclusive*. [See the code for details](https://github.com/segmentio/analytics.js-integrations/blob/master/integrations/mixpanel/lib/index.js#L96-L139) 1. Track All Pages to Mixpanel with a Consolidated Event Name 2. Track all Pages to Mixpanel @@ -43,20 +50,22 @@ If you select "Track Named Pages to Mixpanel", we will send a `Viewed [name] Pag In short, Segment will only send 1 event to Mixpanel per `page` call. ## Identify -If you haven't had a chance to review our spec, please take a look to understand what the [Identify method](https://segment.com/docs/connections/spec/identify/) does. An example call would look like: -```javascript +If you haven't had a chance to review our spec, please take a look to understand what the [Identify method](/docs/connections/spec/identify/) does. An example call would look like: + +```js analytics.identify('userId123', { firstName: 'James', lastName: 'Gibbon' }) ``` + The first thing you'll want to do is to identify your users so Mixpanel knows who they are. You'll use the Identify method to accomplish this which takes the unique `userId` of a user and any `traits` you know about them. ### People Segment doesn't send data to Mixpanel People by default, since this usually requires upgrading your Mixpanel account. To enable Mixpanel People, change the "Use Mixpanel People" setting in your Segment Settings UI. -If you want to add people properties in Mixpanel before you know the user's unique databse `userId` you can identify `traits` without the `userId`. +To add people properties in Mixpanel before you know the user's unique databse `userId`, you can identify `traits` without the `userId`. **Note:** this only works in Analytics.js and our mobile SDKs. @@ -64,7 +73,7 @@ Your `identify` call would look like this in Analytics.js if you only want to se ```js analytics.identify({ - email: 'friends@segment.com', + email: 'hello@example.com', name: 'Ian Taylor' }) ``` @@ -76,6 +85,7 @@ Group calls are sent to Mixpanel if, **and only if**, 1. The Group Identifier Traits setting has one or more traits saved in the destination settings for Mixpanel. [INSERT IMAGE HERE] 2. You have created a group key in your Mixpanel [project settings](https://help.mixpanel.com/hc/en-us/articles/360025333632-Group-Analytics#implementation). 3. A Group trait with the same name as one of the configured Group Identifier Traits is sent with the group call. + ```js analytics.group("0e8c78ea9d97a7b8185e8632", { name: "Initech", @@ -86,7 +96,8 @@ analytics.group("0e8c78ea9d97a7b8185e8632", { "total billed": 830 }); ``` -Mixpanel supports multiple definitions of groups. For more information about Mixpanel’s Group Analytics, check out this [article](https://help.mixpanel.com/hc/en-us/articles/360025333632-Group-Analytics). + +Mixpanel supports multiple definitions of groups. For more information see [Mixpanel’s Group Analytics documentation](https://help.mixpanel.com/hc/en-us/articles/360025333632-Group-Analytics). If the group call **does not** have a group trait that matches the Group Identifier Traits setting, then the event will be ignored. @@ -173,6 +184,7 @@ There are two strings to avoid when naming event properties that will be sent to ## Alias If you haven't had a chance to review our spec, please take a look to understand what the [Alias method](https://segment.com/docs/connections/spec/alias/) does. An example call would look like: + ```javascript analytics.alias('newUserId') ``` @@ -184,18 +196,19 @@ You'll also want to `track` the action that caused the user to be identified or Read more about how Mixpanel recommends using `alias` [in their docs](https://mixpanel.com/docs/integration-libraries/using-mixpanel-alias). -**Note:** Due to technical limitations with aliasing server-side, aliasing on the client is recommended whenever possible. +> success "" +> We recommend aliasing on the client is recommended whenever possible, due to technical limitations with aliasing server-side. ### Alias using Device-mode -In client-side Javascript you only need to pass the new identified `userId`. We will automatically alias the old anonymous `id` to your new `userId`. +In client-side Javascript you only need to pass the new identified `userId`. We automatically alias the old anonymous `id` to your new `userId`. Here's a Javascript example where the new `userId` is `12345`: ```javascript analytics.alias('12345'); analytics.identify('12345'); -analytics.track('Signed Up'); +analytics.track('User Signed Up'); ``` ### Alias using Cloud-mode @@ -204,7 +217,8 @@ If an `identify` or `track` call arrives to Mixpanel with a new `distinct_id` to However, in cases when events are processed too quickly, before their corresponding alias, your calls can result in split/duplicate profiles. -Mixpanel's client-side Javasript library fixes this issue by continuing to send `track` calls to the original mixpanel `distinct_id` while the records update. **To leverage that protection and avoid creating split profiles and broken funnels, we recommend doing all aliasing for Mixpanel on the client side through Analytics.js** +Mixpanel's client-side Javasript library fixes this issue by continuing to send `track` calls to the original mixpanel `distinct_id` while the records update. +**To use that protection and avoid creating split profiles and broken funnels, we recommend doing all aliasing for Mixpanel on the client side through Analytics.js** However, in certain circumstances, despite the risk of duplicate profiles, you may still wish to send the calls server-side. In those cases, there are two options for calling [`alias`](/docs/connections/spec/alias/) from your servers: @@ -297,7 +311,7 @@ Mixpanel's [Autotrack](https://mixpanel.com/autotrack/) feature is supported via By default we don't send data to Mixpanel People since it usually requires upgrading your Mixpanel account. If you want to enable Mixpanel People simply check the box for: **Use Mixpanel People** from your source destinations page in the Mixpanel sheet. -If you want to add people properties in Mixpanel before you know the user's unique databse `userId` you can identify `traits` without the `userId`. +If you want to add people properties in Mixpanel before you know the user's unique databse `userId` you can identify `traits` without the `userId`. @@ -324,7 +338,7 @@ In order to pass UTM parameters server-side, you can either pass properties or t analytics.track({ userId: '019mr8mf4r', - event: 'Purchased an Item', + event: 'Item Purchased', properties: { revenue: 39.95, shippingMethod: '2-day' @@ -343,25 +357,25 @@ analytics.track({ ### Explicitly Set People Properties and Super Properties -We used to set all of your traits and properties as both Super Properties and People Properties (If you had Mixpanel People enabled) but now Mixpanel allows you to segment your reports by both People Properties and Super Properties. In order to give you better precision and control over what property or trait gets set as a Super Property or People Property, you can uncheck `Set All Traits as Super Properties or People Properties By Default` and pass in the properties or traits that you want to send to Mixpanel as People or Super Properties as shown below. We'll still pass through all of Mixpanel's special traits as People Properties so you only need to add the ones that aren't on [this list.](#client-side) Please note that we'll only set People Properties off of .identify() calls. +We used to set all of your traits and properties as both Super Properties and People Properties (If you had Mixpanel People enabled) but now Mixpanel allows you to segment your reports by both People Properties and Super Properties. In order to give you better precision and control over what property or trait gets set as a Super Property or People Property, you can uncheck **Set All Traits as Super Properties or People Properties By Default** and pass in the properties or traits that you want to send to Mixpanel as People or Super Properties as shown below. We'll still pass through all of Mixpanel's special traits as People Properties so you only need to add the ones that aren't on [this list.](#client-side) Please note that we'll only set People Properties off of .identify() calls. ![mixpanel people properties list](images/mixpanelpeoplesuperprops.png) ### Incrementing events -If you need to increment event counts for Mixpanel people, there's no need to add any extra code. All you have to do is tell us which events need to be incremented and we'll take care of the rest: +You don't need to add any extra code to increment event counts for Mixpanel people, as long as they are "known users". Tell us which events need to be incremented and we'll take care of the rest: ![mixpanel increment events list](images/mixpanelincrementinpeople.png) -You can find this in the Advanced Options of your Mixpanel settings on your Segment Destinations page. +You can find this in the **Advanced Options** of your Mixpanel settings on your Segment Destinations page. -For each event name listed we will automatically call Mixpanel increment and also set a user trait of `Last + {{ event.name }}`. +For each event name listed, we automatically call Mixpanel `increment`, and set a user trait of `Last + {{ event.name }}`. For example, if you add **Logged In** to the list of increment events, we will increment a user trait called **Logged In** and set a trait called **Last Logged In** with the current date and time. If you'd like to add an increment for viewing a specific page or screen, ensure you have the setting "Track Named Pages" selected and use the dynamically generated event name under "Events to Increment in People." For example, `.page('Signup')` would translate to "*Viewed* Signup *Page*" and `.screen('Listing')` would translate to "*Viewed* Listing *Screen*". -Remember, we will only send 1 event per `page` call. +Remember, we will only send one event per `page` call. **Note**: Increment only works for "known users", so if your track call is being made server-side, you need to pass in a userId. If your track call is being made client-side, you need to identify your user first. @@ -398,6 +412,7 @@ Please provide `context.ip` to all your [`identify`](/docs/connections/spec/iden If you'd like to implement Mixpanel in the European Union you will need to enable the setting "Enable European Union Enpoint" within the Mixpanel settings in the app. When this setting is enabled, Segment will automatically update the endpoint for any data sent from one of our server-side libraries or from a browser using Analytics.js or the iOS SDK. If you are sending data using our Android SDK, you will need to specify the different endpoints using meta-data tags. On your app's `AndroidManifest.xml` file, you need to add the following tags under your `` tags to override the track, engage, and group endpoints: + ```xml @@ -407,15 +422,15 @@ If you are sending data using our Android SDK, you will need to specify the diff android:value="https://api-eu.mixpanel.com/groups" /> ``` -For additional information regarding Mixpanel's European Union endpoint, please see the [Mixpanel documentation here](https://developer.mixpanel.com/docs/implement-mixpanel#section-implementing-mixpanel-in-the-european-union-eu). +See the [Mixpanel documentation on their European Union endpoint](https://developer.mixpanel.com/docs/implement-mixpanel#section-implementing-mixpanel-in-the-european-union-eu) for additional information. ## Troubleshooting ### When Will I See Data from my Mobile App? -If you already have an app deployed with the Segment library, and you just turned on Mixpanel mobile, it will take up to an hour for all your mobile users to refresh their Segment settings cache, and learn about the new service that you want to send to. +If you already have an app deployed with the Segment library, and you just enabled Mixpanel mobile, it can take up to an hour for all your mobile users to refresh their Segment settings cache, and learn about the new service that you want to send to. -After the settings cache refreshes, our library will automatically start sending data to Mixpanel. +After the settings cache refreshes, our library automatically starts sending data to Mixpanel. Also worth noting, Mixpanel's SDK only submits requests to the Mixpanel servers when the app is backgrounded. That means you may see events in your Segment debugger while testing, but those requests won't actually be forwarded to Mixpanel until the app gets sent to the background. @@ -489,7 +504,7 @@ analytics.identify({ userId: '019mr8mf4r', traits: { name: 'Michael Bolton', - email: 'mbolton@initech.com', + email: 'mbolton@example.com', plan: 'Enterprise', friends: 42 }, From 3e4960e38062530ac82e96268e99e9dca0e09e25 Mon Sep 17 00:00:00 2001 From: sanscontext Date: Mon, 9 Mar 2020 14:38:26 -0700 Subject: [PATCH 3/5] add image --- .../images/mixpanel-group-id-traits.png | Bin 0 -> 12812 bytes .../destinations/catalog/mixpanel/index.md | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 src/connections/destinations/catalog/mixpanel/images/mixpanel-group-id-traits.png diff --git a/src/connections/destinations/catalog/mixpanel/images/mixpanel-group-id-traits.png b/src/connections/destinations/catalog/mixpanel/images/mixpanel-group-id-traits.png new file mode 100644 index 0000000000000000000000000000000000000000..2b0bd93fa5bf63d5f9a9ca84826cd13f4e01c06a GIT binary patch literal 12812 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�F9!0nb9_QQ3>+(S;uhLP+ypup2|jG~bq6#VOaiqSak_*5 z?bHKZsaT{1pa!@JEilsDl40{RR)|+ZNg$YCEuq6*`2_GLfcAY%0j{gvrU^);RI7q`%oe! zvb$=$icS}Y8#PyKVy(INGXLA%?6lpDkAL=|DUJ2Xu61kOE`8gPEnp}yk#6bAK(ZA3 z(IU6TU(7KT*saRJmNshu^6A$!uuGi<)C&I5K(o#QGk!5t(6=n%9`cOs=4BuVIBQ*- z@fndg!Tmj^a>7wfP3}LNd5$#8;}JdEh1+Fo(~0}rCvf1 zFp@`{?_UVyjtPO~)Sepu7TDkV2t|Iw@@0vu!2kQ4f?QSYi%Vi~5%S?C#*?R}JV&6^ zjSho3SSTs0%!2m{J8CM_xloc%3*kA*xx)A;1+xL9#VymPMKyHKnO?VoAW)*C=vtxY zRFk6pMxc=M?Y!r+jc6(ew46Mqx%+$OGX=R!G{ZNk`~Ow_zsc2lDGHUT>88`h4|O>G zHe{~{h616vhbRc>%Wkb&MT_XJ|UJ5VPU2_&0mM&ek#Vu67&1v_YKI4&2-#((&j#@elSJ2+(WvJueZ9isCc>~ zks}tEIA}C?`k?GfY%aYSx`tauR{YYZSi)bZwCNM32{PJq; zKBOA)TBgF2xcJ|NP>|l89Xz%s_ZxrWa9I?|M{V&PHsjnGY^6zeCuruObxCljCRQfrKO2GI8-G9R@sSS>B7w|-<} z!-KZeR9Cr_&RTvUbrJ_%ODYIwXD+b%+$+xep1#4Kt%!ucUE>)Kc2)@b9V$r=Z{z!d zGn7BV8}h0{N5^PNis3{E#pHAb zxE!QZN%W-;oD;Yo_Vp$ae2|dWeV;LdNXW0*{&LoCA!@h|$8@pXy!nl*`XwX5JzIYp z+M7#(TFa53bIqW$+v_e;ayHq^O%k{=KTSqM9mT*W?h{2Hc6(y?V$M+jhT=FP9ucVrAzlTuCRprGnjwQn5@}!@nH4E#5r$2rH_H4$ zWM9V#j+FAJT*CTJRVXHtek6BexTNH1^|TL_ONwu2Bj|UPK2T09dt6Ym-GcWx@z@>< zVZcxFnW5Sd8rIi`Wm(#6gG;h&U72i%uPqpq@+c{+;hicFr-pXPkQ9lbXlA zPJccta}mIS*)4r)ghVM{2l!uzOuPISB7dORLI?X_WucD>9<33Lr_g_PR9`0*n~gtS zi?+8q~pUUP?{TPO!s2m$aI56sudt77BkRRddmsb3yH!`cdLE#`7kT1 zSxa9H8c=So@6Cy%Wiy1H*6sCoFSa9VWB_|&K@JF!tM!_h} z#iQDJBb-lE`EgSxujsUdoDS=&G^@_W!9rE|O#9}{xm|xUT-%mhR9o9F;CkQ&3tid)o;uDQ|15Ue#8F7QG z`3ZFyr=wrLD$uTo1PWmb+gt9*49#V+!opFiMpdsW(&F^teX|dyleSVW#=jiE6M&igR4Bd%3+9vvvU-Uf8lqTPp{VrvTCykKTzN!?aLQbQ7ZZM1_ynj ztd|>`e@+VCeA!j}r_1n^geT9>+bFu?8;WO|-a6hXLJ-K4!&tbuMCU+y8_aN&G1p`* d(8zHABvmJMup3zU`@cM(WF!>Ct3-{0{ttw!M&$qi literal 0 HcmV?d00001 diff --git a/src/connections/destinations/catalog/mixpanel/index.md b/src/connections/destinations/catalog/mixpanel/index.md index 1c3145b46d..124b0e4c18 100644 --- a/src/connections/destinations/catalog/mixpanel/index.md +++ b/src/connections/destinations/catalog/mixpanel/index.md @@ -82,7 +82,8 @@ analytics.identify({ Group calls are sent to Mixpanel if, **and only if**, -1. The Group Identifier Traits setting has one or more traits saved in the destination settings for Mixpanel. [INSERT IMAGE HERE] +1. The Group Identifier Traits setting has one or more traits saved in the destination settings for Mixpanel. + ![](images/mixpanel-group-id-traits.png) 2. You have created a group key in your Mixpanel [project settings](https://help.mixpanel.com/hc/en-us/articles/360025333632-Group-Analytics#implementation). 3. A Group trait with the same name as one of the configured Group Identifier Traits is sent with the group call. From 6a53c066589ef43f13992ec88f59b0450a71284d Mon Sep 17 00:00:00 2001 From: Shyaan Khan Date: Mon, 9 Mar 2020 15:41:07 -0700 Subject: [PATCH 4/5] Small typo fixes --- src/connections/destinations/catalog/mixpanel/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/destinations/catalog/mixpanel/index.md b/src/connections/destinations/catalog/mixpanel/index.md index 124b0e4c18..c159292993 100644 --- a/src/connections/destinations/catalog/mixpanel/index.md +++ b/src/connections/destinations/catalog/mixpanel/index.md @@ -84,7 +84,7 @@ Group calls are sent to Mixpanel if, **and only if**, 1. The Group Identifier Traits setting has one or more traits saved in the destination settings for Mixpanel. ![](images/mixpanel-group-id-traits.png) -2. You have created a group key in your Mixpanel [project settings](https://help.mixpanel.com/hc/en-us/articles/360025333632-Group-Analytics#implementation). +2. You have created a group key of the same name in your Mixpanel [project settings](https://help.mixpanel.com/hc/en-us/articles/360025333632-Group-Analytics#implementation). 3. A Group trait with the same name as one of the configured Group Identifier Traits is sent with the group call. ```js @@ -312,7 +312,7 @@ Mixpanel's [Autotrack](https://mixpanel.com/autotrack/) feature is supported via By default we don't send data to Mixpanel People since it usually requires upgrading your Mixpanel account. If you want to enable Mixpanel People simply check the box for: **Use Mixpanel People** from your source destinations page in the Mixpanel sheet. -If you want to add people properties in Mixpanel before you know the user's unique databse `userId` you can identify `traits` without the `userId`. +If you want to add people properties in Mixpanel before you know the user's unique database `userId` you can identify `traits` without the `userId`. From 83d0bcbbcdfb9a1e6790a0523b068b9562353692 Mon Sep 17 00:00:00 2001 From: Shyaan Khan Date: Mon, 9 Mar 2020 15:48:18 -0700 Subject: [PATCH 5/5] fixed another typo --- src/connections/destinations/catalog/mixpanel/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/mixpanel/index.md b/src/connections/destinations/catalog/mixpanel/index.md index c159292993..41ca6cc3a9 100644 --- a/src/connections/destinations/catalog/mixpanel/index.md +++ b/src/connections/destinations/catalog/mixpanel/index.md @@ -65,7 +65,7 @@ The first thing you'll want to do is to identify your users so Mixpanel knows wh Segment doesn't send data to Mixpanel People by default, since this usually requires upgrading your Mixpanel account. To enable Mixpanel People, change the "Use Mixpanel People" setting in your Segment Settings UI. -To add people properties in Mixpanel before you know the user's unique databse `userId`, you can identify `traits` without the `userId`. +To add people properties in Mixpanel before you know the user's unique database `userId`, you can identify `traits` without the `userId`. **Note:** this only works in Analytics.js and our mobile SDKs.