Suppression lists: dealing responsibly with e-mail marketing

What is it?

A suppression list is a list of encrypted e-mail addresses that an advertiser has indicated should not be used for e-mail marketing. Most of these are consumers who have unsubscribed from the advertiser in regards to e-mail advertising. 

Do you promote via e-mail marketing? Then you need to take these suppression lists into consideration.

How does it work?

As a publisher, would you like to send campaigns via e-mail, for example in your newsletter? Then you need to ensure that e-mail addresses on the suppression lists of the advertiser(s) concerned are excluded from your e-mailing. You can do this via MyDaisycon, the publisher interface.

Suppression lists: safely and reliably anonymised

All e-mail addresses in our network are anonymous. This is necessary for the GDPR. We do this by a so-called 'MD5-hash'. A certain e-mail address always yields the same hash, but the other way around, you can never retrieve the e-mail address from a hash. This way you can compare a hash from the source file (the advertiser's suppression list) with a newly created hash from the target file, which is your e-mail file.

This comparison makes it possible to check whether there are any e-mail addresses that should not be e-mailed. An MD5-hash is therefore one-way traffic, making it impossible to retrieve the original string. Safe and reliable.

Working method for you as a publisher

In this explanation, we assume that your e-mailing has been prepared and that you have received permission to send it from the advertiser(s). You have done this via an e-mail request in the menu: Tools | E-mail approval tool. After approval you should check the suppression lists:

1) In MyDaisycon go to the menu: Tools | Suppression lists. Check whether there is a suppression list of the advertiser(s) you want to use e-mail marketing for (menu: Tools | Suppression lists). In some cases, like in Scandinavia, there is a collection of different advertisers in one list.

2) Is there a suppression list of your chosen advertiser(s)? Then download this list(s), you will see the output as 'MD5-hash'.

3) Create an MD5-hash from your own e-mail file that you plan to e-mail. Later in this step-by-step plan we will explain how you can do this.

4) Put the MD5-hash of your own file next to that of the corresponding suppression list and deduplicate the corresponding addresses. Do this for every advertiser that is e-mailed.

Please note: every time you want to mail for the same advertiser(s) you will need to retrieve the suppression list again, because on the advertiser's side there will be updates in the e-mail addresses on the list.

With the approval of your e-mailing and the control of the suppression lists, you are now completely ready to send!

How do I create MD5-hashes from my own e-mail file?

There are several methods for turning e-mail addresses into MD5 hashes. On the internet there are several websites where you can enter e-mail addresses and 'hashen'. However, for data security reasons, we recommend using a script on your own device. We explain two ways in which you can do this.

Note: make sure that the e-mail addresses never contain capital letters! The use of capital letters results in a different, unique hash. 

Example 1) Reading out CSV files and creating a new one with MD5-hash 

From MyDaisycon you can download the advertiser's suppression list as CSV. After this you can check whether the hashes match and, if necessary, deduplicate them. Eventually you will create one new file, to which you can then send an e-mail.

Below you will find a demo PHP instruction:

$skipHeader = false; // Skip the first line with the column names
 (true = yes, false = no);
$source = 'example.csv'; // The path of your source file
$column = 0; // The column containing your email address starts from 0
$destination = 'example-md5.csv'; // The path of the new file
$delimiter = ';'; // Separator
$enclosure = '"'; // Inclusion character of each field
$newLine = "\r\n"; // Character for new line, windows = \r\n, linux = \n
$readHandle = fopen($source, 'r'); // Open the source file
$writeHandle = fopen($destination, 'w'); // Open the new file
if (true === $skipHeader)
   fgetcsv($readHandle, $delimiter, $enclosure);
// Add column names in the new file
fputcsv($writeHandle, ['email', 'hash'], $delimiter, $enclosure);
// Read the csv file line by line and add it to the new file
while (false !== ($row = fgetcsv($readHandle, $delimiter, $enclosure)))
   $email = $row[0] ?? '';
   $hash = md5($email);
   fputcsv($writeHandle, [$email, $hash], $delimiter, $enclosure);
// Close both files

 Example 2) With Microsoft Excel or Google Sheets

It is also possible to work with Excel or Google Sheets. We offer the following example script:

function MD5 (input) {
  var rawHash = Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, input);
  var txtHash = '';
  for (i = 0; i < rawHash.length; i++) {
    var hashVal = rawHash[i];
    if (hashVal < 0) {
      hashVal += 256;
    if (hashVal.toString(16).length == 1) {
      txtHash += '0';
    txtHash += hashVal.toString(16);
  return txtHash;

 Insert this script into your script editor as follows:

  • MS Excel: click in Excel on the tab 'developers' and go to Visual Basic.
  • Google Sheets: go to 'extra' | 'script editor' or visit:

Then save it, authorize it (if necessary) and use the function MD5 () in your spreadsheet. It refers to a cell, such as: =MD5(A1). Again, remember to not use uppercase letters!


You now have an MD5-hash that you can compare with the advertiser's file. If necessary, you can double the addresses to prevent them from receiving unwanted e-mail. Remember to ask for approval before sending the e-mailing.


Please note that the above scripts are only example scripts. Daisycon assumes no responsibility for the use of the above scripts.


Would you like to read through the rules for e-mail marketing? Then take a look at our FAQ on e-mail marketing. Do you have a question that is not answered? Please contact us by sending us a ticket.