Mobile

_PushAddress

MobilePush device registrations: system tokens, opt-in status, and application binding per subscriber device.

Schema last reviewed 2026-06-17

Opens _PushAddress in the interactive canvas with SQL Sandbox.

Fields (20)

Field Type Flags Relations Description
DeviceID Text(200) PK, FK _PushAddress.DeviceID
_PushTag.DeviceID
Unique device identifier for the MobilePush endpoint.
SubscriberID Number FK _Sent.SubscriberID
_Open.SubscriberID
_Click.SubscriberID
_Bounce.SubscriberID
_Complaint.SubscriberID
_Unsubscribe.SubscriberID
Subscriber linked to the device.
SubscriberKey Text(254) FK, NULL _Subscribers.SubscriberKey Subscriber key for the device owner.
DeviceType Text(50) NULL — Platform type (e.g., iOS, Android).
SystemToken Text(500) NULL — Push notification system token from the OS.
OptInStatus Text(50) — — Opt-in state for push on this device.
OptInDate Date NULL — When the subscriber opted in to push.
OptOutDate Date NULL — When the subscriber opted out of push.
CreatedDate Date — — Record created in MobilePush.
ModifiedDate Date — — Last update to the device registration.
ApplicationID Text(36) NULL — MobilePush application GUID.
ContactID Number NULL — Contact ID when synchronized from Contact Builder.
Platform Text(100) NULL — OS platform version string.
PlatformVersion Text(50) NULL — Detailed platform version.
HardwareId Text(200) NULL — Hardware identifier when provided by the SDK.
Badge Number NULL — Last known badge count.
LocationEnabled Boolean — — Whether location services are enabled for the app.
TimeZone Text(50) NULL — Device timezone offset or name.
Source Text(100) NULL — Registration source (SDK, API, Journey).
Status Text(50) NULL — Device registration status.

Example query

SELECT TOP 100
  SubscriberKey, SubscriberID, DeviceID, DeviceType, SystemToken, OptInStatus
FROM _PushAddress
WHERE CreatedDate >= DATEADD(day, -30, GETDATE())
ORDER BY CreatedDate DESC

Valid in Query Studio and Automation Studio Query Activities. GROUP BY is only needed for aggregates; ORDER BY is optional but recommended with TOP so rows are meaningful. Narrow date ranges on large tracking views to avoid timeouts.