Hello, Salesforce community!
We are implementing push notification delivery tracking via the Event Notification Service (ENS) using the EngagementEvents.PushDeliveryReceipt event.
Our goal is to confirm when the notification actually reaches the device. We understand that PushSent only confirms that Marketing Cloud Engagement forwarded the message to Apple or Google, while PushOpen records the notification open. PushDeliveryReceipt, on the other hand, relies on the SDK reporting the message receipt so the ENS can send the event to the configured webhook.
The feature is enabled at:
Manage Event Tracking → Push Delivery → Enabled
We also have an active ENS subscription for:
EngagementEvents.PushDeliveryReceipt
On Android, the receipts are being received correctly. On iOS, however, the event was not being emitted.
Currently, the app uses MarketingCloudSDK 9.0.3 with analytics enabled during initialization, and the Notification Service Extension inherits from SFMCNotificationService. We have also ensured that the full notification payload is forwarded to the extension.
During our analysis, we identified that the SDK didn't know which App Group it should use to share the event between the Notification Service Extension and the app. Because of this, we added the SF_MARKETINGCLOUD_APP_GROUP_KEYkey, pointing it to the same App Group configured in the entitlements, in the following files:
ios/Runner/Info.plist
ios/statuspushnotification/Info.plist
ios/pushcontent/Info.plist
We know this configuration doesn't change how the notification is received or displayed. It should only allow the SDK to report the EngagementEvents.PushDeliveryReceipt on iOS.
The main challenge now is validating and diagnosing this flow. Due to environmental security restrictions, we cannot rely solely on logs collected directly from physical devices to identify potential failures within the SDK or the Notification Service Extension.
Has anyone in the community faced a similar scenario?
We would like to know if there are any recommendations to:
- Validate if the Notification Service Extension is correctly processing the payload;
- Confirm if the SDK successfully persisted and shared the receipt via the App Group;
- Collect logs or diagnostic information from the MarketingCloudSDK without relying exclusively on direct access to a physical device;
- Identify failures in the receipt processing before it is sent to ENS;
- Remotely verify if the issue lies in the app, the MobilePush configuration, or the ENS subscription;
- Implement a secure observability strategy for this flow in a controlled environment.
We would also like to confirm if, besides configuring SF_MARKETINGCLOUD_APP_GROUP_KEY, there are any other specific requirements on iOS, such as permissions, additional entitlement configurations, SDK initialization steps, or payload handling by the Notification Service Extension.
Any guidance, similar experiences, or diagnostic suggestions would be greatly appreciated.
Thanks in advance for your help!
Hi Vinícius, a quick follow-up ahead of the Oct 30 read-only date. Did my answer get you unstuck? If it worked, please mark it as the best answer so others can find it. Let me know if anything is still not working.