1

I'm currently working with the Marketing Cloud SOAP API to retrieve email metrics sent from the Journey Builder.

I am able to do this, but it appears that the metrics I receive are related to the sum of all metrics for every subscriber in each send batch.

Is there any possible way to get metrics for a specific send to an individual subscriber?

I'm currently retrieving data with the ListSend method.

Here is an example of the data I retrieve:

 <Results xsi:type="ListSend">
        <Client>
           <ID>100016197</ID>
        </Client>
        <PartnerKey xsi:nil="true"/>
        <ObjectID xsi:nil="true"/>
        <SendID>139808</SendID>
        <List>
           <PartnerKey xsi:nil="true"/>
           <ID>620</ID>
           <ObjectID xsi:nil="true"/>
           <ListName>All Subscribers</ListName>
        </List>
        <Duplicates>0</Duplicates>
        <InvalidAddresses>0</InvalidAddresses>
        <ExistingUndeliverables>0</ExistingUndeliverables>
        <ExistingUnsubscribes>0</ExistingUnsubscribes>
        <HardBounces>10000</HardBounces>
        <SoftBounces>0</SoftBounces>
        <OtherBounces>3</OtherBounces>
        <ForwardedEmails>0</ForwardedEmails>
        <UniqueClicks>2</UniqueClicks>
        <UniqueOpens>0</UniqueOpens>
        <NumberSent>10006</NumberSent>
        <NumberDelivered>3</NumberDelivered>
        <Unsubscribes>2</Unsubscribes>
        <MissingAddresses>0</MissingAddresses>
     </Results>

I can see that the ListName attribute gives me all subscribers. Is there any way for this to be individual subscribers?

Thanks.

2

I am replying with the assumption that you are interested in retrieving the Click, Open, Bounces, etc. events for these interactions.

You need to get each event type individually via SOAP calls. You know the SendID based upon the above. You will also need to acquire the TriggeredSendDefinitionId for the specific email's send within the Journey.

Once you have these 2 pieces of data, you can then make a Retrieve SOAP Call to retrieve each event-type individually.

For instance, to retrieve Open Events, you'll make a soap call with a body something like this:

<RetrieveRequestMsg xmlns="http://exacttarget.com/wsdl/partnerAPI">
     <RetrieveRequest>
        <ObjectType>OpenEvent</ObjectType>
        <Properties>SubscriberKey</Properties>
        <Properties>ObjectID</Properties>
        <Properties>TriggeredSendDefinitionObjectID</Properties>
        <Properties>SendID</Properties>
        <Properties>BatchID</Properties>
        <Properties>EventType</Properties>
        <Properties>EventDate</Properties>
        <Filter xsi:type="SimpleFilterPart">
           <Property>TriggeredSendDefinitionObjectID</Property>
           <SimpleOperator>equals</SimpleOperator>
           <Value>YOURTRIGGEREDSENDDEFINITION</Value>
        </Filter>
     </RetrieveRequest>
  </RetrieveRequestMsg>

You could add a date range or some other filter to narrow the results return, as well.

Now you have a bunch of Open Events for your desired Email along with a SendID and Subscriber Key for each event. You can see which subscriber opened that email. There is additional lookups you may need to do into your SendLog data extension to find exact send batches, etc -- this is where the SendID and BatchID come into play.

  • Thank you so much. I'll give this a shot! – Conor Jun 13 at 16:43
  • 1
    This has me on the direction I need to go. Thanks for the help. It's very much appreciated. – Conor Jun 13 at 17:06
  • 2
    you could also create a DE via SQL queries targeting the dataviews - run this at a schedule via automation and then retrieve the required rows in the DE via a SOAP/REST call. – Gortonington Jun 14 at 12:50
  • That's exactly what a colleague has suggested. Unfortunately, it seems we're using a trial version right now and don't have access to the SQL queries. I will keep this in mind though. Thank you! – Conor Jun 14 at 14:36

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.