Salesforce Segmentation
The challenges and how to overcome them
Targeted Messaging and, therefore, audience segmentation is one of the core pillars of marketing and sales initiatives. Most companies burn their lead and contact lists as they spam broad messages to all leads and contacts in the system. They become unreceptive to your messages and most likely won't read a second email from you. You already own a powerhouse like Salesforce as your CRM but then misuse it heavily when it comes to communication.
The good thing is, it's easy to change this. Start tailoring your messages to specific audiences interested in this particular topic. Salesforce already provides out-of-the-box capabilities to segment audiences, like list views and reports. But you may have already figured out that this is only sufficient for basic segmentation and that you run into limits quickly. That's most likely why you clicked the link to visit this page 😉
Common Workarounds and their Side-Effects
To solve these challenges, Salesforce admins and consultants get creative. Let me showcase the three most common workarounds I see in many Salesforce orgs. And let me tell you why you should be cautious with each of these approaches, as they come with huge downsides.
How does this approach work?
You often want to filter based on information spread across many different objects for proper segmentation. E.g., All decision-makers of Accounts that have closed won opps assigned with a particular opportunity product related to it. As the number of objects you can reach using Report Builder is limited, many admins create and export multiple reports. They then work in Excel using VLookups to build the intersections and filter them to generate the final list. This list is then imported back into Salesforce.
Which side-effects exist?
First of all, users that do this task need permission to export reports from Salesforce. Many companies are cautious with these permissions, as users should not export sensitive data. Second, you need to be good/advanced in Excel to build these intersections. As this is manual work, it's error-prone from the export to the Excel work to the import. You can mess things up quite fast so that you have to start over again (if you're lucky and realize that you made a mistake).
Additionally, the time factor is a big one. It takes a lot of time to do this process. And if you want updated data in a week or two, you need to start over again.
How does this approach work?
The IT department is your friend. Many marketers and end-users that feel limited by the segmentation capabilities of Salesforce raise tickets to get help from the internal IT/Helpdesk. They need to describe the segmentation criteria precisely to receive the requested audiences. The IT then uses the "Excel-Voodoo" approach to get the job done or translate the request into joined database queries. The developer then uses these in Apex scripts (programmatic backend language of Salesforce) to create the audience in Salesforce.
Which side-effects exist?
You are dependent on the availability of Salesforce developers with high coding skills. These developers have high hourly rates, and their time should be spent more efficiently instead of using it for this kind of task. Additionally, this approach is very inefficient. You have to wait until the job is done to proceed with your intended task. This blows up the whole process, whereas the user could've done it in a minute with the right tool. If the developer writes queries and code, this is throwaway code, as it has no other purpose than this one request.
How does this approach work?
This is, in my opinion, the worst approach I have seen. And if you feel caught, please reconsider your implementation. To easily access more nested information, like the previously purchased product, companies create plenty of fields on the Lead or Contact object that don't belong there from a database perspective. Process automation will then maintain these fields to consolidate every criterion on these records. This allows you to use standard reports to find the right audience for your use case.
Which side-effects exist?
As we add more and more fields, for example, on the Contact Record that will be maintained from other records as a kind of roll-up information, maintainability is becoming a huge topic. We add new fields for only one specific use case and often even for one-time usage. Additionally, it may hinder future implementations (#OrderOfExecution). Last but not least, it reduces your overall Salesforce Org Performance. Every action takes more and more time due to background automation.