1

We have setup Send Log Data Extension for a Business Unit without specifying any Data Retention Policy. Now we would like to specify the Data Retention Policy (All Individual records for 7 days) for the Send Log Data Extension. How can we do it? Is this something which Support can set up in the Backend?

4

You can also use Contact Builder for this task. Accessing the Data Extension through that application and selecting Manage Policies allows you to customize all of the Data Retention settings. It can be a little bit glitchy when saving, so make sure you confirm the settings after making any changes.

| improve this answer | |
  • Thanks Anon. I was able to test this in my Test Org and it saved data retention for Individual Records. – Unais Komath Dec 21 '17 at 17:06
  • Although above option works, SFMC support doesn't recommend us to use this option. Also, this doesn't support row-based data retention yet. In the UI it shows as if its setup, however, rows won't get deleted. this is a bug and SFMC development team will fix this in a future release. – Unais Komath Jan 2 '18 at 3:08
3

You can alter the DE retention settings with the SFMC SOAP API. Here's a sample SOAP envelope of the call:

<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
   <s:Header>
      <a:Action s:mustUnderstand="1">Update</a:Action>
      <a:MessageID>urn:uuid:1fe964f7-a122-4b1a-a416-16098fd7102b</a:MessageID>
      <a:ReplyTo>
         <a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address>
      </a:ReplyTo>
      <a:To s:mustUnderstand="1">https://webservice.s7.exacttarget.com/Service.asmx</a:To>
      <o:Security xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" s:mustUnderstand="1">
         <u:Timestamp u:Id="_0">
            <u:Created>2017-12-21T14:36:31.119Z</u:Created>
            <u:Expires>2017-12-21T14:41:31.119Z</u:Expires>
         </u:Timestamp>
         <o:UsernameToken u:Id="uuid-1f92d508-707e-4dff-a594-341bafb7a741-1">
            <o:Username>
               <!-- Removed-->
            </o:Username>
            <o:Password>
               <!-- Removed-->
            </o:Password>
         </o:UsernameToken>
      </o:Security>
   </s:Header>
   <s:Body xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <UpdateRequest xmlns="http://exacttarget.com/wsdl/partnerAPI">
         <Options>
            <Client>
               <ClientID>9999999</ClientID>
            </Client>
            <SaveOptions>
               <SaveOption>
                  <PropertyName>*</PropertyName>
                  <SaveAction>UpdateAdd</SaveAction>
               </SaveOption>
            </SaveOptions>
         </Options>
         <Objects xsi:type="DataExtension">
            <Client>
               <ClientID>9999999</ClientID>
            </Client>
            <PartnerKey xsi:nil="true" />
            <ObjectID xsi:nil="true" />
            <CustomerKey>People</CustomerKey>
            <DataRetentionPeriodLength>2</DataRetentionPeriodLength>
            <RowBasedRetention>false</RowBasedRetention>
            <DeleteAtEndOfRetentionPeriod>true</DeleteAtEndOfRetentionPeriod>
            <DataRetentionPeriod>Years</DataRetentionPeriod>
         </Objects>
      </UpdateRequest>
   </s:Body>
</s:Envelope>

Your Send Log DE will need to have less than around 30 million rows for this to work. If it has more than that, the API call usually times out.

| improve this answer | |
  • Thanks, Adam. As per below documentation (developer.salesforce.com/docs/… ) Row Based data retention is not supported yet. I was looking to setup Data Retention for individual records. does it still work? Also, we are dealing with more than 100 million records :( – Unais Komath Dec 21 '17 at 17:03
  • I feel your pain. I built a system to prune data extension rows for this very reason -- adding retention. A simplified version of the prune script is here: Prune rows in a Data Extension – Adam Spriggs Dec 21 '17 at 20:43
  • 1
    As per SFMC support, API calls are causing the Data Extension to be corrupted while changing Retention Policy due to a bug. The issue has been investigated and found to be a product bug in which if Retention date is modified through API call, DE gets into a state where it cannot be cleared. So at this moment, we cant use API calls to update Data Retention. – Unais Komath Jan 2 '18 at 15:34

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.