3

I have about 25,000 contacts who are not in Email, SMS or any known channel. I need to completely remove them from the system, but you can't query for them since they are not in a channel. I'm trying to use the API to retrieve them and I found this call which will retrieve contacts by Channel

Endpoint: /contacts/v1/addresses/search/Channel

Body:

{
"attributeName":"Channel",
"filterConditionOperator":"Is",
"filterConditionValue":"EMAIL"
}

If I remove EMAIL it will return everybody. That would work except that the call only brings back 50 contacts at a time, and I do not see a way of controlling which 50, otherwise I could write a loop to grab 50 at a time until I have them all.

Here is the documentation page for this which is only slightly helpful: https://developer.salesforce.com/docs/api-explorer/sfmc/contacts/post-contacts-v1-addresses-search-attributename

I'm hoping there is more "off the books" knowledge on this as there are for some other Marketing Cloud items.

UPDATE: I actually did find a way to loop through all contacts. By setting the parameters page and pageSize and loop through, I was able to retrieve 500 contacts. Unfortunately, the returned data still does not have anything that allows me to differentiate who is in a channel and who is not.

/contacts/v1/addresses/search/Channel?$page=1&$pageSize=50
/contacts/v1/addresses/search/Channel?$page=2&$pageSize=50

etc, etc.

1

This article describes how to get this information without API in a way that makes the data available in a data extension for further processing:

Permanently remove Contacts or Subscribers and associated data from Contact Builder

The results will be based on the All Contacts list and as such it will contain every billable contact in your MC account. As an article linked there states Contacts, Leads, and Users added via Synchronized Data Sources, including Person Accounts belong to that list, so take care and filter out all subscriber keys starting with 003, 00Q and 005.

  • But what if we don't have Mobile Connect? – garek007 Nov 15 '19 at 16:08
  • Then this method is impossible to execute. You mentioned SMS in your description, so that could give the impression you had Mobile Connect. Do you have it or do you just prefer to do it with API calls? – Rafał Wolsztyniak Nov 15 '19 at 16:40
  • Sorry I mentioned SMS, but in this case I don't have it available. Ultimately, I'm just trying to get contacts that are not in ANY channel, but we only have Email Studio. – garek007 Nov 15 '19 at 22:44
1

There's no way to query all contacts at the moment. You need to raise a support ticket to get an extract in a data extension. I described the reason and the way to proceed here.

With this base data extension you can use further queries to isolate the contacts that you want to delete.

  • Thanks Stephen. I do seem to have found a way to get more than 50 contacts at a time with a loop and I've updated my question to include that update. As I mentioned before, support would not help because we don't have Premiere support. – garek007 Nov 15 '19 at 23:16

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.