Respectlytics Respect lytics
Menu
Replace Matomo Mobile Fewer third-party SDKs

Replace Matomo Mobile to ship fewer third-party SDKs

Migrate from Matomo Mobile to Respectlytics to reduce your dependency tree. Helps developers avoid collecting personal data.

Example Matomo Mobile call (the "before")

swift Respectlytics
import MatomoTracker

let tracker = MatomoTracker(siteId: "1", baseURL: URL(string: "https://your-matomo.example.com/matomo.php")!)
tracker.userId = userId

let event = Event(
    tracker: tracker,
    action: ["purchase"],
    eventCategory: "ecommerce",
    eventAction: "purchase",
    eventName: "paywall",
    eventValue: NSNumber(value: price).floatValue
)
tracker.track(event)

Every third-party SDK is a supply-chain surface — manifest permissions, network endpoints, transitive dependencies. The biggest reduction in privacy footprint often comes from simply shipping fewer SDKs. Respectlytics has zero ads, attribution, or routing dependencies — it's one HTTPS endpoint.

Remove Matomo Mobile cleanly

  1. 1

    Remove the Matomo SDK from your build (MatomoTracker / org.matomo.sdk:tracker / matomo_tracker)

  2. 2

    Remove Tracker.builder().build() initialisation and track(...) call sites

  3. 3

    Decide whether your Matomo server stays online (for web traffic) or gets decommissioned

  4. 4

    If you used Matomo's visitor segments alongside web data, plan how you'll bridge web ⇄ mobile analytics under Respectlytics (web isn't Respectlytics's primary surface)

Matomo Mobile vs Respectlytics — fewer third-party sdks

Matomo MobileRespectlytics
Direct ad / tracking dependencies— see tool note aboveZero
Pulls Google Play Services— typically yesNo
Auto-merged manifest permissionsOften (AD_ID, ACCESS_NETWORK_STATE, etc.)None added
Number of HTTP endpoints contactedMultiple (varies)One (Respectlytics API)
Open-source SDK— varies by toolYes (MIT-licensed)

Frequently asked questions

How do we audit our current dependency tree?

iOS: swift package show-dependencies (SPM) or pod outdated (CocoaPods) lists the tree. Android: ./gradlew :app:dependencies --configuration releaseRuntimeClasspath. RN: npm ls --all. Flutter: flutter pub deps. Our [Dependency Privacy Scanner](/tools/dependency-privacy-scanner/) parses lockfiles from any of these and tells you which deps are forcing which privacy labels.

What if we still need install attribution?

First-party alternatives without an SDK: Apple SKAdNetwork (iOS), AdAttributionKit (iOS 17.4+), Google Play Install Referrer API (Android). These are built into the OS — your ads platform reads them directly. No mobile SDK required.

What about crash reporting and push notifications?

Those are separate concerns with their own SDKs — Sentry / Crashlytics / Bugsnag for crashes; OneSignal / FCM / APNs for push. Respectlytics doesn't bundle them in; you pick the dedicated SDK for each surface.

Does shipping fewer SDKs measurably improve app size or cold start?

Often, yes — measurably. Removing Firebase + AppsFlyer + Segment from a typical RN app can shave several megabytes of bundle and 100-300ms off cold start. See the [SDK Bundle-Size Comparator](/tools/sdk-bundle-size-comparator/) for specific numbers.

Related migration guides

Track what matters. Collect nothing you don't.

Five-field event schema, RAM-only event queue, no IDFA, no AAID, no persistent user IDs. Helps developers avoid collecting personal data in the first place.