Skip to content

Using TelemetryDeck with Superwall iOS

Superwall lets you experiment with different paywalls and monetization strategies. Combined with TelemetryDeck, you can see how users interact with your paywalls.

Superwall provides hooks that forward events to TelemetryDeck. This guide shows you how to wire them up.

Installing Superwall and TelemetryDeck

Integrate both SDKs into your app:

  1. Install and set up the TelemetryDeck SDK
  2. Install and set up the Superwall SDK

If you've already set up either SDK, skip that step. The initialization order doesn't matter.

Creating a Superwall delegate

Create a new file SuperwallService.swift:

import SuperwallKit
import TelemetryDeck

class SuperwallService: SuperwallDelegate {
    func handleSuperwallEvent(withInfo eventInfo: SuperwallEventInfo) {
        var stringifiedParams: [String: String] = [:]

        for param in eventInfo.params {
            stringifiedParams[param.key] = String(describing: param.value)
        }

        Task {
            await TelemetryDeck.event(
                eventInfo.event.description,
                parameters: stringifiedParams
            )
        }
    }
}

Registering the delegate

In the function where you initialize TelemetryDeck and Superwall (usually your App struct or AppDelegate), add:

let superwallService = SuperwallService()
Superwall.shared.delegate = superwallService

Paywall shown, dismissed, and subscription events will now appear in your TelemetryDeck dashboard.