I would to know what ways are available to find all instances of a person's data and delete it in Marketing Cloud (ExactTarget). I have a list of People that we need to delete out of Marketing Cloud. We have an ID for them and their email. I need to delete them from All Subscibers, Data Extensions, their tracking data and any related rows in Data Views. I know the is no find all rows search in the UI or delete based on criteria so I assume we have to use the API.

Can I delete from all these locations via the API and if so which one?

Can anyone that has already done this give any tips?


  • Deleting the subscriber would not necessarily prevent that subscriber from being sent an email in the future. I would recommend changing the subscriber status to unsubscribe. – David Devoy Jan 18 '17 at 22:23
  • Good question, do we have a suggestion on where to find documentation or code examples? I have a similar question, but on a smaller scale. I would like to create a simple filter via the api and would like to delete the results. Seems like KerryT May need the same thing except she will need to do this for each of her extensions, in the correct order. – FritzV Feb 7 '17 at 15:31
  • It seems like you would be right, you can, but how? I found the following example developer.salesforce.com/docs/… Using FuelSDK; ET_Client myclient = new ET_Client(); ET_DataExtensionRow dataextensionrow = new ET_DataExtensionRow(); dataextensionrow.AuthStub = myclient; dataextensionrow.DataExtensionCustomerKey = "ExampleDEName"; dataextensionrow.ColumnValues.Add("NameOfKeyField", "151515151"); DeleteReturn response = dataextensionrow.Delete(); Console.WriteLine("Delete Status: " + response.Status.ToString()); It do – Fritz Feb 13 '17 at 22:13

There is an own functionality for this. Import all those records (subscriber-keys) to a particular dataextension. Let Salesforce support enable Contact Delete process for you (no costs).

When it is enable click inside the contact builder and you will find a contact delete button on the top right, where you can select a data extension for all records you want to delete.

Be aware that you have to set the contact delete configuration (how many days they will be kept under suppress status inside contact configuration).

When you delete the contact you will delete the contacts on every dataextension and in dataviews.


You can delete rows from Data Extensions in an automated fashion (in particular sendable ones) and from All Subscribers (through UI or API), although coding something that loops through all the Data Extensions and then formulates a Delete request on the DataExtensionObject would not be trivial and would execute pretty slowly (depending on the number of data extensions you're looping through). You cannot delete tracking data or from system views.


Looks like you can only update or delete one row at a time. If I have a DataExtension that has a primary Key of salesorderID and a foreign key of customerID. standard CRUD operation would suggest that I should be able to: Delete from Salesorder where customerID=1, in order to delete one or more rows. But no, apparently we can only delete one row at a time, thus we must create a filter, read all the rows loop through the list and send individual request for each row based on only the primarykey: Delete from Salesorder where SalesorderID=1

Delete from Salesorder where SalesorderID=2

Delete from Salesorder where SalesorderID=3

Delete from Salesorder where SalesorderID=4

Delete from Salesorder where SalesorderID=5

someone tell me I am wrong, please?

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.