Master Data Extensions are Data Extensions that contain recurring filters. They can be seen as a combination of relevant source Data Extensions, coming from a CRM, a BI tool, an eCommerce, etc. In this way, Master Data Extensions work as intermediary Data Extensions where you can format the data more conveniently to your purposes, instead of having to look in several Data Extensions for every Target Definition.
Key benefits
Master Data Extensions help you solve two problems:
As the Query Activity limit is 30 minutes by default, splitting the queries that you need to do into multiple steps will give you more timespan to complete your segmentation (you'll have 30 minutes to generate the Master Data Extension and 30 minutes to generate your final Data Extension).
It will simplify daily segment generation. You will keep the complexity on the Master Data Extension generation, and then use them as a simplified view of your data model containing only the information you need.
Use cases
Imagine you have four Data Extensions (A, B, C, and D) that are all linked as shown in the following picture:
Maybe you are starting your segments from Data Extension A and need a field in Data Extension D, so you would need to do all the way from A to D to get that field. That means combining 4 Data Extensions and reviewing all the data in all of those Data Extensions, which can be a problem in terms of performance.
Instead, you may want to create a Master Data Extension that contains the data from Data Extensions A and D that you need, so you can later access this Data Extension and avoid the extra JOINs.
Another common scenario is to query a Data Extension to filter records that fulfill certain conditions. For example, get the contacts that placed more than 3 orders in the last month or get the contacts that opened more than a certain number of emails.
In this scenario, you are going to access the Orders Data Extension, or the _Open, and _Sent Data Views to perform a calculation and then get the records that you want. This can cause a performance issue since you need to access Data Extensions that are too heavy and not very handy.
Instead, the best approach is to create a Master Data Extension with the aggregations and then use it to filter whenever you need it:
For the previous examples:
Get the contacts who placed more than 3 orders in the last month.
Create a Master Data Extension containing the ID of the contact and number of orders in the last month. Whenever you need to filter out contacts based on the number of orders, you can use this Master Data Extension to avoid accessing the Orders Data Extension and filter them recurringly.
Get the contacts that opened more than a certain number of emails.
Create a Master Data Extension with ID of the contact, number of emails sent, number of opens, and other email engagement information so you can easily access this Master Data Extension in all the Use Cases related to transactional information
Manage Master Data Extensions
Once you have defined the Master Data Extensions, all you need to do is create a specific folder for them (so it's easier to find them) and adapt your selections to take them into account.
To make sure that you are always working with updated data, our recommendation is to use the Scheduling of Selections feature to automatically run and refresh your Master Data Extensions during the night, so you have the updated data when you need it.
Also, if you have some recurring selections that you already have scheduled, make sure that the Master Data Extensions are refreshed before then. You can do this by:
Make sure that the schedule of Master Data Extensions is at least 1 hour before the update of your recurring selections.
Creating a Waterfall Selection to update the Master Data Extensions in the first steps and then the recurring selections after.