Superwall

3rd Party Analytics

Hooking up Superwall events to 3rd party tools

SuperwallKit automatically tracks some internal events. You can view the list of events here. We encourage you to also track them in your own analytics by implementing the Superwall delegate. Using the handleSuperwallEvent(withInfo:) function, you can forward events to your analytics service:

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

You might also want to set user attribute to allow for 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:

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()
  }
}

Wanting to use events to see which product was purchased on a paywall? Check out this doc.

How is this guide?

On this page