I'm trying to exclude a data extension where the email addresses are encrypted from a send. Is this possible to do in Salesforce Marketing Cloud?
There is no native way to automatically do this. There are so many encryption types that it really wouldn't make sense to expect the system to instantly recognize and decrypt it.
Outside of decrypting the file prior to use (doesn't seem to be an option to you), you will likely need to look at having an exclusion script run prior to each send. This is of course assuming you have the key to decrypt/encrypt these.
You would need to either:
- Inside the Exclusion script, encrypt each email address and perform a Lookup to see if it matches on the exclusion Data Extension, or
- In the Exclusion script, run a for loop that decrypts each email address and then compares it to the email you are looking to send to.
Both of these options are really very inefficient and clunky. I would highly recommend just decrypting the email addresses into another data extension or list and using that to exclude.
For future needs, I would look into utilizing some other unique non-personal identifier to exclude on (SubscriberID, GUID, etc), removing the need for encryption at all.
Exclusion Script checkbox - Determines whether subscribers are excluded from the send based on script logic. If you select this checkbox, you must provide the exclusion AMPscript.
a. ROWCOUNT(LOOKUPROWS("Exclustion_DATA_EXTENSION_NAME","EMAIL_ADDR", EMAIL_ADDR))>0
b. _SubscriberKey == 16172 and _SubscriberKey == 15705
EncryptSymmetric(string, algorithm, passwordKey, password, saltKey, salt, initVectorKey, initVector)
Encrypts plain text data using the supplied algorithm and encryption values. You can supply either a value or a valid external key for the password, initialization vector, and Salt.
DecryptSymmetric(data, algorithm, passwordKey, password, saltKey, salt, initVectorKey, initVector)
Decrypts encrypted data using the supplied algorithm and encryption values. You can supply either a value or a valid external key for the password, initialization vector, and Salt.
If you are talking about SF Shields platform encryption, then it is painful using Script because they tell you there are limitations. One of them is field level encryption doesn't support Auto-suppression Lists and even segmentation. I would recommend to leave it non encrypted.