How Lettr Counts Recipients
A campaign goes through three filters before an email leaves. Each one removes contacts for a different reason.Recipients are resolved when the campaign is prepared
subscribed who are not paused are included, and if the campaign targets a topic, only contacts subscribed to that topic. The resulting number is the campaign’s Recipients total.Consent is re-checked for every batch
subscribed, not paused, and (for topic campaigns) still in the topic. Anyone who opted out, paused, or left the topic since the list was built is dropped from that batch.The delivery infrastructure applies its suppression list
subscribed. See Suppressed Addresses below.Cause 1: Contact Status
Onlysubscribed contacts receive campaigns. This applies even when you choose All contacts, a list or a segment.
subscribed contacts is usually most of the gap.
Cause 2: Paused Contacts
A recipient can pause marketing email for 30, 60 or 90 days from the preferences page. A paused contact stayssubscribed, so they look eligible in the status filter, but campaigns skip them until the pause ends.
How to check: in Audiences, use the Paused filter. Paused contacts also carry a violet Paused badge with the end date, and exports and the API include a paused_until value.
Cause 3: Topic Opt-Outs
If the campaign targets a topic, only contacts subscribed to that topic are included. A contact who unticked the topic on the preferences page stayssubscribed overall but no longer receives campaigns for that topic.
How to check: open the Topics page and compare the topic’s Subscribers figure with the list you expected. See Topics for how subscriptions are managed.
Cause 4: Changes While the Campaign Is Sending
Recipients are fixed when the campaign is prepared, but their consent is not. On a large send, hours can pass between the first and last batch. A contact who unsubscribes, pauses or leaves the topic in that window is left out of the next batch. Lettr marks these recipients asskipped. A skipped recipient was deliberately not emailed, and it is final: it stays skipped even if the pause ends later or the contact resubscribes. Once all batches finish, any recipient who was never sent to because of the consent re-check is closed out as skipped.
total_recipients and sent_count.
total_recipients with sent_count for the campaign in question.
Suppressed Addresses
Suppression is a different mechanism from contact status, and the two don’t always agree.- Contact status is a field in your Lettr audience. It is what the campaign recipient filter reads.
- The suppression list is the delivery infrastructure’s list of addresses it will not send to: hard bounces, spam complaints and unsubscribes recorded on that side. See Suppression Lists.
subscribed in your audience. Lettr’s campaign recipient filter does not read the suppression list, so such a contact is counted as a recipient and passed on for delivery, where SparkPost does not deliver to the suppressed address. The contact does not receive the email.
The reverse also holds. Unsubscribing a contact in Lettr’s audience updates only their contact record. It does not add the address to the suppression list.
bounced or complained, which removes them at step 1. The mismatch shows up for older contacts, imported lists, or addresses that were suppressed through other sending (for example, transactional email to the same address).Diagnosing Your Campaign
Read the numbers
sent_count) is cause 4, a failed batch, or suppression.Break the audience down by status
unsubscribed, bounced, complained, unverified and paused contacts. For a topic campaign, also compare topic subscribers with list members.Check the live estimate next time
Look up specific missing contacts
Common Questions
The estimate was higher than the final Recipients total
The estimate was higher than the final Recipients total
Can I send to the skipped contacts afterwards?
Can I send to the skipped contacts afterwards?
Can I exclude a list from a campaign?
Can I exclude a list from a campaign?
Why did my campaign fail immediately?
Why did my campaign fail immediately?
Sent equals Recipients, but deliveries are lower
Sent equals Recipients, but deliveries are lower