Back to Blog

iOS app analytics: sources, privacy and measurement checks

Build an iOS measurement plan across App Store Connect, app events, ATT, advertising attribution, subscriptions and MetricKit. Verify the data before acting.

ios app analyticsmobile analyticsapp monetizationskadnetworkproduct analytics

An iOS analytics setup should explain how people discover your app, reach value, return and pay. Those questions draw on different records. App Store activity, events inside your app, advertising attribution and subscription state should have explicit boundaries before they appear on one dashboard.

This guide focuses on the iOS-specific decisions: Apple metric definitions, analytics-sharing coverage, App Tracking Transparency, ad attribution and device diagnostics. Use the app analytics guide for the broader tracking plan, funnels and cohorts.

Assign each question to a source

QuestionStarting sourceWhat to verify
Are people discovering and downloading the app?App Store Connect acquisition metricsThe exact metric, reporting window, territory and counting unit
Where does onboarding lose people?App events with defined entry and completion rulesEligibility, duplicate events, missing delivery and identity continuity
Which advertising campaigns receive attribution?The configured advertising attribution systemFramework, conversion definition, postback timing and available fields
Did a subscription renew, expire or refund?Verified store and billing recordsTransaction identity, environment, effective time and reconciliation
Did a release introduce a performance problem?Device diagnostics and performance measurementsApp version, OS version, device conditions and report coverage

Record both what a source measures and what it cannot establish. A purchase-button tap is evidence of intent; it does not establish a completed payment or current access. An event received twice should not become two customers.

Use Apple's metric definitions precisely

Apple's App Store Connect metric reference distinguishes downloads from installations and active devices from people. Total Downloads combines first-time downloads and redownloads. Usage totals are based on customers who opt in to share analytics.

Apple's Conversion Rate uses downloads and pre-orders relative to unique-device impressions; it is not simply your product-page-to-signup funnel. Sales and Proceeds are also different measures: proceeds account for applicable taxes and Apple's commission. Read the definition for the field you actually export.

Keep that reference attached to each imported metric. Do not label active devices “users” in a combined report or silently divide a usage count by an acquisition count from a different population.

A practical reconciliation sheet should include the source, unit, event date or processing date, timezone, filters, coverage and formula. If two reports disagree, compare those fields before changing instrumentation. Different counting rules can produce different totals even when both systems are behaving correctly.

Separate analytics sharing from permission to track

App Store Connect usage coverage and App Tracking Transparency answer different questions. Apple's privacy and data-use guidance defines tracking around linking data across companies for advertising or advertising measurement, and sharing it with data brokers. ATT governs that tracking and access to the advertising identifier.

Review what each SDK actually collects and how its provider uses it. Calling a service “analytics” does not settle whether it tracks. Apple holds developers responsible for included third-party code and describes privacy disclosures and manifests separately from the permission prompt.

For implementation, keep a data inventory: each event or property, purpose, recipient, retention rule and collection setting. Test the app with the relevant permissions denied as well as granted. Moving a request to your server does not by itself answer whether the underlying collection and use is appropriate. Follow the current platform guidance for your app's actual behavior.

Keep advertising attribution separate from product journeys

Apple's AdAttributionKit overview describes signed attribution signals for installations and re-engagement and builds on SKAdNetwork. Some postback fields depend on privacy thresholds. A missing conditional value is not proof that the underlying outcome was zero.

Record which framework and conversion mapping each campaign uses. Keep unattributed or unavailable outcomes visible in reporting instead of assigning them to a convenient channel. Do not treat an aggregate campaign signal as a complete user-level history of onboarding or purchases.

For a campaign review, compare the advertising report with the app's activation and billing aggregates over a compatible window. Explain differences in population and timing. Avoid manufacturing a person-level join when the evidence supports only aggregate comparison.

Build one inspectable activation path

Choose a meaningful outcome, such as completing account setup and performing the first useful action. Write the event trigger and the eligible population before adding instrumentation.

  1. Define entry. State whether the denominator is first opens, new accounts or customers starting onboarding. Keep reinstallations and existing accounts explicit.
  2. Define completion. Name the durable state or action that proves success. Rendering the last screen may not mean setup was saved.
  3. Define identity changes. Specify how anonymous activity relates to login, logout, account switching and deletion. Do not merge two accounts merely because they used one device.
  4. Define delivery. Record event identity, occurrence time, receipt time and environment. Decide how retries and late arrivals affect the report.
  5. Define exclusion. Keep development, sandbox, staff and automated verification activity identifiable and exclude it from the intended customer cohort.

These are proposed acceptance checks, not a claim that a particular SDK implements your whole measurement model automatically. For metric formulas and denominator choices, see the engagement metrics guide.

Reconcile purchases without counting taps as revenue

Give client interactions and confirmed commercial outcomes different meanings. Record a purchase attempt at the interaction boundary; derive paid state from the verified transaction or billing system responsible for it. Preserve enough stable identity to recognize a retry without counting the same outcome again.

Exercise renewal, cancellation, expiration, refund, restoration and account switching separately. A restore can recover access without representing a new sale. Define whether each report uses transaction time, entitlement state at a point in time, or cash proceeds; these answer different questions.

The subscription architecture guide covers ownership and recovery boundaries. Keep sandbox and production records distinct throughout the pipeline.

Measure instrumentation cost with MetricKit and device tests

MetricKit is Apple's framework for app diagnostics and power/performance metrics. Its metric reports summarize a reporting period rather than acting as a real-time product-event stream. Check API availability against your deployment target before implementing it.

For your instrumentation, compare launch, onboarding and checkout with representative event volume. Inspect work on the main thread, network payload size, retries, memory and battery impact. Include poor connectivity and background/foreground transitions. Use the same app build and device conditions for each comparison; a generic framework benchmark cannot establish the cost in your app.

Verify the setup before using it to choose an experiment

TrialExpected evidence
One test customer completes the chosen pathEvents and durable completion agree on the eligible identity and version.
The app retries after a connection failureThe report counts one logical outcome, with delivery history available for diagnosis.
A customer logs out and another logs inThe second account does not inherit the first account's personal activity.
A sandbox purchase is restoredAccess behavior is verified and the event is excluded from production revenue.
A required source becomes unavailableThe report labels the gap instead of reporting a fabricated zero.

Run the trial in an appropriate test environment and keep the evidence. Once the measurement path is dependable, choose an intervention and establish its success measure and decision rule. The paywall experiment guide provides a concrete example.

Connecting Nuxie to an iOS app

The Nuxie iOS setup guide covers installation, initialization, triggering a published Experience and checking a remote update. Use the documented build-specific app keys and verify the Experience on a device. Seeing it appear proves that delivery step; it does not independently prove a complete acquisition-to-revenue join.

Start with one onboarding or paywall Experience and carry the measurement definition through its trial. Keep your analytics and billing owners explicit, verify the resulting records, then use the evidence to decide whether the change helped.