0

Was asked this question recently and suspect the answer is no because the data retention policy can only be applied to data extensions and not lists.

Would be helpful to confirm this.

Thanks

1 Answer 1

3

As per the sfmc documentation there is no option to set a retention policy on the All Subscribers list.

However, there are ways to purge the subscribers within the account.

Manual option: Write a sql query to create a target list that needs to be purged. Then export the DE to FTP as a txt, csv file where the file will be re-imported into a new list. Then manually delete the list which has the target subscribers.

Note: A support ticket needs to be raised to enable the tick option where it enables to delete the subscribers from All Subscribers when a list is deleted.

Within Automation: As the SQL gets the desired subscribers in a DE, write a script activity within the automation to invoke the ampscript which can delete the subscribers from All Subscribers list.

Step 1: Script sample:

<script runat="server">
Platform.Load("core","1");
var dataRows = Platform.Function.LookupRows('All_Subscribers_Purged','Deleted','True');
   if(dataRows && dataRows.length > 0) 
{ var deleteSubscribers = HTTP.Get('http://{{miscrosite page}}'); }
</script>

Step 2: Microsite containing the API Ampscript

%%[
    SET @Data = LookUpOrderedRows("All_Subscribers_Purged",DataExtensionRowCount('All_Subscribers_Purged'),'SubscriberKey ASC',"Deleted","True")
        IF RowCount(@Data) > 0 Then
            For @i = 1 To RowCount(@Data) Do
                SET @SubscriberKey = Field(Row(@Data,@i),'SubscriberKey')
                SET @EmailAddress  = Field(Row(@Data,@i),'EmailAddress')

                    IF Not Empty(@SubscriberKey) And Not Empty(@EmailAddress) Then
                        SET @Subscriber = CreateObject("Subscriber")
                            SetObjectProperty( @Subscriber, "SubscriberKey",@SubscriberKey)
                            SetObjectProperty( @Subscriber, "EmailAddress", @EmailAddress)
                        SET @Status = InvokeDelete( @Subscriber, @createErrDesc, @createErrNo, @createOpts)
                    EndIF

            Next @i
        EndIF   
    ]%%

Note: Automation Flow - SQL > Script Activity

1

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .