All About Suppression
Updated this week

Suppression is the term we use for any scenario where you want to prevent from identifying and collecting contacts.

The main reasons you would do this are:

  1. To avoid paying for contacts you already have. You likely have an existing database of customer emails, many of whom visit your site repeatedly. Since you already have those email addresses, there is no reason for us to identify or deliver those to you.

  2. To prevent collection of contacts on your website where they are voluntarily giving you an email address. If you collect newsletter signups, have an e-commerce site, or use any other type of conversion event involving an email address, you don't need us to identify or deliver that email address to you.

To solve for both of these scenarios, we have multiple ways to suppress contacts in

Example Scenario:

If user,, is already on your list and visits your website, will not collect that email address and include it in your acquired contacts or charge you for it.

1. Suppress existing contacts via integration

When you set up an integration in, there is a separate section specifically for Suppression.

Integration suppression section

Not all integrations offer contact suppression, so you would need to manually suppress those contacts or set up suppression via API. Click here for more information.

Once this section has been set up, saved, and the integration itself is Enabled, will automatically run a suppression of your full list from the system you've integrated with.

Enabled integration in GetEmails

The integration must be enabled for suppression to run!

As long as the integration is Enabled, the suppression feature will run once per day to check for any newly added contacts in your email app. If any are found, we will update your suppression list in**

Go to the Suppression Lists tab to ensure the number of unique records being suppressed matches the number in your ESP.

** automatically suppresses any contact we collect for you so that we do not deliver duplicates.

Click here for a list of step-by-step tutorials for specific integrations like Klaviyo, Infusionsoft, Active Campaign, and more.

2. Upload a Suppression List

This option lets you manually load a CSV file of email addresses in case you have additional lists or databases of email addresses that you do not want to identify or collect.

Example Scenario
You might use this option if you go to a trade show and collect signups that do not end up in your email app.

Suppression lists uploaded are converted into encoded MD5s for security reasons. We do not use, share, or resell this data for any purpose other than to prevent our customers from collecting and paying for contacts they already have.


Navigate to your dashboard and click on Suppression Lists from the left-hand navigation menu.

Here are the file requirements for upload:

  • PLAIN TEXT EMAILS: Your file should only contain ONE column, labeled "email" of plain text emails OR

  • MD5 HASHES: Your file should contain ONE column, labeled "MD5" of properly formatted MD5 hashes. You must also click the checkbox for "File contains MD5 encoded emails" to load a file of MD5s

  • You'll also need to save it as an Excel .CSV file.

  • The maximum file size is 500MB. If your file is larger than this, please split it up into several smaller files.

Once the file has uploaded, it will be sent to a queue to be processed. When complete, you'll see the stored file listed under the corresponding date.

*Please ensure the number of unique records being suppressed matches the number in your ESP.

3. The suppression script

This option is used to prevent collection of contacts on your website where they are voluntarily giving you an email address. It does this in real-time.

The Suppression Script can be added to your website on any pages where you do NOT want to collect email addresses. Generally speaking, you would put this script on landing pages where the person has already converted, and therefore you have already collected their email address.

Examples of pages you'd want to add the suppression script to are:

  • Post-checkout pages*

  • Post sign-up "Thank you" pages

  • Confirmation pages

The Suppression Script can be found in your dashboard under Code Snippet > View Script. Check the box next to Suppression, and then click Copy Code to save it to your clipboard:

Please note that if you use this script, make sure you do not place it on pages you want the Collection Snippet to work. If both scripts are on the same page, the Suppression snippet will override the Collection snippet.

*If you are using our Revenue Tracking script, you do not need to include the Suppression script—our revenue tracking script will automatically invoke it.

4. Set suppression rules

You can also set rules to automatically trigger a suppression event on your site, which will prevent the collection of contacts from that page(s). The base script still needs to be loaded on any page you want to suppress.

You will need to manually add the suppression script for sign-up or login forms.


  1. Navigate to your dashboard. Locate and click on the Code Script tab, then click the edit icon next to Suppression Rules.

2. Set up the Suppression Rules:


We automatically prevent the collection of contacts that come to your site from email campaigns. We do this because you will have existing contacts who own more than one email address, and will not want to add them to a new email marketing flow if they are already in your system.

These contacts are identified by checking the referring URL that brought them to your site; if that URL contains UTM parameters with the word "email" in them, we will ignore/suppress those contacts. To disable that function, toggle to No.


To trigger the suppression script on specific URLs where the base script is already present, add the full or portion of the URL in the first text box. Example: /blog. Any URL that contains that text will trigger the suppression event.


You can also set the suppression script to trigger on URLs with specific parameters. For example, you can use this to exclude traffic sources like Facebook, or other UTM identifiers. Any URL parameter with this text will trigger the suppression event.

3. When you've set your Suppression Rules, click Save Changes. You will then see the Suppression Rules you've set up.

5. How to suppress button clicks

If you have buttons and/or pop-ups on your site where visitors can submit their email addresses, you will need to add the suppression script to fire on the "on-click" event.

The exact structure and script will vary depending on the platform you're using for your button/pop-up.

Here's an example of what an on-click event event looks like based on an ID:

<script> document.getElementById("SpecialButtonHere").addEventListener('submit',function (){  
geq.suppress(); // this is the call to our suppression script
}); </script>

You can also set up the on-click event to fire based on the ClassName:

var classname = document.getElementsByClassName("FormName");
for (var i = 0; i < classname.length; i++) { classname[i].addEventListener("submit", function () { geq.suppress(); // this is the call to our suppression script

This is an example using Klaviyo forms (further Klayvio pop-up suppression docs can be found here) :

  window.addEventListener("klaviyoForms", function (e) {
    if (e.detail.type == "submit") {

After integrating the suppression script into your on-click event, use our verification tool ( Dashboard > Code Script > Test Script) to confirm its presence. It will indicate that the script is correctly installed but not yet activated, ensuring proper setup before activation.

6. How can I confirm my suppression script is working?

In the graph in the Trends tab, you can look for real-time suppression script events to confirm it's firing. The red line represents your number of suppressed contacts. If you hover your cursor over a specific day, it will show the exact number of suppressed contacts.

Once you've installed your suppression script, it may take anywhere from minutes to days to see these events show up, depending on your overall website traffic.

Did this answer your question?