> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/mixpanel/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# What to Track

> Learn what events to track and how to plan your Mixpanel implementation

# What to Track

In this guide, we provide guidance on what to track and how to track it.

## Start With 2 Events

We recommend starting with just 2 events, which can provide a lot of value with little effort:

<CardGroup cols={2}>
  <Card title="Sign Up" icon="user-plus">
    Track new user acquisition to understand your product's growth. Answer questions like "How many new users am I acquiring every day, week, and month?"
  </Card>

  <Card title="Value Moment" icon="star">
    Track when users experience value in your product. Answer questions like "How many users experience value each day?" or "How many users come back and retain?"
  </Card>
</CardGroup>

<Tip>
  Starting with just 2 events keeps implementation simple while providing valuable insights into growth and engagement.
</Tip>

## Choose a Value Moment

Value moments are often the use of important features or taking a critical action. Here are some examples:

<Steps>
  <Step title="Social Products">
    Post Created, Friend Added, Message Sent
  </Step>

  <Step title="E-Commerce">
    Purchase Completed, Review Submitted, Item Added to Cart
  </Step>

  <Step title="Media & Content">
    Video Watched, Article Read, Content Shared
  </Step>

  <Step title="SaaS Products">
    Document Created, Call Started, Report Generated
  </Step>
</Steps>

<Note>
  **Event Naming Convention**

  We recommend keeping your event names short and descriptive. We like to use the **Object-Action** convention, as you can see in the examples above (e.g., "Post Created", "Purchase Completed").
</Note>

## Include Properties

Properties add context to the event. We recommend these properties for your two events:

### Sign Up Event Properties

```json theme={null}
{
  "event": "Sign Up",
  "properties": {
    "source": "Referral",
    "country": "United States",
    "os": "iOS"
  }
}
```

Recommended properties:

* **Source** (e.g., Referral, Organic, Paid) - Understand where users come from
* **Country** (e.g., United States, Vietnam, Germany) - Track geographic distribution
* **OS** (e.g., Windows, iOS, Android) - Know what platforms users prefer

### Value Moment Event Properties

```json theme={null}
{
  "event": "Video Watched",
  "properties": {
    "duration": 245,
    "category": "Tutorial",
    "quality": "1080p"
  }
}
```

Properties for your value moment will depend greatly on what it is:

* A "Video Watched" event may benefit from a **Duration** property
* A "Message Liked" event may benefit from a **Message Type** property
* A "Purchase Completed" event may benefit from **Amount** and **Product Category** properties

<Tip>
  Ask yourself: What is the most important information related to your value moment? Start with 2-3 key properties.
</Tip>

## We Recommend Server-Side Tracking

Adblockers and browsers are making it harder and harder to track users on the client-side. If you want to make sure the data you're collecting is accurate, you'll want to do most of your tracking server-side.

<Warning>
  **Frontend event tracking (especially on the web) loses between 15% and 30% of events**.

  If you're only tracking on the client-side, you're missing out on a lot of data, even if you're using a reverse proxy.
</Warning>

### Why Server-Side?

<CardGroup cols={2}>
  <Card title="More Accurate" icon="check">
    Avoid data loss from ad blockers and browser restrictions
  </Card>

  <Card title="More Secure" icon="shield">
    Keep sensitive data and API credentials on your server
  </Card>

  <Card title="More Reliable" icon="bolt">
    Events are sent directly from your server, not dependent on client behavior
  </Card>

  <Card title="More Control" icon="sliders">
    Full control over what data is sent and when
  </Card>
</CardGroup>

<Note>
  Want to learn more? [Read our full guide](/docs/tracking-methods/choosing-the-right-method/) on choosing the right method for tracking.
</Note>

## Planning Worksheet

Use this template to plan your initial implementation:

| Event Type   | Event Name             | Key Properties          | Why Track This?          |
| ------------ | ---------------------- | ----------------------- | ------------------------ |
| Sign Up      | Sign Up                | source, country, os     | Measure user acquisition |
| Value Moment | *\[Your value moment]* | *\[2-3 key properties]* | *\[Your reason]*         |

## Example: E-Commerce App

Here's a complete example for an e-commerce application:

```javascript theme={null}
// Sign Up Event
mixpanel.track('Sign Up', {
  source: 'Google Ads',
  country: 'United States',
  os: 'iOS',
  signup_method: 'Email'
});

// Value Moment Event - Purchase Completed
mixpanel.track('Purchase Completed', {
  amount: 149.99,
  currency: 'USD',
  product_category: 'Electronics',
  product_name: 'Wireless Headphones',
  payment_method: 'Credit Card'
});
```

## Best Practices

<AccordionGroup>
  <Accordion title="Keep event names consistent">
    Use the same naming convention throughout your implementation. We recommend Object-Action format (e.g., "Video Watched", not "Watched Video" or "watch\_video").
  </Accordion>

  <Accordion title="Use clear property names">
    Property names should be descriptive and use consistent formatting. Prefer snake\_case or camelCase and stick with one style.
  </Accordion>

  <Accordion title="Don't track too much too soon">
    Start with 2-5 key events and add more as you learn what matters. Too many events early on can be overwhelming.
  </Accordion>

  <Accordion title="Track the user journey">
    Think about the key steps in your user's journey and ensure you're tracking the critical moments.
  </Accordion>
</AccordionGroup>

## Next Steps

Once you've chosen a few events to track first, you're ready to set up Mixpanel.

<Card title="Start Quickstart Guide" icon="rocket" href="/quickstart/install-mixpanel">
  Install Mixpanel and start tracking your events in minutes
</Card>
