⚠️ Important: The
_PushAddress
data view is unofficial and unsupported by Salesforce. While it may be available in some SFMC accounts for MobilePush implementations, its use should be tested and validated in non-production environments. Proceed with caution.
This blog post provides a field-level breakdown of _PushAddress
, use cases for MobilePush subscriber data, and example SQL queries to audit push subscriptions and engagement profiles.
What is the _PushAddress Data View?
The _PushAddress
data view stores metadata about devices and users who are subscribed to MobilePush notifications through Salesforce Marketing Cloud. It includes both device-specific information and opt-in/out statuses.
Key Benefits of _PushAddress (Unofficial)
- Device Metadata: Understand the device type, platform, and OS version.
- Subscription Tracking: See which users have opted in or out of push notifications.
- Location Context: Use location and time zone data for personalization.
- Debugging & Testing: Useful for technical teams verifying push integration setups.
Fields in _PushAddress Data View
Field | Type | Description |
---|---|---|
_DeviceID | Text(200) | Unique ID for the mobile device. |
_ContactID | Text | Contact identifier. Used for joins across channels. |
_APID | Text(38) | Application-specific push identifier. |
_Status | Text | Status of the device (e.g., Active, Inactive). |
_Source | Text | Origin of the record (e.g., SDK, API, import). |
_SourceObjectId | Text(200) | System-level object reference. |
_Platform | Text(100) | Mobile OS (e.g., iOS, Android). |
_PlatformVersion | Text(100) | OS version of the device. |
_Alias | Text(100) | Optional alias name for the user/device. |
_OptOutStatusID | Text | Indicates opt-out status for push notifications. |
_OptOutMethodID | Text | Method used for opting out. |
_OptOutDate | Date | Timestamp of opt-out action. |
_OptInStatusID | Text | Indicates opt-in status. |
_OptInMethodID | Text | Method used for opting in. |
_OptInDate | Date | Timestamp of opt-in action. |
_Channel | Text(20) | Indicates the channel (Push). |
_CreatedDate | Date | When the device record was created. |
_CreatedBy | Text | Who created the record. |
_ModifiedDate | Date | Last modification date. |
_ModifiedBy | Text | Who last modified the record. |
_City | Text(200) | City from which the device was registered. |
_State | Text(200) | State of the subscriber. |
_ZipCode | Text(20) | Postal code of the user. |
_FirstName | Text(100) | First name of the subscriber. |
_LastName | Text(100) | Last name of the subscriber. |
_UTCOffset | Decimal | Time zone offset. |
_IsHonorDST | Boolean | Whether the device honors Daylight Saving Time. |
_SystemToken | Text(4000) | Token for internal device communication. |
_ProviderToken | Text(200) | Token provided by Apple or Google push services. |
_Badge | Number | Badge number displayed on the app icon. |
_LocationEnabled | Boolean | Whether location tracking is enabled. |
_TimeZone | Text(50) | Time zone of the device. |
_Device | Text(100) | Type of device (e.g., iPhone 13, Pixel 6). |
_HardwareId | Text(100) | Hardware-specific ID for the device. |
_DeviceType | Text(20) | Device category (e.g., smartphone, tablet). |
When and Why to Use _PushAddress
When to Use?
- For internal testing and development of push-based campaigns.
- When auditing push subscriber opt-in rates.
- To troubleshoot device compatibility or delivery failures.
- When analyzing platform and device usage trends.
Why Use It?
- Technical Debugging: Useful during push integration validation.
- Audience Segmentation: Create device or location-based segments.
- Behavioral Insights: Know which devices engage with push notifications.
- Subscription Lifecycle Management: Track opt-ins/opt-outs over time.
⚠️ Reminder: Always validate this view in your instance. It may not be supported in all environments and should not be relied on for compliance reporting.
Sample SQL Queries
1. Devices Opted In for Push
SELECT _DeviceID, _Platform, _OptInDate
FROM _PushAddress
WHERE _OptInStatusID IS NOT NULL
2. Recently Opted-Out Devices
SELECT _DeviceID, _Platform, _OptOutDate
FROM _PushAddress
WHERE _OptOutDate >= DATEADD(day, -30, GETDATE())
3. Platform Distribution of Active Devices
SELECT _Platform, COUNT(*) AS TotalDevices
FROM _PushAddress
WHERE _Status = 'Active'
GROUP BY _Platform
4. Devices by City and State
SELECT _City, _State, COUNT(*) AS Users
FROM _PushAddress
GROUP BY _City, _State
Conclusion
The _PushAddress
data view, while unofficial, can offer useful insights into device and opt-in data for MobilePush programs in Salesforce Marketing Cloud. Marketers and developers should use it carefully, ideally for internal testing, segmentation, and audience planning—not as a sole source of compliance reporting.
For live campaigns and production use, it’s recommended to validate with Salesforce or use standard MobilePush APIs and supported analytics.