This article will cover the following:
What Is a Suppression List?
A suppression list is a collection of email addresses, phone numbers, or IP addresses that must not receive your marketing messages or be counted as valid conversions. When a lead or conversion comes in, CAKE checks it against your suppression list before accepting it. If there's a match, the entry is flagged or rejected automatically.
Suppression is not the same as blocklisting a publisher. It applies to end-user data (email, phone, IP) coming in through campaigns — not to traffic sources themselves.
Types of Suppression
- Email Suppression — rejects email addresses that have opted out. Critical for CAN-SPAM, CASL, and GDPR compliance.
- Phone Suppression — blocks specific phone numbers. Essential for TCPA compliance — numbers on the Do Not Call registry or your internal DNC list should live here.
- IP Suppression — blocks conversions from specific IP addresses. Used to filter out known fraud sources, internal test traffic, or legally prohibited regions.
IP suppression alone is not a complete fraud-prevention strategy. Use it alongside CAKE's traffic quality and fraud-detection settings for full coverage.
How to Add Suppression Entries
Adding a Single Entry
- Navigate to Compliance → Suppression Lists.
- Choose the suppression type — Email, Phone, or IP — from the tab along the top.
- Click Add Entry and type or paste the value.
- Optionally add a note explaining why this entry was suppressed (e.g., "TCPA opt-out 2024-06-01").
- Click Save. The entry is active immediately.
Uploading in Bulk
- Prepare a plain .txt or .csv file with one value per line and no header row.
- Go to Compliance → Suppression Lists and select the correct type tab.
- Click Import and select your file. CAKE shows a preview before importing.
- Confirm the import. CAKE processes the file and adds all valid entries. Any rows it cannot parse are listed in an error summary.
Remove duplicates from your file before uploading — CAKE will skip values already on the list, but a clean file speeds up processing.
Checking Whether a Value Is Suppressed
- Go to Compliance → Suppression Lists and choose the relevant type tab.
- Use the Search field at the top of the list.
- Type the value you want to check. CAKE returns a match (suppressed) or no result (not suppressed).
- If a match is found, you can view the date it was added and any attached note.
Scrub Rates
A scrub rate is the percentage of conversions or leads that are rejected or reversed. Suppression matches contribute directly to your scrub rate — every lead that hits a suppressed value is scrubbed from your accepted conversion count.
| Scrub Rate | What It May Indicate | Suggested Action |
|---|---|---|
| 0–2% | Normal range for a healthy campaign. | No action needed; monitor regularly. |
| 3–10% | Moderate overlap; list may be growing. | Review traffic sources and affiliate targeting. |
| 11–25% | High overlap; possible list re-use by affiliates. | Audit affiliate practices; consider stricter vetting. |
| Over 25% | Serious compliance or fraud concern. | Pause campaign; investigate traffic source immediately. |
Scrub rates can be a source of disputes. Maintain a clear written policy explaining your suppression criteria and share it with affiliates before campaigns launch.
Legal Context
| Regulation | Applies To | Key Requirement |
|---|---|---|
| CAN-SPAM (US) | Email marketing | Honor opt-out requests within 10 business days. |
| CASL (Canada) | Email and SMS marketing | Obtain express or implied consent before sending commercial messages. |
| TCPA (US) | Phone and SMS marketing | Written consent required for auto-dialed or pre-recorded calls to cell phones. |
| GDPR (EU) | All personal data | Right to erasure — suppression lists are one mechanism for honoring deletion requests. |
API: Suppression & Compliance Endpoints
List Suppression Lists
| Parameter | Type | Required | Description |
|---|---|---|---|
| suppression_list_id | integer | No | Filter by a specific suppression list ID. |
| offer_id | integer | No | Filter lists associated with a specific offer. |
| suppression_type_id | integer | No | Filter by type (e.g., 1=email, 2=phone). |
Sample request
GET https://yourplatform.cakemarketing.com/api/2/suppression_lists.json
?api_key=YOUR_API_KEY
&offer_id=12345Sample response
{
"request_status": "Success",
"suppression_lists": [
{"suppression_list_id": 7, "suppression_list_name": "Global Email Optouts", "entry_count": 8754}
]
}Add Suppression Entry
| Parameter | Type | Required | Description |
|---|---|---|---|
| suppression_list_id | integer | Yes | The ID of the suppression list to add the entry to. |
| entry_value | string | Yes | The value to suppress (email address, phone number, etc.). |
Sample request
POST https://yourplatform.cakemarketing.com/api/2/suppression_entry.json
{
"api_key": "YOUR_API_KEY",
"suppression_list_id": 3,
"entry_value": "5551234567"
}Sample response
{
"request_status": "Success",
"suppression_entry": {
"suppression_entry_id": 90421,
"suppression_list_id": 3,
"entry_value": "5551234567"
}
}Check Suppression Status
| Parameter | Type | Required | Description |
|---|---|---|---|
| offer_id | integer | Yes | The offer to check suppression against. |
| value | string | Yes | The value to look up. |
| suppression_type_id | integer | Yes | The suppression type corresponding to the value being checked. |
Sample request
GET https://yourplatform.cakemarketing.com/api/2/suppression_check.json
?api_key=YOUR_API_KEY
&offer_id=12345
&value=user%40example.com
&suppression_type_id=1Sample response
{
"request_status": "Success",
"suppression_check": {
"is_suppressed": true,
"suppression_list_id": 7,
"value": "user@example.com"
}
}If you have any questions, please reach out to your dedicated CAKE Client Success Manager/Account Manager or contact the CAKE Support Team at support@getCAKE.com.