Marketing Cloud Lists vs. Data Extensions – Quick Overview

By Lucy Mazalon

Lists vs. data extensions: what are the differences between them? When should you use a data extension, and when is a subscriber list enough?

I had to refresh my memory on some of the topics as I revamped our Marketing Cloud Email Specialist certification guide. Although it has been a while since I passed the certification, the memory of one tough topic has stayed with me: data extensions.

If you’re coming from a marketing automation tool where you have one single database, like Pardot or similar, then data extensions will feel like unchartered waters. In tools that have single databases, all the individual’s data is stored on their record or neatly packaged into related objects (eg. Prospect Accounts, Opportunities, Pardot Custom Objects, in the case with Pardot). Marketing Cloud Data Extensions seemed wild and untamed in comparison!

Marketing Cloud Data Extensions – In a Nutshell

Data extensions exist in Marketing Cloud to “satisfy the need for flexible data storage”. They are flexible, indeed, enabling you to essentially build a table within the app database that contains your data, exactly how you need to structure it.

When deciding if you should you data extensions or lists, it can be boiled down to a single question: does the data have a one-to-one relationship with the subscriber record, or a one-to-many relationship? For example

  • One-to-one: Subscriber ID → Last Name. Each subscriber has one Last Name value, known as profile attributes (you can use a list here),
  • One-to-many: Subscriber ID → Purchase ID. Each subscriber could have one or many purchases (you need to use a data extension here).

When to Use Marketing Cloud Data Extensions

There are two main use cases that immediately signal you need to use a data extension over a list:

1. Varying values over time

A subscriber can have a varying number values over time, for example, their number of transactions last month is not likely to be consistent, so it’s difficult to predict month to month.
On the other hand, an attribute like ‘Last Name’ fits as a profile attribute because a subscriber will have one, consistent last name.

2. Data is related via 3rd data point

The data point you need to use is not directly related to the subscriber. It’s related to the subscriber via another data point, a 3rd data point in between that acts as a bridge. The best example that you’ll find in the Marketing Cloud resource docs is pulling in the name for a subscriber’s ‘preferred airport’; the airport code is stored on the subscriber, which can be used to lookup to the data extension that lists airport codes and their names. By using the airport code as the golden link, you can pull in the name of the airport.


When to Use Marketing Lists

To learn about Marketing Cloud Lists, read our guide here.

Marketing Cloud Lists vs. Data Extensions

For the Marketing Cloud Email Specialist exam, you need to compare data extensions and lists and know when to use each. Here are the facts in one table. The rows in the first table are absolutely essential for you to learn! (a second table goes into more detail afterwards).

Use a list when… Use a data extension when...
No. SubscribersWill contain less than 500,000 subscribersWill contain more than 500,000 subscribers (think long term!)
Import speedDon’t require fast import speed Require fast import speed
Subscriber attributesUse a limited no. subscriber attributesUse multiple subscriber data sets (with separate definitions)
Sending- Email sending only.

- Emails without transactional data (ie. simple segmentation and personalization based on attributes stored on the Subscriber record)
- Send global messages

- Implement triggered sends
Personal preference Prefer simplicityPrefer flexible subscription model (obviously you don’t have a choice when faced with certain requirements!)

There is another comparison table that you should learn. What you see below is a distilled version of this table published by Salesforce that used to revise for the exam; if you are starting out, I recommend you refer to the original table that goes into more depth.

ListData Extension
Creating*In app
1. Name it
2. Determine if public/not public (ie display in subscription centre)
1. Name it

2. Create fields

3. Chose sendable/not sendable
Quick import
(Import wizard)
Single record addYesNo manual add feature, but can be done via API calls
Import activity YesYes
Update options- Add & update

- Update only

- Add only
- Overwrite

- Add & update

- Update only

- Add only
List detective scrubAt time of import At time of send
Publication list n/aUse to manage subscriber-level opt-ins/outs
Web collectSupported
Not supported
Profile/preference attributesCan create via UI
(For Enterprise accounts: can share attributes amongst all BUs, values stored are global)

Data types:
Text, numeric, date, boolean
Data extension fields n/aSubscriber data fields stored at the data extension level - ie. making them just like list-level attributes

Data types:
Text, numeric, date, boolean, email, phone, decimal, locale
Export dataYesYes
Quick export
Automated exportNo Yes


The Author

Lucy Mazalon

Lucy is the Operations Director at Salesforce Ben. She is a 10x certified Marketing Champion and founder of The DRIP.

Leave a Reply