Drag-and-drop Segmentation for Salesforce Marketing Cloud [In-Depth Review]

By Mohamed Bentriou

DESelect is a Marketing Cloud app that saves your team the time they needlessly spend on data management by making advanced segmentation a piece of cake.

It’s a known fact that Marketing Cloud requires some level of technical knowledge to manage the full campaign lifecycle; segmentation, personalization, and reporting all require you to write SQL queries inside of Marketing Cloud to manage your data extensions.

That’s why Marketing Cloud Consultants and Developers are in such high demand to develop and also share best practices, such as creating your target data extension, utilizing the different functions available, managing your data extensions with complex SQL queries, and more.

The process of writing, testing, and debugging SQL queries remains time consuming, and not particularly user-friendly in Marketing Cloud.

What can you do when these skill sets are missing in your team? Either you invest heavily in training non-technical users, pay for an outsourced consultancy service to support each time a segmentation need crops up (which can become expensive), or look to an application that has been developed to solve this common skill gap.

DESelect revolutionises the way users manage SQL queries – but there’s much more to this solution than what meets the eye!

This in-depth review will dive into DESelect’s features, ideal use cases, setup effort, and the potential impact that adding this app to your Marketing Cloud account could bring.


DESelect is an app that sits within your Salesforce Marketing Cloud instance. Access it via the navigation bar under the AppExchange section:


One of the greatest advantages of the app is its simple and easy to use interface.

When you access the app you get into an overview screen where you can create a ‘selection’ which refers to a segment of contacts:

The folder structure (on the left) enables you to organize your Audiences by target persona, customer lifecycle, campaign name, or however you prefer.

Previously created segments (on the right) show details such as the number of records the segment contains, its status, and a copy action (which I found useful to not start a new audience from scratch).

In Marketing Cloud, data is stored in a list or data extension. Lists come with limitations, however data extensions provide the ability to store, and link, sending and/or relational data.

Data extensions are created in Contact Builder or Email Studio. The more data you include, the more time you will spend managing your data extension!

Source: Trailhead

Each step the DESelect app guides you through will help to save you valuable time in data preparation:

Select criteria and apply filters

Example: you need to create a segment of contacts who are Directors from accounts with 50+ employees.

From the “Available Data Extensions” section, you can quickly drag and drop the ones you need on to the right. While there are no limitations on the number of data extensions you can select, always keep in mind that large data sets/complex queries can cause time outs.

From the “Available Fields” section, (same again) drag and drop the fields that you will use to extract correct data from your selected data extensions. You will see above that I’ve specified ‘Directors’ at companies with 50+ employees.

Prepare your target data table

Once you set criteria and filters, the next screen invites you to name the new data extension that will contain your selection (ie. the target data extension).

This shows fields from the data extension you previously selected for you to map with the fields on the target data extension. This mapping can be done manually (drag and drop), or automatically by clicking on “Automap” (a big time saver!)

Warning icons will appear if the selection results in an error or when fields with different types are mapped – which means you can correct them and save yourself headaches down the line.

Preview and run your data selection

The “Run/Preview” button allows you to see your segment in a temporary data extension, then the “Run” button populates the target data extension with the results of your selection. This two-step process means you can always cancel/adjust the segment before it’s created as a data extension.

Filters (with no code!)

We’ve mentioned how easy DESelect is to use because of its drag and drop functionality. The premade filter operators are what I want to focus on next.

Whether you want to add separated comma text values, or filter a number based on a specific range, operators are here to facilitate your filtering, depending on the field type you are referencing. Here are some examples:

‘In’ operator: list a series of values from one field.

‘Between’ operator: include a range for number or decimal field type in a Data Extension.

Date filters: filter on a specific calendar date

Or choose a relative date to the moment you execute this query:

Data views are supported in the DESelect app, which is useful for when you need to retrieve Subscriber information and event tracking, like email sends, clicks etc. (up to 6 months worth).

Join Data Extensions

Let’s say you want to get data from a data extension that has common values with another. Depending on the number of the data extensions to need to join, your SQL query can be time consuming to write, test and debug.

DESelect’s “Create Relationship” screen helps you to identify the audience included in your data relationship – empowering your non-technical users to process large amounts of data with a visual reference. There are 6 types of joins that can be hard to conceptualise without the diagrams DESelect provides:

When creating a relationship between two data extensions, DESelect displays the common id fields to find with/without matching values:

Then, the app automatically generates the most optimal query activity to meet your needs.

This is accessible from the “Activity” section of Automation Studio:

Above: Salesforce Marketing Cloud’s Automation Studio, SQL query screen

The power of subqueries to find matching values

Remember the “Select criteria” and “Apply filters” section from before?

You can apply subqueries here. Also known as nested queries, these return data that will be used in the main query as a condition to further restrict the data you will retrieve. They’re defined as a query within another query, embedded within the ‘where’ clause:

Above: a basic subquery syntax example.

From the app, you can select a data extension and its unique identifier to find matching values with a field in another data extension. In the example below, the ‘account id’ from the account data extension is the unique identifier to match with the customer id from the ‘order’ data extension:

Field Formatting and Formula Management

When you need to format fields for personalizing content, AMPscript functions are used to parse, convert, concatenate, and match values.

AMPscript can be intimidating for non-technical users because it’s a server side scripting language unique to Marketing Cloud. DESelect can support here, also.

Example: let’s say you need to display the email addresses in lower case from your Contact Data extension.

Option 1: use the ProperCase function


var @fullName, @fullNameProperCase

set @fullName = AttributeValue(“fullName”) /* value from attribute or DE column in send context / set @fullName = “BARB BROWN” / or a literal value */

set @fullNameProperCase = ProperCase(@fullName)

fullName: %%=v(@fullName)=%%

fullNameProperCase: %%=v(@fullNameProperCase)=%%


Option 2: use DESelect’s Built-in functionality

You can apply a formula to a given data extension field from one view, and check the syntax. This a huge time saver for your more technical users, particularly because it empowers non-technical team members to self-serve:


If you have ever used Date and Time fields in a data extension, you will know that there’s a difference between your configured account timezone, and the Marketing Cloud server’s timezone (which is CST, Central Standard Time). This can cause campaigns to be launched well before, or after, the time you intended. This pain point has been highlighted by many users; it has become popular on the IdeaExchange (with +250 votes!)

Source: IdeaExchange

Instead of waiting for this functionality in a future release, we can look to other options. Depending on the number of date fields you manage, you’ll probably have to add timestamps in your SQL queries.

The DESelect app actually allows users to add a timestamp, and in a user-friendly way, by converting the date/time field to a selected timezone. You can also select today, or a specific date/time, to format your chosen fields.

Basic and Advanced Prio-deduplication

When you create a selection with multiple data extensions and filters then your results may contain duplicates.

Let’s consider you want to target customers that made an order in the last 3 months. You want to contact them once and mention specific orders details in your emails. Within your selection, you retrieve data from “Customer” and “Order” data extensions with multiple filters.

Your results may contain multiple orders for a unique customer. This is where the headache begins and that’s the point of the DESelect app Prio-deduplication feature to reduce the data processing time.

When selecting your target data extension, the gear icon in the upper right corner allows you to access the feature.

First you will have to choose the field that needs to be unique (i.e: in our example refers to the email address to contact customers once).

You can deduplicate your results based on the ordering of a unique field (i.e : the amount of your order) by selecting the Basic prio deduplication mode.

Then you can set a logic by sorting All order with the Highest or Lowest amount or by listing specific values (e.g : add 300$ 500$ and 1000$).

Basic Prio Deduplication feature: Available for DESelect Advanced & Plus Editions

The main difference with the Advanced Deduplication mode, is the ability to define multiple rules to prioritize the value of your target data extension.

Advanced Prio deduplication feature: Available for DESelect Advanced edition

In our example, for customer with multiple orders, we can choose to prioritize results with the following rules:

  1. Orders with amount greater than 1000$
  2. Orders with created date greater than 12/01/2019 and 01/01/2020

The preview results screen will show first records that match the first rule and then if no matching values are found the app shows matching values for the second rule.

Both options would result in a target data extension that contains deduplicated orders with the “Basic” or “Advanced” criterias set.


Aggregations are another cool feature I wanted to talk about, a key feature that enables rollup summary calculations.

Note: this is available for Plus and Advanced editions.

A popular example (that I’ve come across often) is to show the number of times each customer opened an email in the last 30 days.

By querying the ‘Open’ system data view, in combination with a Customer data extension, you can show these subscribers.

What I love is when you select the data view you want to apply the function to, you can indicate how the ‘Open’ data view relates to the Customer data extension.

So, in our example, the subscriber key from the ‘Open’ data view matches with the ‘email’ field in the Customer Data extension. You can edit your filter (and choose a fixed or relative date, like I highlighted before).

The Aggregation feature can also be used for engagement scoring by giving each lead a score

Let’s go back to our example of calculating the number each time a customer opened an email or any kind of marketing activity (i.e landing page, sms, ad opening) you can then increase or decrease the value of your lead scoring field.

Depending on your organizational structure:

  • Other Marketing Cloud automation tools can utilize this score value, eg. Journey Builder
  • Your sales team can prioritize incoming engagement by contacting hot leads.

Use Cases

We have already covered multiple examples for how DESelect can be used on a day to day basis, to bring tons of value. In this section, I am going to talk about who would benefit from DESelect, and why.

I believe that no matter who is on your marketing team, executing your marketing strategy fast is always the winning formula because this directly impacts your campaign ROI.

So, how does DESelect provide the much needed ‘glue’ for your marketing strategy across your team?

For the non-technical marketer: you now have advanced segmentation at your fingertips! It will help you if you’re not confident with SQL, and you will be able to target increasingly specific audiences. New product, up-sell campaign? Or new behavior you want to hone in on? No problem.

The other options that exist are accessible only for those skilled in SQL, which you can expect to extend the time required to launch a marketing campaign because you’re dependent on your team members who have those skill sets. Finally, you can make progress on your campaigns, be totally autonomous, and tap into the full breadth of data stored in your data extensions.

For the technical marketer: with 75+ SQL functions (not to mention the other advanced features), the DESelect app enables you to perform calculations, and format fields effortlessly, while helping with automated/optimized query management, and reducing the risk of human errors.


  • Save time: the hours spent to write, test and debug SQL queries could take minutes (thanks to the drag-and-drop segmentation – trust me, I tried it!)
  • Team enablement: the interface guides users to select criteria from multiple data extensions, automap fields to your targeted data extension, and preview results – all from a single location.
  • Get more advanced with segmentation: open up your marketing team to more segmentation scenarios where a lack of SQL knowledge would have been a roadblock.
  • Security: the DESelect app sits directly in Marketing Cloud, and is verified by the Salesforce AppExchange security review. This means that your data remains stored in your SFMC account.

And, it will only keep getting better. The DESelect team is made up of experienced Marketing Cloud consultants who identify missing functionality from Marketing Cloud, and feedback from their customers, into their roadmap. The result? An innovative app, with new releases every month!


Once you have installed the package, the app is available to use in your Marketing Cloud instance within 30 minutes, in the majority of cases.

The setup is done via a one-click installation link. You can provide a temporary user with MC Administrator permissions to the DESelect team, and they can configure the app to the relevant Business Units.

These are the setup steps, in a nutshell:

  1. Install the DESelect package in your Marketing Cloud instance,
  2. Create and assign the appropriate permissions to your users,
  3. Grant access to the app by user or Business Unit.


The DESelect app is available in three editions, each at different starting prices (determined by the number of Business Units or user licences you require).

From performing complex queries with no code, to advanced features like records deduplication in ‘Advanced’ edition, each level contains something exceptional to enhance your productivity. Plus, every customer has access to training, and support from a dedicated Customer Success Manager!

See the DESelect website for the most up to date prices.

As I mentioned in the introduction, by enabling everyone on your team to run their own segmentation, the amount of budget you can save instead of paying technical marketing resources means DESelect pays for itself. Eliminate the risk of hidden costs that could crop up!


As we’ve seen, DESelect is an app that will certainly save your team the time they needlessly spend on data management by making advanced segmentation easy with a clear interface, and drag and drop functionality.

Not only will it allow you to massively cut the time required to prepare and launch campaigns, it will also end the silo between your technical and non-techinal team members, opening up segmentation to everyone!

Remember, 75+ SQL functions and other advanced features enables you to perform calculations and format fields effortlessly, while helping with automated/optimized query management. You don’t need to worry about security either because the DESelect app sits directly in Marketing Cloud, meaning that your data remains stored in your SFMC account.

With new feature releases each month, we can look forward to a lot more innovation coming from the DESelect team.

Want to find out more? Check out DESelect website.

The Author

Mohamed Bentriou

Marketing Automation Solution Consultant involved in multiple implementation projects around the world.

Leave a Reply