Lists vs. Data Extensions in Marketing Cloud Email Studio

Welcome in Salesforce Marketing Cloud Worlds. Here i'm starting the Salesforce Marketing Cloud Technical Blog series for beginners, this may helps beginners and intermediate level learners to possess an honest knowledge of Salesforce Marketing Cloud .

Hey Guys, In this post I am going to share Lists vs. Data Extensions in Marketing Cloud Email Studio.

After reading this post you will be able to:

• Database Overview
• List
• Data Extension

Understand All Subscribers in Salesforce Marketing Cloud

The All Subscribers list is considered the master list of records for the account. Every subscriber in your account appears in the All Subscribers list. If a subscriber is unsubscribed in the All Subscribers list, the subscriber will be unsubscribed from all lists and groups. When a subscriber is set back to active on the All Subscribers list the subscriber will also need to be set back to active on each list and group they would like to be active on. A subscriber can be unsubscribed on lists and groups and be active on the All Subscribers lists.

Go to Email Studio > Subscribers > All Subscribers


Types of Data Storage in Salesforce Marketing Cloud

There are two different methods to store and segment subscriber data within Marketing Cloud: Lists and Data Extensions. Lists have limited functionality, whereas Data Extensions provide full flexibility to store and relate subscriber information. Both have their advantages and disadvantages.
Depending of our needs, we can use one or the other.

What are Lists?

List: A list is a compilation of subscribers that receive your communications.

• A list is made up of subscribers.
• All of your subscribers belong to the master All Subscribers list in your account.
• You create as many lists as you need to segment your subscribers so that you can target your email communications.


The list use the structure of the Profile Management, and all the lists that you create will have the same structure and you can use them to subscribe records and send an immediately email after that.

Types Of List

Master Unsubscribe List: The master unsubscribe list is a list that is specific to your account and applies to all of the lists in your account. A subscriber that is marked as unsubscribed in your All Subscribers list is on the master unsubscribe list.

Global Unsubscribe List: The global unsubscribe list is a list that applies to all of the lists in all accounts. A subscriber that exists on this list has requested not to receive any type of communication from any account.

Exclusion List: An exclusion list can be any list or group you create in the application that at the time of send you select to exclude from the send.

Example: List A contains 10,000 subscribers and List B contains 5,000 subscribers, but 3,000 of List B's subscribers also exist on List A. Jane performs a send to List A but later realizes she also wants to send the email to List B. She doesn't want to send the 3,000 subscribers that exist on both lists the email twice, so when she sends to List B, she selects List A as an exclusion list in the Email Send Wizard, excluding the 3,000 duplicates from the send. 

Fields of List

• List contains fields which are present in All Subscribers.
• If we add any value in List then at the same time we can also able to add in all subscribers.
• We can not write AMP script on List.

Use a List when

• Your lists are going to be 500,000 subscribers or less long-term.
• You prefer simplicity over performance.
• You're exclusively supporting messages using Western ASCII character sets.
• Your import speed is not critical.
• Your subscriber attributes will be limited in number.
• You're using the XML API.

How to create List

Step #1: Go to Email Studio > Subscribers > Lists


Step #2: Click on Create


Step #3: Define Name & Location

Name : Enter Name of List
External Key : External key will automatically populate
Name & Description : Add Email if you are planning to send for these related customers


Step #4: Select Welcome Email

If needs to send the welcome email for new customers then checked this checkbox


-> Select created email from list > Click on Save


What are Data Extensions?

Data Extension is a table within the application database that contains your data. You could use a data extension to store sendable subscriber data like Lists or just to house relational data.

The data you keep in a data extension relates to a subscribers but does not fit in the subscriber profile and preference attributes.


The DE as be a table, you can create the structure that you need with required fields, uniques, defaults,etc. Also you can create sendable and tested DE. The data extension can be link in the attributes groups in the Contact Builder, very usefull when you work with Journeys that needs to read extra information.

Types of Data Extension

Standard Data Extension: A standard data extension allows you to create custom fields to store data. This Data Extension Contains Master copy of Data.

Filtered Data Extension: A filtered data extension is generated by filtering fields, measures, and filters for sendable data extensions from a source data extension. This Data Contains set of filtered customers which are useful for specific email communication.

Random Data Extension: Random data extension allows you to randomly select subscribers from a source data extension .This Data Extension Populate Random customer data from master Data extension.

Use a Data Extension when

• Your lists are going to be greater than 500,000 subscribers
• You're supporting multiple subscriber data sets (with separate definitions)
• You're sending global messages 
• Your import speed is critical
• You're using triggered sends
• You're using the SOAP API
• You prefer a flexible subscription model

Is Sendable and Is Testable

Is Sendable: If we are going to use created Data Extension as a target Data Extension for Guided Send (Mass Send) then created Data Extension should be Is Sendable.

Is Testable: If we are going to use created Data Extension as a target Data Extension for Guided Send as well as Test Send then created Data Extension should be Is Sendable and Is Testable.


Data Retention Policy of Data Extension

The data extension retention policy deletes unused data extensions after 6 months. The deletion process runs nightly. You must set these options when creating the data extension, and you cannot modify these settings for an existing data extension.


Data Types

• Text
• Number
• Boolean
• Date
• Email Address
• Phone
• Decimal
• Locale

Send Relationship

• Send Relationship target to Subscriber Key or Subscriber Id.
• If we use any field relates to Subscriber Key or Subscriber Id then it will populate in All subscribers as a Subscriber key or ID.
• Best Practice to make Subscriber key or Subscriber ID Non-Email address field.
• If Same Subscriber key or Subscriber Id already present in All Subscriber but in Data extension and all subscribers contains different email address then it will trigger email for All Subscribers stored email address.

How to Create Data Extension

Step #1: Go to Email Studio > Subscribers > Data Extension > Click on Data Extension

Here is how to create a Data Extension using Email Studio. Once you’re inside Email Studio, you can navigate to ‘ Subscribers’ > Data Extensions in the drop down.


Step #2: Click on Create

Find the ‘Create’ button on the top right.


Step #3: Select Type Based on Requirement

I will just go for the ‘Standard Data Extension’ for this post, but there is also the option to create a filtered data extension.


Step #4: Under Create New Data Extension > Properties

Now I’m on the ‘Create Data Extension’.

Creation Method : Select Creation method
I can choose to create a new data extension, a data extension from a template, or from an existing data extension. I’ll simply call it ‘LearnFrenzy Subscribers’.

External Key: I can also choose to give it an external key. This can be useful if you’re using the API, but usually you don’t have to worry about it (it will be auto-filled).

-> Select option based on requirement

• Is Sendable?
• Is Testable?

Is Sendable? Is Testable?: Two very important options! If you ever want to use email addresses in this data extension and send an email to it, you’ll definitely want to make sure it’s sendable.

Campaign Association (optional): you can also link it to a campaign, to be honest, I have not used this feature too much myself, so I will skip that.

Name & Description: Associate email with for new customers


Step #5: Under Create New Data Extension > Properties > Data Retention Policy

Next, we can choose a Data Retention Policy. This allows you to wipe records in this data extension, or even wipe the data extension itself after a given time. This may be for compliance reasons, maybe because you simply want to keep a tidy database.

-> Change retention policy


Step #6:  Fields

Now we get to the most important section, which is where we define the fields for our data extension. A data extension is essentially a table, so think of these fields pretty much as the columns that we’ll have later on.

-> Create Fields
-> Select Relationship
-> Click on Create

For this example, I have created a 'LearnFrenzy Subscribers' under data extension. we’re talking about subscribers, so let’s start with the email field. Notice that now I can define the data type – let me quickly cover the options:

Data Extensions>LearnFrenzy Subscribers

• Text: a text string, which can also contain numbers.
• Number: can only be a numerical character.
• Date: date fields in Marketing Cloud are quite special, because it’s actually date time (see side note)
• Boolean: true or false.
• EmailAddress
• Phone
• Decimal
• Locale


Note on date fields in Marketing Cloud: because date fields are actually date/time, you can also have the hour and the minutes included. Dates are saved in a specific time zones, which is something that you will want to consider, especially if you’re a global organization and not all based in the set time zone in Marketing Cloud.


Primary key: you can see that there’s the checkbox called primary key. A primary key ensures that the values that we’re going to provide for the email address are unique.

Nullable: if we have to provide a value or not. By checking this for ‘first name’, Marketing Cloud will accept a null value (or no value) for the first name, which could be empty in cases where we don’t know that about our subscribers.

Default value: I set a default value for ‘Gender’ radio button field, making it ‘true’.


At the bottom, you will also see ‘Send Relationship’. This defines which fields you’re going to relate to your subscribers based on the subscriber key (eg. the email field). ‘Subscribers’ (highlighted in the image below) is essentially the master list of all your contacts inside of Email Studio.

We already mentioned earlier, that in this table, email address will always be unique because it has primary key flag. In addition, we’re also going to say that this is actually the unique identifier linked to the subscriber key for our master table of all contacts, which is a very key notion in Salesforce Marketing Cloud.


After creating the data extension, it will return us to the overview screen. Let’s have a quick look to see if it looks like we expected. On the left-hand side, you can see that an external key has been automatically populated. You can also see that it’s used for sending, the subscriber relationship, and lastly, on the right-hand side, we can see the different fields that we added, including their settings.



Which to choose?

A List is recommended if you want a simple list of names and email addresses or want to use welcome messages or double opt-ins. A Data Extension is recommended if you want to store additional information about your subscribers and is required if you want to use Publication Lists to manage unsubscribes.

Here are additional differences to consider.

Use List Use Data Extension

• Your lists contain 500,000 subscribers or less long term.

• Your lists are going to be greater than 500,000 subscribers .

• You prefer simplicity over performance.

• You support multiple subscriber data sets, with separate definitions.

• You do not require fast import speed.

• You require fast import speeds.

• You plan to use a limited number of subscriber attributes.

• You implement triggered sends or Journey Builder.

• You're using the XML API.

• You use the SOAP or REST APIs.


• You send global message.


• You prefer a flexible subscription model.

Share This Post:

About The Author

Saurabh Samir -I am a Salesforce Developer. where I helps beginners and intermediate level learners to possess knowledge of Salesforce Marketing Cloud . I created this blog to share knowledge about AMPscript, SQL, Server-Side JavaScript, Marketing Cloud APIs and other technical aspects of working with Salesforce Marketing Cloud. Do comment below if you have any questions or feedback's.