# 3rd Party Analytics

Hooking up Superwall events to 3rd party tools [#hooking-up-superwall-events-to-3rd-party-tools]

SuperwallKit automatically tracks some internal events. You can [view the list of events here](/docs/sdk/guides/3rd-party-analytics/tracking-analytics). We encourage you to also track them in your own analytics by implementing the [Superwall delegate](/docs/sdk/guides/using-superwall-delegate). Using the `handleSuperwallEvent(withInfo:)` function, you can forward events to your analytics service:

:::android
```kotlin
override fun handleSuperwallEvent(eventInfo: SuperwallEventInfo) {
  println("analytics event: ${eventInfo.event.rawName}")
  MyAnalytics.shared.track(eventInfo.event.rawName, eventInfo.params)
}
```
:::

<br />

> **Note**

You might also want to set user attribute to allow for
[Cohorting in 3rd Party Tools](/docs/sdk/guides/3rd-party-analytics/cohorting-in-3rd-party-tools).



Alternatively, if you want typed versions of all these events with associated values, you can access them via `eventInfo.event`:

:::android
```kotlin
override fun handleSuperwallEvent(eventInfo: SuperwallEventInfo) {
  when(eventInfo.event) {
    is SuperwallPlacement.AppClose -> TODO()
    is SuperwallPlacement.AppInstall -> TODO()
    is SuperwallPlacement.AppLaunch -> TODO()
    is SuperwallPlacement.AppOpen -> TODO()
    is SuperwallPlacement.DeepLink -> TODO()
    is SuperwallPlacement.FirstSeen -> TODO()
    is SuperwallPlacement.FreeTrialStart -> TODO()
    is SuperwallPlacement.NonRecurringProductPurchase -> TODO()
    is SuperwallPlacement.PaywallClose -> TODO()
    is SuperwallPlacement.PaywallDecline -> TODO()
    is SuperwallPlacement.PaywallOpen -> TODO()
    is SuperwallPlacement.PaywallPresentationRequest -> TODO()
    is SuperwallPlacement.PaywallProductsLoadComplete -> TODO()
    is SuperwallPlacement.PaywallProductsLoadFail -> TODO()
    is SuperwallPlacement.PaywallProductsLoadStart -> TODO()
    is SuperwallPlacement.PaywallResponseLoadComplete -> TODO()
    is SuperwallPlacement.PaywallResponseLoadFail -> TODO()
    is SuperwallPlacement.PaywallResponseLoadNotFound -> TODO()
    is SuperwallPlacement.PaywallResponseLoadStart -> TODO()
    is SuperwallPlacement.PaywallWebviewLoadComplete -> TODO()
    is SuperwallPlacement.PaywallWebviewLoadFail -> TODO()
    is SuperwallPlacement.PaywallWebviewLoadStart -> TODO()
    is SuperwallPlacement.PaywallWebviewLoadTimeout -> TODO()
    is SuperwallPlacement.SessionStart -> TODO()
    is SuperwallPlacement.SubscriptionStart -> TODO()
    is SuperwallPlacement.SubscriptionStatusDidChange -> TODO()
    is SuperwallPlacement.SurveyClose -> TODO()
    is SuperwallPlacement.SurveyResponse -> TODO()
    is SuperwallPlacement.TransactionAbandon -> TODO()
    is SuperwallPlacement.TransactionComplete -> TODO()
    is SuperwallPlacement.TransactionFail -> TODO()
    is SuperwallPlacement.TransactionRestore -> TODO()
    is SuperwallPlacement.TransactionStart -> TODO()
    is SuperwallPlacement.TransactionTimeout -> TODO()
    is SuperwallPlacement.TriggerFire -> TODO()
    is SuperwallPlacement.UserAttributes -> TODO()
  }
}
```
:::

> **Info**

Wanting to use events to see which product was purchased on a paywall? Check out this
[doc](/docs/sdk/guides/advanced/viewing-purchased-products).