> ## Documentation Index
> Fetch the complete documentation index at: https://help.airbridge.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Mixpanel

Airbridge supports integration with Mixpanel. With the integration, you can send attribution data from Airbridge to Miaxpanel and uncover insights into how users interact with your product in Mixpanel.

## Integration

To implement the server-to-server integration, the Device ID of the Mixpanel SDK should be set as the device alias of the Airbridge SDK.

### Minimum SDK version required

* Airbridge Android SDK: v.2.19.5
* Airbridge iOS SDK: v.1.18.0
* Airbridge Web SDK Loader: v.1.3.0
* Airbridge React Native SDK: v.1.5.0
* Airbridge Cordova SDK: v.2.0.2
* Airbridge Flutter SDK: v.3.0.2
* Airbridge Unity SDK: v.1.9.0

### SDK setup

<Danger>
  **Attention**

  Once the SDK setup is complete, make sure to complete the required setup process in the Airbridge dashboard to implement the integration successfully.
</Danger>

Add the codes below to the Airbridge SDK. Without adding the codes, Mixpanel won't be properly integrated with Airbridge even if the necessary setup is completed in the Airbridge dashboard.

<AccordionGroup>
  <Accordion title="SDK integration (Android)">
    #### Android SDK

    <CodeGroup>
      ```kotlin Kotlin lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
      // MainApplication.kt
      override fun onCreate() {
          super.onCreate()
          // Initialize Airbridge SDK
          val option = AirbridgeOptionBuilder("YOUR_APP_NAME", "YOUR_APP_SDK_TOKEN")
              .setAutoStartTrackingEnabled(false)
              .build()
          Airbridge.initializeSDK(this, option)

          // Set device alias into Airbridge SDK
          Airbridge.setDeviceAlias("mixpanel_device_id", mixpanel.distinctId)
          
          // Explicitly start tracking
          Airbridge.startTracking()
      }
      ```

      ```java Java lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
      // MainApplication.java
      @Override
      public void onCreate() {
          super.onCreate();
          // Initialize Airbridge SDK
          AirbridgeOption option = new AirbridgeOptionBuilder("APP_NAME", "APP_TOKEN")
              .setAutoStartTrackingEnabled(false)
              .build();
          Airbridge.initializeSDK(application, option);
          
          // Set device alias into Airbridge SDK
          Airbridge.setDeviceAlias("mixpanel_device_id", mixpanel.getDistinctId());
          
          // Explicitly start tracking
          Airbridge.startTracking();
      }
      ```
    </CodeGroup>

    #### Android SDK (Deprecated)

    <CodeGroup>
      ```kotlin Kotlin lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
      // MainApplication.kt
      override fun onCreate() {
          super.onCreate()
          // Initialize Airbridge SDK
          val config = AirbridgeConfig.Builder("YOUR_APP_NAME", "YOUR_APP_SDK_TOKEN")
              .setAutoStartTrackingEnabled(false)
              .build()
          Airbridge.init(this, config)

          // Set device alias into Airbridge SDK
          Airbridge.setDeviceAlias("mixpanel_device_id", mixpanel.distinctId)
          
          // Explicitly start tracking
          Airbridge.startTracking()
      }
      ```

      ```java Java lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
      // MainApplication.java
      @Override
      public void onCreate() {
          super.onCreate();
          // Initialize Airbridge SDK
          AirbridgeConfig config = new AirbridgeConfig.Builder("APP_NAME", "APP_TOKEN")
              .setAutoStartTrackingEnabled(false)
              .build();
          Airbridge.init(this, config);
          
          // Set device alias into Airbridge SDK
          Airbridge.setDeviceAlias("mixpanel_device_id", mixpanel.getDistinctId());

          // Explicitly start tracking
          Airbridge.startTracking();
      }
      ```
    </CodeGroup>
  </Accordion>

  <Accordion title="SDK integration (iOS)">
    #### iOS SDK

    <CodeGroup>
      ```swift Swift lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
      // AppDelegate.swift
      func application(
          _ application: UIApplication,
          didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
      ) -> Bool {

          let option = AirbridgeOptionBuilder(name: "YOUR_APP_NAME", token: "YOUR_APP_SDK_TOKEN")
              .setAutoStartTrackingEnabled(false)
              .build()
          Airbridge.initializeSDK(option: option)

          Airbridge.setDeviceAlias(key: "mixpanel_device_id", value: Mixpanel.mainInstance().distinctId)
          
          // Explicitly start tracking
          Airbridge.startTracking()

          return true
      }
      ```

      ```objective-c Objective-C lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
      // AppDelegate.m
      - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
      {
          AirbridgeOptionBuilder* optionBuilder = 
              [[AirbridgeOptionBuilder alloc] initWithName:@"YOUR_APP_NAME"
                                                     token:@"YOUR_APP_SDK_TOKEN"];

          [optionBuilder setAutoStartTrackingEnabled:NO];
          AirbridgeOption* option = [optionBuilder build];
          [Airbridge initializeSDKWithOption:option];

          [Airbridge setDeviceAliasWithKey:@"mixpanel_device_id" 
                                     value:Mixpanel.mainInstance.distinctId];
          
          // Explicitly start tracking
          [Airbridge startTracking];

          return YES;
      }
      ```
    </CodeGroup>

    #### iOS SDK (Deprecated)

    <CodeGroup>
      ```swift Swift lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
      // AppDelegate.swift
      func application(
          _ application: UIApplication,
          didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
      ) -> Bool {
        
          AirBridge.setAutoStartTrackingEnabled(false)
          AirBridge.getInstance("YOUR_APP_TOKEN", appName:"YOUR_APP_NAME", withLaunchOptions:launchOptions)

          AirBridge.state()?.setDeviceAlias(withKey:"mixpanel_device_id", value:Mixpanel.mainInstance().distinctId)
          
          // Explicitly start tracking
          AirBridge.startTracking()

          return true
      }
      ```

      ```objective-c Objective-C lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
      // AppDelegate.m
      - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
      {
          AirBridge.autoStartTrackingEnabled = NO;
          [AirBridge getInstance:@"YOUR_APP_SDK_TOKEN"
                         appName:@"YOUR_APP_NAME"
               withLaunchOptions:launchOptions];

          [AirBridge.state setDeviceAliasWithKey: @"mixpanel_device_id"
                                           value: Mixpanel.mainInstance.distinctId];

          // Explicitly start tracking
          [AirBridge startTracking];

          return YES;
      }
      ```
    </CodeGroup>
  </Accordion>

  <Accordion title="SDK integration (Web)">
    ```typescript lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
    airbridge.init({
      ...
      autoStartTrackingEnabled: false,
    })
    airbridge.setDeviceAlias('mixpanel_device_id', mixpanel.get_distinct_id())
    airbridge.startTracking()
    ```
  </Accordion>

  <Accordion title="SDK integration (React Native)">
    #### React Native SDK

    Set `autoStartTrackingEnabled` to `false` in the [airbridge.json](/en/developers/react-native-sdk-v4#configure-sdk-settings).

    ```typescript lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
    const appInstanceId = await Mixpanel.getDistinctId();
    Airbridge.setDeviceAlias('mixpanel_device_id', appInstanceId);
    Airbridge.startTracking();
    ```

    #### React Native SDK (Deprecated)

    Set `autoStartTrackingEnabled` to `false` in the [airbridge.json](/en/developers/deprecated-react-native-sdk-v2#airbridge-json).

    ```typescript lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
    Airbridge.state.setDeviceAlias("mixpanel_device_id", await Mixpanel.getDistinctId())
    Airbirdge.state.startTracking()
    ```
  </Accordion>

  <Accordion title="SDK integration (Cordova)">
    Set `autoStartTrackingEnabled` to `false` in the [airbridge.json](/en/developers/deprecated-cordova-ionic-sdk-v2#airbridge-json).

    ```typescript lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
    Airbridge.state.setDeviceAlias("mixpanel_device_id", mixpanel.get_distinct_id())
    Airbirdge.state.startTracking()
    ```
  </Accordion>

  <Accordion title="SDK integration (Flutter)">
    #### Flutter SDK

    Set `autoStartTrackingEnabled` to `false` in the [airbridge.json](/en/developers/flutter-sdk-v4#configure-sdk-settings).

    ```typescript lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
    final appInstanceId = await mixpanel.getDistinctId();

    if (appInstanceId != null) {
        Airbridge.setDeviceAlias("mixpanel_device_id", appInstanceId);
    }

    Airbridge.startTracking();
    ```

    #### Flutter SDK (Deprecated)

    Set `autoStartTrackingEnabled` to `false` in the [airbridge.json](/en/developers/deprecated-flutter-sdk-v3#airbridge-json).

    ```typescript lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
    Airbridge.state.setDeviceAlias("mixpanel_device_id", await mixpanel.getDistinctId())
    Airbirdge.state.startTracking()
    ```
  </Accordion>

  <Accordion title="SDK integration (Unity)">
    #### Unity SDK

    Set `Auto Start Tracking Enabled` to `false` in the [project settings](/en/developers/unity-sdk-v4#configure-sdk-settings).

    ```c# lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
    Airbridge.SetDeviceAlias("mixpanel_device_id", Mixpanel.DistinctId);
    Airbridge.StartTracking();
    ```

    #### Unity SDK (Deprecated)

    Set `Auto Start Tracking Enabled` to `false` in the [project settings](/en/developers/deprecated-unity-sdk-v1#set-up-project).

    ```c# lines theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
    AirbridgeUnity.SetDeviceAlias("mixpanel_device_id", Mixpanel.DistinctId);
    AirbridgeUnity.StartTracking()
    ```
  </Accordion>
</AccordionGroup>

### Airbridge dashboard setup

The Airbridge dashboard setup must be completed to implement the integration. For detailed instructions, refer to the user guide below.

* [Mixpanel Integration User Guide](/en/guides/mixpanel)

<link rel="alternate" hrefLang="en" href="https://help.airbridge.io/en/developers/mixpanel" />

<link rel="alternate" hrefLang="ko" href="https://help.airbridge.io/ko/developers/mixpanel" />
