We need to match a triggered send email with a bounce record by a unique id in order to meet our business requirements. Just identifying the contact/subscriber is not enough.

The marketing cloud rest api for a Triggered Send returns a recipientSendId to identify the email. However, this id does not appear to exist in the Bounce Data View. It also does not appear to be in any other data views.

We have also tried to use the Get Email Delivery Details endpoint. In our attempts it has only returned "Sent" as the status even after we have confirmed there was a bounce.

Is there a way to match the recipientSendId to a bounce record?


You will need to enable Send Logging in your MID. It is a free addition but if it is not enabled you will need to create a support ticket.

You then create a SendLog DataExtension using the SendLog template. Add any columns you may want to link to your TriggeredSend DataExtension(s) -- to link them the column name in your TriggeredSend and SendLog DataExtensions must be named identically. You could have multiple columns if you desire such containing SubscriberID or whatever else.

When you send an email using the TriggeredSend, a record will be created in the SendLog DataExtension automatically. It is linked to your TriggeredSend DataExtension record with that column mentioned above. It also contains things such as the TriggeredSendDefinitionObjectID, BatchID, SendID, and a couple others.

Once the above is completed, you can then begin using the SOAP Api to request BounceEvents. The BounceEvent does not have everything you need, so youll need to use the information from the BounceEvent (BatchID, SendID, etc.) to then use the SOAP Api to query that SendLog DataExtension in order to determine which send for which recipient bounced.

It is not the most elegant solution but multiple Retrieve requests for different objects using the SOAP Apis is the only way to do it via Api as there are no equivalent REST Api endpoints.

| improve this answer | |
  • So from my understanding, the BatchId and SendId can be used to uniquely relate the SendLog record and BounceEvent record. Furthermore, we can add our own id to the SendLog to match it back to our request. Can you confirm I understood that correctly? – user55318 Apr 2 '18 at 17:30
  • It would be BatchID and TriggeredSendDefinitionObjectID in the BounceEvent mapping to BatchID and TriggeredSendID in the SendLog DataExtension, but yes youve got it. You can add your own column in the SendLog DataExtension that maps to an identically named column in the DataExtension used by the TriggeredSend. Your custom column will not be included in Retrieve results for the BounceEvent from the SOAP Api, if thats what you were asking. – Mike Apr 2 '18 at 19:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.