Protect data in app analytics: Approve event fields and routes into SDK before implementation; Collect only necessary data—avoid personal details like names or addresses; Audit all analytics routes, including third-party code and automatic collection
Image: Mobile Growth Guide

App Analytics

Part of App analytics implementation

Keeping sensitive information out of app analytics

Audit app analytics fields and SDK collection, minimise personal details and check events before sensitive data reaches reports.

Approve an event's fields before implementation, and check every route into the SDK. Review event properties, user IDs, screen labels and automatically collected data. A privacy notice cannot remove information already sent by a faulty event.

Separate task measurement from customer records

Most analytics questions need a state or broad category, not the underlying personal detail. A hypothetical appointment-confirmation event can show success without carrying a customer's name, phone number, health note or full address. If a location category is needed, check whether it is broad enough for the audience and whether combining it with other fields could identify someone.

For organisations covered by Australia's Privacy Act, the Australian Privacy Principles set conditions on collecting personal information. Current OAIC guidance says an APP organisation's collection must be reasonably necessary for its functions or activities.

Collecting sensitive information generally requires consent as well, unless an exception applies. Coverage and the treatment of a proposed field need a review of the particular organisation and data flow. As a design rule, collect less in analytics than the product may need to perform the task.

Privacy compliance essentials for Australian app developers

APP requirement
Collection must be reasonably necessary for functions or activities
Sensitive data handling
Consent usually required unless exception applies
Design rule
Collect less in analytics than product needs

Audit routes into analytics

Map each source screen or service, field, event, SDK or endpoint, recipient, purpose and retention decision. Include third-party code. As part of the audit, consider the information lifecycle and scrutinise analytics SDKs.

RouteRisk to checkDesign question
Event propertiesFree text or an exact address is copied into an eventCan a controlled, broader category answer the question?
User identifiersAn email or phone number becomes an analytics IDCan the measure work without a direct identifier?
Screen and route labelsA customer value appears in a label or URLCan a fixed label or category replace it?
Automatic collectionThe SDK collects more than expectedWhat does the current configuration actually collect?

Google publishes best-practice guidance on avoiding sending personally identifiable information to Analytics. Review the provider's current policy before sending any field that could identify someone.

Do not assume hashing a direct identifier makes it acceptable: check the provider's policy and whether the person remains identifiable. Check the provider's current documentation for any setting you intend to rely on, and check app events before transmission.

Risk assessment: Data collection routes into analytics

Event properties
Free text or exact address may be sent; use broader categories instead
User identifiers
Email or phone number as ID risks exposure; avoid direct linkage
Screen and route labels
Customer values in labels can leak data; use fixed categories
Automatic collection
SDK may collect more than expected; verify current configuration

Prevent unwanted fields

Use an allowlist of event names, property keys, types and permitted values. Reject unexpected free text before the analytics call.

Keep customer records in the system that needs them, with access suited to their purpose. Review combinations of fields as well as individual values; several broad properties together may identify a small group.

Review SDK collection controls alongside the app's notice and consent design. Firebase documents Android controls to disable Analytics collection temporarily, including while awaiting end-user consent. That is an implementation option, not a determination that a particular Australian app requires consent. Check the settings on each supported platform and version.

Check changes and respond to mistakes

Exercise successful, failed and unusual paths with synthetic information, including user-entered text and deep-link parameters. Inspect what the SDK logs and what reaches the reporting destination. Keep real customer information out of this exercise.

If a sensitive value is discovered, stop the sending path, identify the affected event and period, and follow the organisation's incident and deletion process. Review downstream destinations as well as the primary analytics property. Update the field contract so a later release does not reintroduce the value.

More from App Analytics