Skip to main content
28 votes
Accepted

Trying to automate contact deletion with SSJS

Updated March 2020 to accomodate for v2 authorisation and tenant specific endpoints. Please see the example of how I use this for bulk deletion. You should use the REST API, using the ...
Lukas Lunow's user avatar
  • 22.2k
7 votes

GDPR: What happens to deleted contacts re-entered through imports

You would need to remove their address/contactkey from your system as well to stay GDPR compliant. The Marketing Cloud will allow the contact key back into the system after it has been fully deleted. ...
jzehner's user avatar
  • 101
5 votes

Data Privacy in Workbench

You can audit the source code of Workbench in its GitHub repository. Workbench isn't an official product of Salesforce: Workbench is NOT a supported product of or supported by salesforce.com, inc ...
David Reed's user avatar
  • 93.7k
5 votes

Consent Management in Marketing Cloud - Difference between hasOptedOutTracking and DoNotTrack

Consent Management across channels is left to be handled on your own. You have to piece together your Optout process in order to meet your requirements (Preference centers, relational Data model,SQL ...
Bechir's user avatar
  • 526
5 votes
Accepted

How to query contacts with no cases, opportunities etc

Rather than negating a suite of clauses and joining them with OR, negate each individually and join with AND. You will get the added benefit that your query is much more selective. List<Contact>...
Adrian Larson's user avatar
  • 151k
5 votes
Accepted

GDPR - Obfuscating User details

In the summer '18 release a new method has been added to the UserManagement class that specifically deals with anonymising user information: obfuscateUser obfuscateUser(userId, username) ...
Kasper's user avatar
  • 2,927
4 votes
Accepted

Personally identifiable information (PII) safeguard through GDPR

Salesforce has different security mechanisms that safeguard data privacy that includes using Shield , Platform Encryption (Security for Data at REST), Event monitoring to track which APIs are used , ...
Mohith Shrivastava's user avatar
4 votes
Accepted

AccountHistory not deleting immediately after an update

History records are not created until the end of the transaction. If you want to make sure those records are available for deletion, use a @future method, instead.
sfdcfox's user avatar
  • 502k
3 votes

Salesforce Inbox Application under GDPR Compliance

I'm no legal genius and don't take this as legally accurate, but under GDPR there is a provision for 'legitimate interest' and also that location information doesn't necessarily mean it's personal ...
Francis's user avatar
  • 848
3 votes
Accepted

How do you populate data on the new Individual Object?

1) Create a new flow. The logic of a flow: a new Individual record created/edited and associated with the Contact/Lead record that started the process. You will need one process/flow per object (Lead/...
vsevolodts's user avatar
3 votes

How to query contacts with no cases, opportunities etc

You mentioned that you are using a batch job. Thats quite useful. Assuming your Batch is based on your contact Object. In the execute method, you will get a List<Contact> scope, Now run 3 ...
Pranay Jaiswal's user avatar
3 votes

How to query contacts with no cases, opportunities etc

Probably group your ids in a set before running the query. Set<Id> contactIds = new Set<Id>(); contactIds.addAll([SELECT ContactId FROM Case]); contactIds.addAll([SELECT ...
battery.cord's user avatar
  • 8,873
2 votes

enable "Data Protection and Privacy" when creating scratch org

The Data Protection and Privacy preference can be automatically enabled via the scratch org definition file (e.g. project-scratch-def.json) using the settings.orgPreferenceSettings....
TheLandolorien's user avatar
2 votes

enable "Data Protection and Privacy" when creating scratch org

You can set this inside the org preferences. OrgPreference.settings-meta.xml <?xml version="1.0" encoding="UTF-8"?> <OrgPreferenceSettings xmlns="http://soap.sforce.com/2006/04/metadata">...
Florian Hoehn's user avatar
2 votes
Accepted

Configure double opt-in

Correct, by default this isn't enabled for Marketing Cloud lists. Simply create Admin Assist type of a support ticket requesting "List Double Opt-In" feature activation.
Rain's user avatar
  • 5,794
1 vote

Salesforce SDK is sending events even with the analytics disabled

The event you've identified is not an 'analytic'. It is an identity update which means something related to the contact/device was updated. It could be the contact key, an attribute, the application ...
Bill Mote's user avatar
  • 5,361
1 vote

An email of transnational nature, but sent all at once

This is exactly the kind of scenario where you can utilize the standard Send Classification for Transactional Sends (for emails). As long as the content of the Email corresponds to the requirements ...
Rain's user avatar
  • 5,794
1 vote
Accepted

An email of transnational nature, but sent all at once

Regarding Emails sends, you just need to create a new Send Classification and select Transactional as CAN-SPAM Classification. See image below. Make sure you don't check the "Honor source and ...
Rachid Mamai's user avatar
  • 4,741
1 vote

Verify if a customer already opted out to be deleted

If the user re-engages with your business thereby creating a Lead, you are not obligated to ignore it. With GDPR you have to remove their info when requested but that's a point in time removal. Any ...
Amber Neill Boaz's user avatar
1 vote

Checking for multiple values with CONTAINS

No. Simply put, that syntax isn't valid. The OR operator can't work that way, just as we can't write: YEAR(CreatedDate) = 2009 || 2010 It simply does not work that. You could use || instead of OR, ...
sfdcfox's user avatar
  • 502k
1 vote
Accepted

Salesforce Inbox Application under GDPR Compliance

As per the Salesforce Spring '18 Release Notes - Prevent users from getting read receipts for email messages they send. Read receipts include information such as when the recipient opens the message ...
Kamal Thakur's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible