diff --git a/README.md b/README.md index 057c434fb3..5ba3bca5b4 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,13 @@ If you're making a diagram, please add it to this [Figjam](https://www.figma.com Images are hard to keep up-to-date, so please use them judiciously. +# Adding Youtube Videos + +Youtube videos are added through an iframe that embeds the video to the page. +You can get the source of the video by going to the youtube video, selecting share then the embed option. + +Ensure you add `-nocookie` to the url (eg: `https://www.youtube-nocookie.com/embed/sRQCfmvh3vg`) otherwise the video will not work when user blocks cookies. (youtube tracks user data by default) + # Previewing Changes All pull requests will generate a staging link in Vercel. Here's an [example](https://github.com/mixpanel/docs/pull/33#issuecomment-1520474996). This lets you preview your changes without changing what's actually live. diff --git a/components/ChangelogIndex.tsx b/components/ChangelogIndex.tsx index b70fc4b129..e4c9b02c03 100644 --- a/components/ChangelogIndex.tsx +++ b/components/ChangelogIndex.tsx @@ -27,7 +27,7 @@ const getVideoEmbedURL = (videoURL) => { const host = parsedURL.host; if (host === "www.youtube.com" || host === "youtube.com" || host === "youtu.be") { const videoId = parsedURL.searchParams.get("v") || parsedURL.pathname.split("/").pop(); - return `https://www.youtube.com/embed/${videoId}`; + return `https://www.youtube-nocookie.com/embed/${videoId}`; } else if (host === "www.loom.com" || host === "loom.com") { const videoId = parsedURL.pathname.split("/").pop(); return `https://www.loom.com/embed/${videoId}?hideEmbedTopBar=true`; diff --git a/components/TrustArcScripts/TrustArcScripts.tsx b/components/TrustArcScripts/TrustArcScripts.tsx new file mode 100644 index 0000000000..6becd6a2a0 --- /dev/null +++ b/components/TrustArcScripts/TrustArcScripts.tsx @@ -0,0 +1,33 @@ +export function TrustArcHeadScripts() { + const trustArcAutoBlockCoreSrc = `https://consent.trustarc.com/v2/autoblockasset/core.min.js?cmId=9iv2en`; + const trustArcAutoBlockSrc = `https://consent.trustarc.com/v2/autoblock?cmId=9iv2en`; + const trustArcInitScriptSrc = `https://consent.trustarc.com/v2/notice/9iv2en`; + + return ( + <> + {/* Empty script tag as chrome bug fix, see https://stackoverflow.com/a/42969608/943337 */} + + ); diff --git a/pages/docs/tracking-methods/integrations/google-sheets.mdx b/pages/docs/tracking-methods/integrations/google-sheets.mdx index c172d0d80f..9ac469a95c 100644 --- a/pages/docs/tracking-methods/integrations/google-sheets.mdx +++ b/pages/docs/tracking-methods/integrations/google-sheets.mdx @@ -17,7 +17,7 @@ The source code for this extension lives [here](https://github.com/mixpanel/shee >

+

To follow along the tutorials in this section, we've created [this board](https://mixpanel.com/project/3018488/view/3536632/app/boards/#id=6350527) in our demo project that you can copy into your own project. As you open the linked board, you will see instructions to click on "Use this board" to transfer it over to your project and to edit the default date range. @@ -17,7 +17,7 @@ To utilize funnels correctly, it's important to understand how the [conversion c Go beyond looking at overall conversion, view conversion trend over time, distribution of the time it takes users to convert through the funnel or the number of times users complete any step before converting or dropping off. Add more specificity to your conversion criteria by holding a [property constant](/docs/reports/funnels/funnels-advanced#hold-property-constant) over steps or [exclude users who did a particular step](/docs/reports/funnels/funnels-advanced#exclusion-steps-exclude-users-who-did).

- +

## Viewing as a Flow diff --git a/pages/guides/guides-by-topic/core-reports/build-user-flows.mdx b/pages/guides/guides-by-topic/core-reports/build-user-flows.mdx index 5465212faa..91dfdf2654 100644 --- a/pages/guides/guides-by-topic/core-reports/build-user-flows.mdx +++ b/pages/guides/guides-by-topic/core-reports/build-user-flows.mdx @@ -3,7 +3,7 @@ Use [Flows](/docs/reports/flows) to help you identify the most frequent paths ta

- +

To follow along this tutorial, create a copy of [this board](https://mixpanel.com/project/3018488/view/3536632/app/boards/#id=6350517) from our demo project into the your own project. As you open the linked board, you will see instructions to click on "Use this board" to transfer it over to your project and to edit the default date range. diff --git a/pages/guides/guides-by-topic/core-reports/create-boards.mdx b/pages/guides/guides-by-topic/core-reports/create-boards.mdx index 375f5fe9a5..937029816e 100644 --- a/pages/guides/guides-by-topic/core-reports/create-boards.mdx +++ b/pages/guides/guides-by-topic/core-reports/create-boards.mdx @@ -11,7 +11,7 @@ Think of [Boards](/docs/boards) as your homepage for keeping track of your most

- +

## Discovering Useful Boards diff --git a/pages/guides/guides-by-topic/core-reports/define-cohorts.mdx b/pages/guides/guides-by-topic/core-reports/define-cohorts.mdx index 4330d790f5..b0609285ef 100644 --- a/pages/guides/guides-by-topic/core-reports/define-cohorts.mdx +++ b/pages/guides/guides-by-topic/core-reports/define-cohorts.mdx @@ -4,7 +4,7 @@

- +

## Recommended Boards diff --git a/pages/guides/guides-by-topic/core-reports/discover-insights.mdx b/pages/guides/guides-by-topic/core-reports/discover-insights.mdx index f19a73cf42..8a47de31b5 100644 --- a/pages/guides/guides-by-topic/core-reports/discover-insights.mdx +++ b/pages/guides/guides-by-topic/core-reports/discover-insights.mdx @@ -4,7 +4,7 @@

- +

To follow along the tutorials in this section, we've created [this board](https://mixpanel.com/project/3018488/view/3536632/app/boards/#id=6350535) in our demo project that you can copy into your own project. As you open the linked board, you will see instructions to click on "Use this board" to transfer it over to your project and to edit the default date range. @@ -17,14 +17,14 @@ You can use Insights to see what events users are doing on your site, and visual

- +

The following video looks at how you can leverage filters and breakdowns to hone in on specific data subsets that you care about or to dive deeper and segment your users by their different event or user attributes.

- +

## Formula, Custom Events and Properties and Custom Buckets @@ -41,7 +41,7 @@ The following video looks at how you can leverage formulas, custom events and pr

- +

## Behavioral Breakdowns @@ -49,7 +49,7 @@ Other more advanced questions that Insights can help answer include: how you can

- +

## Creating Alerts @@ -57,5 +57,5 @@ Once you've created a report for a key metric you want to track for instance, yo

- +

diff --git a/pages/guides/guides-by-topic/core-reports/track-user-retention.mdx b/pages/guides/guides-by-topic/core-reports/track-user-retention.mdx index 1fc3aab632..cc7e39a9be 100644 --- a/pages/guides/guides-by-topic/core-reports/track-user-retention.mdx +++ b/pages/guides/guides-by-topic/core-reports/track-user-retention.mdx @@ -4,7 +4,7 @@ Our [Retention](/docs/reports/retention) report in Mixpanel is designed to help

- +

@@ -18,7 +18,7 @@ Define retention analysis to calculate users who come back on a specific time un ## Understanding Frequency Criteria

- +

Define retention analysis to calculate users who did the event in at least X unique intervals or in exactly X unique intervals. diff --git a/pages/guides/guides-by-use-case/empower-your-team/see-replays.mdx b/pages/guides/guides-by-use-case/empower-your-team/see-replays.mdx index b854e3ccba..a3ed018267 100644 --- a/pages/guides/guides-by-use-case/empower-your-team/see-replays.mdx +++ b/pages/guides/guides-by-use-case/empower-your-team/see-replays.mdx @@ -36,7 +36,7 @@ Heatmaps and Session Replay combine the “what” and the “why” of user beh > +

## Methodology diff --git a/pages/guides/strategic-playbooks/onboarding-playbook/implement/establish-governance.mdx b/pages/guides/strategic-playbooks/onboarding-playbook/implement/establish-governance.mdx index b3db162680..fc298ee5d3 100644 --- a/pages/guides/strategic-playbooks/onboarding-playbook/implement/establish-governance.mdx +++ b/pages/guides/strategic-playbooks/onboarding-playbook/implement/establish-governance.mdx @@ -20,7 +20,7 @@ Mixpanel's **Event Approval** feature enables project owners or admins to first

- +

You can enable this feature at a project level to receive alerts via e-mail or Slack messages whenever a new event or property is received; thereby, allowing you to take timely appropriate actions. We recommend enabling this for your production project to catch any event or property that may be sent without prior sign-off in development. @@ -47,7 +47,7 @@ Such metadata lets you easily discover the data that is most valuable to your co

- +

Lexicon also includes tools that allow you to fix or manage events and properties that were already ingested into Mixpanel, such as: @@ -67,7 +67,7 @@ In our [QA and Data Audit](/docs/tutorials/implement/qa-data-audit#mixpanel-moni

- +

Also check out our other [Board Examples](/docs/boards/templates#other-examples) especially built by our Customer Success team to help you further improve upon data governance and data troubleshooting. diff --git a/pages/guides/strategic-playbooks/onboarding-playbook/implement/qa-data-audit.mdx b/pages/guides/strategic-playbooks/onboarding-playbook/implement/qa-data-audit.mdx index ce61408397..79114f8ec6 100644 --- a/pages/guides/strategic-playbooks/onboarding-playbook/implement/qa-data-audit.mdx +++ b/pages/guides/strategic-playbooks/onboarding-playbook/implement/qa-data-audit.mdx @@ -14,7 +14,7 @@ There are generally two levels of Quality Assurance tests that your teams should

- +

Mixpanel provides the following tools that enable you to conduct QA: diff --git a/pages/guides/strategic-playbooks/onboarding-playbook/implement/send-your-data.mdx b/pages/guides/strategic-playbooks/onboarding-playbook/implement/send-your-data.mdx index 3d90893c0b..57848fbe55 100644 --- a/pages/guides/strategic-playbooks/onboarding-playbook/implement/send-your-data.mdx +++ b/pages/guides/strategic-playbooks/onboarding-playbook/implement/send-your-data.mdx @@ -17,7 +17,7 @@ When it comes to deciding which ingestion approach to use, there are no fixed ru

- +

Here are the key considerations that would guide you along in choosing the right approach as we go through each one: @@ -44,14 +44,14 @@ In general, we recommend utilizing Client-Side SDKs if you have limited developm

- +

Alternatively, you may want to consider using Server-Side SDKs, which are not susceptible to ad blockers, and provide more consistency when tracking users across platforms. It does require some custom code to track your anonymous (non-logged in) users. Do refer to our documentation for [Server-Side Best Practices](/docs/tracking-best-practices/server-side-best-practices).

- +

As an in-between, consider client-side tracking via a proxy. This will help [reduce the likelihood of ad-blockers impacting your tracking](https://www.youtube.com/watch?v=8Pv6tmRfqr8), while allowing you to automatically capture certain default client-side properties. For more details, please see [this article](/docs/tracking-methods/sdks/javascript#tracking-via-proxy) on how to set up a proxy. @@ -64,7 +64,7 @@ If you currently utilize a Customer Data Platform (eg mParticle, Rudderstack, Se

- +

Please refer to the documentation by your respective CDP provider for more information on how to connect your data to Mixpanel. @@ -76,7 +76,7 @@ in your Mixpanel project. It also provides various [Sync Modes](/docs/tracking-m

- +

Another option to send data from your data warehouse to Mixpanel would be to utilize a Reverse ETL tool (eg Census, Hightouch). These third-party tools will allow you to make any necessary transformations to the data and set up sync schedules to import data from your warehouse to Mixpanel. Please refer to the respective documentation of whichever reverse ETL tool your team chooses to utilize. @@ -87,7 +87,7 @@ If your company already has an existing event stream pipeline, you could use it

- +

### Direct API Ingestion @@ -96,7 +96,7 @@ If you would like to send data directly to Mixpanel servers without the need of

- +

## Identity Management Best Practices @@ -107,7 +107,7 @@ As users navigate through your website or application, it is common for them to

- +

If you're utilizing our Mixpanel SDKs, especially Client-Side, you should carefully manage all the identifiers belonging to a user correctly to ensure that all of their pre-auth and post-auth activity is tracked as one user. @@ -116,7 +116,7 @@ In the following video, we walkthrough how you should manage identifying your us

- +

Do note that the mixpanel.identify() call does not create a User Profile in Mixpanel. The people.set() method is the required call to set user properties on a user profile. However, the people.set() call also requires an identify() call at some point in the same session, so that Mixpanel knows which User ID to associate the profile properties to. If there is no identify() call in a user’s session where people.set() is called, we store the user profile properties locally until that user hits an identify() call. diff --git a/pages/guides/strategic-playbooks/onboarding-playbook/plan/framework.mdx b/pages/guides/strategic-playbooks/onboarding-playbook/plan/framework.mdx index 16de0f0f4a..cde57ad389 100644 --- a/pages/guides/strategic-playbooks/onboarding-playbook/plan/framework.mdx +++ b/pages/guides/strategic-playbooks/onboarding-playbook/plan/framework.mdx @@ -14,7 +14,7 @@ Having a framework helps you structure your metrics and KPIs around the strategy

- +

How does your product analytics strategy stack up? 💡[Take the Quiz](https://mixpanel.com/content/product-analytics-strategy/quiz/) to understand where you stand and get tips to advance. @@ -33,7 +33,7 @@ Your product's metrics and KPIs should be defined around your product's value to

- +

In order to measure your product's value *(i.e. what is the problem that your solution is trying to solve)*, you need to: @@ -56,7 +56,7 @@ For more details on Measuring Value read [Chapter 1 of The Guide to Product Anal

- +

Reach is important because it represents the maximum amount of users who could reasonably become [active](/docs/tutorials/plan/framework#activate-your-users) and [engaged](/docs/tutorials/plan/framework#increase-level-of-user-engagement), whether organically or through re-engagement campaigns. The goal is to focus on retaining your Reach, and in order to do that, you need to track: @@ -75,7 +75,7 @@ User Activation is not simply about a user creating their account or signing-up

- +

Activation can be viewed as a 3 step funnel where users go through setting up, to understanding the value of your product, and then experiencing more of that value to want to continue using it. @@ -100,7 +100,7 @@ To measure the level of engagement, an example is to segment your users into Cas

- +

There are four general classifications of engagement strategies which can be combined depending on your product or business goals: diff --git a/pages/guides/strategic-playbooks/onboarding-playbook/plan/setup.mdx b/pages/guides/strategic-playbooks/onboarding-playbook/plan/setup.mdx index d15e3e0f73..1ab47faed6 100644 --- a/pages/guides/strategic-playbooks/onboarding-playbook/plan/setup.mdx +++ b/pages/guides/strategic-playbooks/onboarding-playbook/plan/setup.mdx @@ -74,7 +74,7 @@ You can add data views within your project settings. A combination of filters ca > Note: Filtering by User Profile Properties removes the ability to analyze by [Groups](/docs/data-structure/advanced/group-analytics#group-by-a-custom-identifier)

- +

Refer to docs for a more detailed guide on setting up [Data Views](/docs/data-governance/data-views-and-classification#data-views-overview). @@ -91,7 +91,7 @@ In scenarios where you want to send non-PII data but want to limit only certain

- +

Once data is in your project, ensure that you have marked all relevant event and user properties as classified before you start granting access to users. diff --git a/pages/guides/strategic-playbooks/onboarding-playbook/plan/tracking-strategy.mdx b/pages/guides/strategic-playbooks/onboarding-playbook/plan/tracking-strategy.mdx index 13ce9c8b66..51fb8cd9c5 100644 --- a/pages/guides/strategic-playbooks/onboarding-playbook/plan/tracking-strategy.mdx +++ b/pages/guides/strategic-playbooks/onboarding-playbook/plan/tracking-strategy.mdx @@ -35,7 +35,7 @@ As a best practice, think of event properties that you track under events which

- +

For more details and examples refer to our documentation on [User Profiles](/docs/data-structure/user-profiles). @@ -104,7 +104,7 @@ Mixpanel's core behavioral data analysis is at the individual user level; there

- +

Keep in mind that not every business necessarily has use cases that may require group level analysis; refer to our documentation on [Group Analytics](/docs/data-structure/advanced/group-analytics) for more information. @@ -121,7 +121,7 @@ Now that you have an understanding of Mixpanel's Data Model, let's walk you thro

- +

***Link to [User Journey Figma](https://www.figma.com/file/tYEeeRE0Xz6IampBhGLotw/Media-and-Entertainment-Tracking-Plan?type=whiteboard&node-id=523-159&t=5GQDQsaqLeOTB8zU-4) shown in video.*** diff --git a/theme.config.tsx b/theme.config.tsx index e654329853..f402385751 100644 --- a/theme.config.tsx +++ b/theme.config.tsx @@ -61,7 +61,22 @@ const config: DocsThemeConfig = { useLink: () => "https://mixpanel.com/contact-us/support", }, footer: { - content: `© Mixpanel ${new Date().getFullYear()}`, + content: ( +
+
+ © Mixpanel {new Date().getFullYear()} +
+
+ truste.eu.clickListener()} + > + Cookie Preferences + +
+
+ ), }, logo: , logoLink: "https://mixpanel.com/home/",