Check suppression at freeze, not at send
A suppression check that only runs at send time is a bandage on a list that was built wrong. The list is where the control belongs.

The short answer
- Suppression should be enforced when an audience is frozen, the moment the recipient list is fixed. A suppressed contact is then never written into the campaign at all.
- A send-time check is still necessary, because someone can unsubscribe in the days between the freeze and the send. It works as a backstop, not as the primary control.
- SalesCrew enforces suppression at audience freeze and re-checks it at send time. Unsubscribes, hard bounces and spam complaints are added to the suppression list automatically.
- The difference is what a failure costs. A freeze-time catch means no message existed. A send-time catch means a message was written, personalised, queued, and stopped at the last moment.
What 'freeze' means, and why the timing is the whole argument
Freezing an audience means fixing the recipient list for a campaign at a point in time. The list does not float as a live query that changes under you while the campaign runs. It is the difference between "send to everyone matching this segment", evaluated continuously, and "send to these 1,240 people, decided at 9am on Tuesday".
Once you have a frozen list, the question is where the suppression check sits. The tempting answer is at send. Right before each message goes out, look up the address in the suppression list and skip it on a match. That check does work, in the narrow sense that the message does not go out. It is still the wrong place for your only check.
By send time, a great deal has already happened to that contact. They are in the audience count you reported. A message was written for them, personalised with their name and company, and placed in a queue. If your cadence has several steps, they may be scheduled for all of them. Everything downstream, from sender pool allocation to per-domain daily caps, was planned around a list that includes someone who should never have been on it. Catching it at the end unwinds one send and leaves the rest of that planning quietly wrong.
Two checks, two different failures
The honest design is not one check or the other. It is both, doing different jobs. SalesCrew enforces suppression at audience freeze, so a suppressed contact never enters the campaign, and re-checks it at send time as one of the agent guardrails. Calling this belt and braces undersells it. The two checks catch different failures.
The freeze check catches the state of the world when the list is built. Everyone who has ever unsubscribed, hard bounced or complained is excluded before a single message is drafted. This check keeps your audience counts honest and your queue clean. It also scales, because it runs once per campaign rather than once per message.
The send check catches what changed after the freeze. A legitimate recipient on Tuesday morning can click unsubscribe on Tuesday afternoon, and a multi-step cadence may not reach its third step for another week. Without a send-time re-check, a frozen list is a frozen mistake. You keep mailing someone who opted out, from a list that was correct when built and wrong ever since. That is exactly where the freeze check alone is not enough.
What makes both checks worth trusting is that the suppression list does not depend on anyone maintaining it by hand. In SalesCrew, an unsubscribe, a hard bounce or a spam complaint adds the contact to suppression automatically. Under the default agent policy, suppressing on unsubscribe or bounce runs on auto without waiting for approval. It is a removal, not an outbound action. The risk of doing it instantly is far smaller than the risk of it sitting in a queue while the next cadence step fires.
How to check your own setup
Look at where your tooling evaluates suppression, and be specific about the moment. If the only answer is "at send", suppressed contacts sit in audiences, appear in counts, and get messages written for them that are thrown away. It works, right up until the send-time check has a bad deploy, a timeout, or a code path that skips it for one channel.
Then check what feeds the list. A suppression list that only grows when someone remembers to paste in an address is not a control. It is a habit. The three sources that must be automatic are unsubscribes, hard bounces and spam complaints, because those signals arrive at machine speed and in volume. If a bounce does not write to suppression on its own, you will re-send to a dead address on the next campaign. That damages your sending reputation for no upside.
Finally, be clear about what suppression does and does not cover. Suppression is a send-time and list-time mechanism. It does not decide whether you had a lawful basis to contact someone, whether your opt-out language is clear and conspicuous as CAN-SPAM requires, or whether the address is one you should have had. Cold outbound being allowed in a tool is not the same as it being compliant in your jurisdiction. The customer owns consent and the obligations under CAN-SPAM, GDPR and TCPA. The tool's job is to make the promises you made technically enforceable. SalesCrew enforces suppression and opt-out. DNC scrub at freeze and a consent gate on outbound calls are on the roadmap. This is not legal advice.
Questions
- If you check at send anyway, does the freeze check matter?
- Yes, because the two checks catch different failures. The freeze check keeps suppressed people out of the audience in the first place, so no message is ever written for them. The send check catches anyone who opted out during the days between the freeze and the send. Removing either one leaves a real gap.
- What should count as suppressed?
- At minimum: anyone who unsubscribed, anyone whose address hard bounced, and anyone who filed a spam complaint. SalesCrew adds all three to suppression automatically. The whole point of a suppression list is that it does not depend on someone remembering to update it.
- Does suppression handle compliance for me?
- No. Suppression is a mechanism, not a compliance programme. CAN-SPAM requires a working opt-out honoured within 10 business days. GDPR and TCPA impose their own obligations, depending on where your contacts are and how you reach them. The customer owns consent and the legal basis. A suppression list is one tool for keeping the promise. This is not legal advice.