The PushSendLog in Salesforce Marketing Cloud (SFMC) is a key data extension used to capture detailed logging information for push notifications sent via MobilePush. It works similarly to the Email SendLog or SMSSendLog, helping marketing and technical teams audit and analyze push campaigns by storing key send-time details for each notification.
This blog post explores the core fields in PushSendLog, outlines its benefits, and provides SQL examples to use it effectively for monitoring and optimization.
What is the PushSendLog Data View?
PushSendLog
is a custom logging-enabled Data Extension (DE) that tracks push notification send activity at the device and job level. It logs identifiers such as push job ID, device ID, app ID, and subscriber ID, giving full visibility into push activity across mobile devices and apps.
🔧 Send logging must be enabled during the MobilePush send configuration to populate this data view.
Key Benefits
- Delivery Transparency: Understand when and to whom push notifications were sent.
- Triggered Send Attribution: Capture and analyze performance by request ID.
- App-Based Segmentation: Track pushes by app ID or device type.
- Campaign Auditing: Store send-time metadata for future analytics or compliance.
Fields in PushSendLog
Field | Type | Description |
---|---|---|
PushJobID | Text | Unique identifier for the push notification job (UUID format). |
PushTriggeredSendRequestID | Text | Unique ID for the triggered send request that initiated the push. |
PushBatchID | LongNumber | Numeric ID representing the batch the push was part of. Useful for breaking down large sends. |
SubID | LongNumber | Internal SFMC subscriber ID related to the push. Can be used to join to _Subscribers or ContactKey . |
DeviceId | Text | Unique identifier for the device receiving the push. Often used for targeting and personalization. |
AppId | Text | App identifier to differentiate pushes sent from different mobile apps. |
LogDate | Date | Timestamp when the push was logged. Defaults to GETDATE() at time of send. |
📝 You can customize PushSendLog by adding additional fields like
Title
,Body
,Language
,Region
,SegmentName
, etc., based on your personalization or regional requirements.
When and Why to Use PushSendLog
When to Use?
- When auditing MobilePush sends per job or batch.
- For troubleshooting issues with device-level delivery.
- When building custom push performance dashboards.
- To enable segmentation by device, app, or triggered send.
Why Use It?
- Full Visibility: Complements
_PushMessageTracking
for end-to-end tracking. - Custom Reporting: Track sends by campaign, batch, or mobile application.
- Journey Attribution: Analyze engagement by
PushTriggeredSendRequestID
. - Performance Optimization: Identify delivery trends by device or segment.
Sample SQL Queries
1. Push Volume by App
SELECT AppId, COUNT(*) AS TotalPushes
FROM PushSendLog
GROUP BY AppId
2. List of Push Sends by Device for a Specific Job
SELECT DeviceId, LogDate
FROM PushSendLog
WHERE PushJobID = '1234-5678-abc-defg'
3. Recently Sent Push Notifications (Last 7 Days)
SELECT PushJobID, DeviceId, AppId, LogDate
FROM PushSendLog
WHERE LogDate >= DATEADD(day, -7, GETDATE())
4. Total Pushes by Triggered Send
SELECT PushTriggeredSendRequestID, COUNT(*) AS TotalSends
FROM PushSendLog
GROUP BY PushTriggeredSendRequestID
Conclusion
The PushSendLog
is an essential data view for MobilePush users in Salesforce Marketing Cloud, enabling granular visibility into how, when, and where push notifications were sent. It supports auditing, segmentation, and campaign optimization with a focus on triggered sends and app-specific targeting.
Use it in combination with _PushMessageTracking
, _PushAddress
, and _PushTag
to build a full-funnel view of your mobile engagement strategy.