You are here:
Email Studio List vs. Email Studio Data Extension
Learn about when to use a list versus a data extension in Email Studio.
What Is a List?
A list is a collection of subscribers that receive your communications. You can create as many lists as you want to segment your subscribers. By creating more targeted lists, you can send more personal and effective messages.
What Is a Data Extension?
A data extension is a table in the Marketing Cloud Engagement database that contains your data. You could use a data extension to store subscriber data (including lists) or to store relational data.
Best Practices
These guidelines can help you determine which data model to use. Use these criteria to help evaluate your current situation and decide which model best fits your situation.
Use lists when:
- Your lists contain 500,000 subscribers or fewer.
- You prefer simplicity over performance.
- You don’t require fast import speed.
- You plan to use a limited number of subscriber attributes.
Use data extensions when:
- Your lists contain more than 500,000 subscribers, or you plan to grow your lists beyond 500,000 subscribers in the future.
- You support multiple subscriber datasets, with separate definitions.
- You send global messages.
- You require fast import speeds.
- You use triggered sends.
- You use the SOAP or REST APIs.
- You prefer a flexible subscription model.
| Function | List | Data Extension |
|---|---|---|
| Creating the data model | To create a list, define a list name, determine if you want the list to be public, and determine whether to display it in the subscription center. | Creating a data extension takes more steps than creating a list. First, you give it a name, and then you create all the fields that you want to store data in. You can choose if you want the data extension to be sendable. You can change these settings at any time. |
| Adding single members | You can manually create one record at a time from within a list. | You can only manually add records to a data extension by using the API. |
| All subscribers | Subscribers are automatically added on import. | Subscribers are added when you send to a data extension. |
| Create and update options | Add and Update, Update only, Add only. | Overwrite, Add and Update, Update only, Add only. |
| List Detective scrub | Scrubbing begins when you import the list. | Scrubbing begins when you send a message to the data extension. |
| Publication list | Not applicable. | A publication list is used to manage subscriber-level opt-ins and opt-outs for data extension sends. The publication list acts like a list when sending to a data extension, keeping unsubscribes at the publication list or data extension level. You can import to a publication list to add unsubscribes only. If you use the All Subscribers list as the publication list, unsubscribes apply to the top-level subscribers list. |
| Import speed | Around 500,000 rows an hour. Enterprise 2.0 accounts typically import records faster. | Around one million rows in 10 minutes. |
| Web Collect | Supported. | Not supported. |
| Profile and Preference attributes | You create profile and preference attributes in the user interface. If you have an enterprise account, you can share attributes among all the business units. The values stored in these attributes are global. When you update an attribute in one account, it appears in all accounts. | Not applicable. |
| Profile and Preference attribute data types | Text, Numeric, Date, Boolean | Not applicable. |
| Data Extension fields | Not applicable. | Subscriber data field values are stored at the data extension level, making them list-level attributes |
| Data Extension field types | Not applicable. | Test, Numeric, Date, Boolean, Email, Phone, Decimal, Locale. |
| Requires a primary key | In Enterprise 2.0, primary keys are supported. Otherwise, the email address is used. | Configurable; can be zero, one, or many. |
| Use as secondary storage of relational data | No | Yes |
| Data retention | No | Yes |
| Sharing (Enterprise 2.0) | Lists can't be shared. | Data extensions can be shared between all accounts in the enterprise structure. |
| Quick data export | Yes | No |
| Automate data export | Not supported. | Supported. |
| Quickly search for a record | Yes | No |
| Segmenting based on a Data Filters result | Group created based on the list. | You can create a copy of a data extension. |
| Query on subscriber attribute or field values | For Enterprise 2.0 accounts, you can perform this query by joining the list and attribute tables. | Yes |
| Profile Center page | Supported. | Not supported. |
| Subscription Center page | Supported. | Not supported. |
| Insert personalization strings into content areas via the editor | Supported. When building content, use a dropdown to insert profile attribute personalization strings. | Supported. You have to manually type in personalization strings for now. |
| View as a Webpage | Supported | Supported, but if the subscriber record is removed from the data extension after the send occurs, the View as a Webpage won’t show subscriber data, as it pulls the data live at the time the page renders. |
| Simple Send, Guided Send, Test Send | Supported | Guided Send |
| Standard reporting | All standard reporting supports the use of lists. | Data extensions can’t use standard reports that were designed specifically for lists. |
| Tracking jobs | Tracking lists all the sends you execute from your account. | Jobs show the publication list that you used for the send. The data extension you used isn’t directly called out in tracking. |

