Campaign: Push Delivery Shows Zero Success Count in UAT
Push deliveries in the UAT environment completed with a Finished status, but showed zero processed and successful messages. The issue affected both iOS and Android push deliveries and was not reproducible in other environments of the same customer.
Description description
The targeting workflow could identify the app subscription, but delivery preparation returned:
0 recipient(s) match segmentation criteria
Empty delivery target
0 message(s) waiting
The issue began after a specific date and occurred with both custom and default push templates.
The delivery used the default nms:appSubscriptionRcp target mapping, which requires a valid link to nms:recipient.
Mapping: Subscriber applications (nms:appSubscriptionRcp)
recipientLink: recipient
targetSchema: nms:recipient
This is not a token-only delivery path. Although the delivery targets app subscriptions, the mapping still expects each app subscription to resolve to a valid recipient.
Adobe documentation confirms that the default push target mapping uses nms:appSubscriptionRcp and that this mapping is linked to the recipient table. A different target mapping must be created when the implementation intentionally does not use the recipient relationship.
We enabled SQL logs for delivery preparation. The preparation SQL performed this join:
JOIN NmsAppSubscriptionRcp TGT
ON W0.iId = TGT.iAppSubscriptionRcpId
JOIN NmsRecipient RCP
ON TGT.iRecipientId = RCP.iRecipientId
In UAT
- The tested record existed in nms:appSubscriptionRcp.
- The recipient-id field for the app subscription was empty or NULL.
- The join to NmsRecipient therefore could not succeed.
- The app subscription was removed from the delivery target.
- Delivery preparation returned zero recipients.
When the recipient ID column was added to the schema’s data view for nms:appSubscriptionRcp, the UAT records disappeared because their recipient relationship could not be resolved.
Production contained a zero-id recipient record, allowing the join to succeed.
Root cause: the investigation discovered that the customer had accidentally deleted the zero-id record in the UAT and development recipient schemas. This broke the external joins between nms:recipient and related schemas, including nms:appSubscriptionRcp.
Resolution resolution
Restore the missing zero-id record in the UAT and development recipient schemas, then validate that app subscriptions receive the expected recipient link.
After restoration:
- Confirm that @recipient-id is populated or resolves correctly.
- Run a test push delivery.
- Verify that the target contains the expected subscription.
- Confirm that Messages Processed and Success Count are greater than zero.
If token-only targeting is required, create a target mapping without the recipient link.