Domain and email account rotation
LeadsParrot uses the email accounts you select for a campaign as its sender pool. Rotation decides which eligible sender handles a lead's first successful campaign email. After that success, the sender becomes sticky for that lead.
Rotation is planned distribution across infrastructure you already connected. It does not automatically buy, replace, or conceal domains. LeadsParrot reports observed sending and delivery events; it does not claim to measure inbox placement or a hidden provider reputation score.
What rotation means in LeadsParrot
- Email-account rotation distributes first sends among eligible email accounts in the campaign sender pool.
- Domain rotation first distributes work among sending domains, then among the eligible email accounts on each chosen domain.
- A sender pool is the campaign's selected email accounts, including accounts selected directly and accounts included by matching Categories or Tags.
- An eligible sender is selected, accessible to the campaign workspace, connected and ready, not paused or archived, allowed by its warm-up state, and below its effective limits.
- Effective capacity is the amount an account can actually send after its configured daily limit, warm-up phase limit, current reservations, shared usage, pauses, and other readiness restrictions are applied.
- A sticky sender is the durable sender identity recorded for a lead after that sender's first successful campaign email.
How a sender is selected
For a lead without a successful campaign email, LeadsParrot checks the pool at reservation time and ranks eligible senders using the campaign's strategy. Stable identifiers provide deterministic tie-breaking when candidates are otherwise equal.
The selection is always constrained by operational readiness. A selected account may be skipped when it:
- has reached its email-account or effective warm-up limit;
- is paused, archived, disconnected, or needs reconnection;
- belongs to a paused domain or a domain that is not ready;
- is not owned by or assigned to the campaign workspace;
- has capacity already used or reserved by another workspace or campaign; or
- is affected by a campaign-local high-bounce response.
After the first successful email, later sequence steps reuse the durable sender assignment. LeadsParrot does not silently switch a lead to another sender.
The three distribution strategies
| Strategy | Distribution behavior | Best fit | Tradeoff |
|---|---|---|---|
| Balance domains | Divides new first-send assignments among eligible domains, then balances accounts within each domain. | Keeping domain volume broadly even. | A domain with one account may receive similar domain volume to one with several accounts, if capacity allows. |
| Weight domains by capacity | Gives each domain a share based on the combined effective capacity of its eligible accounts, then balances within the domain. | Pools with meaningfully unequal domain capacity. | Domain volume is intentionally unequal. Capacity can change as usage and warm-up state change. |
| Balance email accounts | Balances eligible accounts directly. Domains with more eligible accounts naturally receive more work. | Keeping individual account usage broadly even. | Domains with more accounts receive more total volume. |
Worked 100-email example
Assume Domain A has three equally capable accounts and Domain B has one. There are 100 new first sends and enough capacity everywhere.
- Balance domains: about 50 sends go through Domain A and 50 through Domain B. Domain A's three accounts share its 50.
- Weight domains by capacity: allocation follows summed effective capacity. If every account has equal capacity, Domain A has 75% of total capacity and receives about 75 sends; Domain B receives about 25.
- Balance email accounts: about 25 sends go to each account, so Domain A receives about 75 and Domain B about 25.
These are explanatory targets, not promises. Real results also reflect eligibility, effective capacity, campaign limits, concurrent reservations, and leads that already have sticky assignments.
How limits interact
The campaign daily limit caps the campaign as a whole. Each email account also has a daily limit, which may be reduced by a post-warm-up phase. Shared accounts have one real limit: workspaces and campaigns using the same account compete for it.
LeadsParrot reserves capacity before dispatch so concurrent work cannot spend the same slot twice. A reservation that becomes a successful send counts as usage. Unused eligible capacity may flow to other active work.
Example: A campaign requests 100 emails. Its three selected accounts have 25-email limits, but one has already sent 15 elsewhere. Their remaining capacity is 25 + 25 + 10 = 60. The campaign can send at most 60 through those accounts that day; the remaining due work waits. Changing the rotation strategy cannot override that limit.
Sticky sender behavior
Suppose a lead's first email succeeds from [email protected]. Follow-ups continue from that same address, preserving conversation continuity.
| Sender condition | What happens to that lead |
|---|---|
| Temporary account or domain pause | The due sequence work waits. |
| Reconnection required | The work waits until the connection is ready. |
| Warm-up restriction or reduced effective limit | The work waits for eligible capacity. |
| Domain reduced by 50% for this campaign | The sender remains assigned; excess due work waits behind the reduced domain allocation. |
| Domain paused for this campaign | Leads assigned to the domain are held for this campaign. |
| Account removed from the pool or workspace access lost | The durable assignment remains visible; work waits for recovery or manual reassignment. |
| Account deleted or archived | The saved email, sender name, domain, ownership, and history remain identifiable; work waits for manual reassignment. |
LeadsParrot never silently reassigns these leads. Use Reassign leads when continuing from another sender is the right operational choice.
High-bounce monitoring
A hard bounce is a safely correlated permanent delivery failure. LeadsParrot counts it only when a delivery-status report says Action: failed, supplies a 5.x enhanced status, and contains the original message identifier of a LeadsParrot outbound email.
Temporary 4.x delays, ordinary replies, sender-name guesses, and notices that cannot be correlated are ignored. LeadsParrot stores only sanitized status, diagnostic, provider identifier, and timestamps, not the raw report.
Protection uses fixed safe defaults at the domain level across all campaigns and email accounts:
- rolling window: seven days;
- minimum sample: 100 accepted outbound emails;
- incident trigger: hard-bounce rate of 5% or more;
- rate recovery: below 2% with a qualifying sample; or
- time recovery: seven days without another hard bounce.
The 5% boundary aligns with established sender-reputation guidance, including Amazon SES guidance to keep bounce rates below 5%. Delivery reports follow the structure defined by RFC 3464.
Threshold examples
| Observation | Result |
|---|---|
| 4 hard bounces from 100 sends | 4%; no incident. |
| 5 hard bounces from 100 sends | 5%; incident opens. |
| 5 hard bounces from 80 sends | Sample is below 100; no incident yet. |
| A temporary 4.x delay | Not counted as a hard bounce. |
| A failure notice without a matching original message identifier | Not counted. |
A high-bounce incident means LeadsParrot observed permanent delivery failures from the domain. It does not prove that DNS, authentication, content, recipient data, or domain reputation is the cause.
Campaign response choices
Configure High-bounce response independently on each campaign.
Notify only
LeadsParrot marks the domain and notifies eligible users. Sending and sticky assignments remain unchanged.
Example: Domain A reaches 5/100. Campaign One uses Notify only, so it continues within normal eligibility and limits while the issue remains visible.
Reduce by 50%
LeadsParrot throttles the affected domain to 50% of its normally calculated allocation for that campaign. It does not halve every account setting. Excess due leads wait, and sender identity does not change.
Example: Domain A would normally receive 40 of a campaign's daily allocation. While its incident is active, that campaign allows about 20 through Domain A, subject to lower real capacity and sticky work.
Pause for this campaign
Leads assigned to the affected domain are held for this campaign until automatic recovery, a manual override, or explicit reassignment. Other domains in the same campaign can continue when eligible.
This is not a global domain pause. Another campaign using the same domain applies its own configured choice. All accessible campaigns and workspaces using the domain are identified for notifications and audit context.
Incident markers, notifications, and recovery
An active incident shows High bounce issue in Domains & Deliverability, domain details, and campaign sender tables.
High-priority in-app notifications go to eligible account owners, administrators, and users with Email & Domain Setup access, with access-aware deduplication. Email is mandatory when LeadsParrot automatically applies Reduce by 50% or Pause for this campaign. Notify-only, manual-override, and recovery emails follow each recipient's Deliverability notification preference.
When the rate recovers below 2% with at least 100 qualifying sends, or seven days pass without another hard bounce, the incident closes automatically. Normal campaign allocation returns, incident-held leads are released, and sticky senders remain unchanged.
Activity Log retains the detection metrics, impacted campaigns and workspaces, automatic response, notification outcome, and recovery even after the marker disappears.
Giving a domain another chance
On an active bounce incident, open the domain detail page and select Give domain another chance.
- Review the incident counts and affected work.
- Acknowledge that sending may resume and that you accept responsibility for the decision.
- Enter a short required reason describing what you reviewed or changed.
- Confirm the action.
LeadsParrot closes the bounce incident, restores normal campaign allocations, releases incident-held leads, and starts a fresh seven-day baseline. The acknowledgment, reason, performer, time, affected campaigns, and notification outcome remain in Activity Log.
This action applies only to bounce protection. It cannot bypass missing DNS records, authentication failures, a disconnected account, warm-up eligibility, workspace access, an explicit email-account pause, or the global domain pause.
Inactive senders and manual reassignment
The campaign Email accounts tab keeps selected and temporarily unavailable senders in the current table. Inactive senders contains durable records for senders that are deleted, archived, disconnected, access-lost, or removed from the pool after at least one successful campaign send.
Each inactive row shows its saved identity, inactive reason, successful sent count, assigned non-terminal leads, and last successful send. It remains visible because removing history would make past attribution and waiting leads ambiguous.
To reassign future work:
- Select Reassign leads on an applicable current or inactive sender.
- Choose a specific eligible active sender, or automatic redistribution using the campaign strategy.
- Preview the exact number of affected non-terminal leads and future sequence work.
- Confirm the matching preview. If the impact changed, review a fresh preview.
- LeadsParrot holds only affected leads and queues a background process.
- Follow active progress in the process tray. The single Activity Log row is updated through queued, running, completed, or failed states.
On success, only future sequence work uses the replacement sender. Previously sent emails retain their original sender and message attribution. On failure, the reassignment hold is released, the failure remains in Activity Log, and you can resolve the reported target or readiness problem before trying again.
Troubleshooting and FAQ
Why are domains not receiving equal volume?
Confirm that Balance domains is selected. Even then, unequal eligibility, capacity, sticky assignments, shared use, campaign limits, and a 50% incident reduction can produce unequal totals.
Why is a lead waiting?
Its sticky sender may be paused, disconnected, warm-up restricted, out of capacity, removed, or affected by a campaign-local domain pause or reduction. A lead being reassigned is also held while its background job is active.
Why did a reduced domain send fewer emails than expected?
Fifty percent is applied to the domain's normally calculated campaign allocation. Lower email-account capacity, prior usage, reservations, sticky work, and the campaign limit still apply.
Why does an inactive sender remain visible?
It previously sent successfully in the campaign. LeadsParrot preserves its identity for audit history and any non-terminal leads still assigned to it.
Why did the domain recover automatically?
It met a fixed recovery condition: below 2% with a qualifying sample, or seven days without another hard bounce. Normal allocations return automatically.
Why is Give domain another chance unavailable?
There must be an active high-bounce incident, and you need write access to Email & Domain Setup. DNS or connection warnings alone do not create this action.
Why is a reassignment target unavailable?
The target must be another active, eligible sender in the campaign. Archived, paused, disconnected, access-lost, warm-up-ineligible, removed, and incident-paused senders cannot be selected.
What is the difference between campaign-local and global domain pause?
Pause for this campaign holds only work in the campaign that chose that response. The pause control in Domains & Deliverability is global: it pauses linked email accounts and prevents them from sending in every campaign until the domain is resumed.