Guide
Campaign Retries and Delivery Review
Recover safe failures without resending successful recipients or hiding uncertain provider outcomes.
Retry the failed send, not the whole campaign
SoundSync automatically retries eligible failures that happened before provider acceptance, within a bounded retry policy. Retry failed sends handles the remaining safe failures without resending successful recipients.
If a connection fails after the provider may have accepted a message, its outcome needs review. An uncertain-send retry requires a separate confirmation because it can duplicate a message. Provider acceptance is not proof of inbox delivery.
SoundSync
Review before retrying
-
Open the campaign outcome
Inspect failed recipients and the retry summary. Successful sends stay excluded.
-
Retry safe failures
Use the safe scope for failures known to precede provider acceptance. Automatic retry limits still apply.
-
Investigate uncertainty
Review provider history when acceptance cannot be determined. A missing delivery event alone is not proof of rejection.
-
Confirm duplicate risk if necessary
Use the separate uncertain scope only after reviewing the possibility of sending twice.
Growth-flow review is separate
Check delivery saves the provider-outcome review. Ordinary Retry applies to eligible failed, unsent recipients. Retry unconfirmed is a separate action after a complete, sufficiently aged unconfirmed review, with explicit duplicate-risk acknowledgment; it is not a blind resend.
The flow must be active. Recorded acceptance, provider identifiers, sent/opened/clicked events, incomplete review or concurrent state changes block an unconfirmed retry. Requeueing does not bypass consent or suppression.
SoundSync
API contracts
SoundSync
Campaign action errors: recover without duplicate sends
| Operation / code | Next step |
|---|---|
| send-now: CAMPAIGN_SEND_STATE_INVALID, CAMPAIGN_STATE_CHANGED | Reload the campaign. Only send from a supported current state; do not repeat a completed send. |
| send-now: CAMPAIGN_SCHEDULED_NOT_DUE | Wait for the scheduled time or deliberately change the schedule through supported controls. |
| send-now: MARKETING_AUDIENCE_EMPTY | Review the eligible audience and exclusions. Do not override suppression or unsubscribe choices. |
| test, send-now, schedule, retry-failed: MARKETING_PROVIDER_DISABLED / MARKETING_PROVIDER_LOCKED / DEVELOPER_MARKETING_DISABLED | Resolve the named sending configuration or account readiness condition. These 409 responses do not authorize bypassing a gate. |
| MARKETING_FROM_EMAIL_REQUIRED / MARKETING_REPLY_TO_REQUIRED / MARKETING_BUSINESS_ADDRESS_REQUIRED / MARKETING_BRANDING_REQUIRED | Complete the verified sender, reply-to and required business identity/footer before trying again. |
| MARKETING_SUBJECT_REQUIRED / MARKETING_CONTENT_REQUIRED | Complete the message, preview it and then deliberately retry the intended action. |
| schedule: CAMPAIGN_NOT_SCHEDULABLE; INVALID_SCHEDULED_AT / INVALID_DELIVERY_TIMEZONE | Reload state for a 409 conflict. For a 400 input error, use a future date and a valid IANA timezone. |
| resume-send: CAMPAIGN_NOT_SENDING | Reload progress. Resume is for an existing sending campaign, not a resend command. |
| retry-failed: CAMPAIGN_RETRY_STATE_INVALID | Reload. Retry supports campaigns that started sending, not a new draft or analytics repair. |
| retry-failed: CAMPAIGN_RETRY_SCOPE_INVALID / CAMPAIGN_RETRY_CONFIRMATION_REQUIRED | Use safe or uncertain scope; uncertain requires confirmUncertain:true and accepts duplicate-delivery risk. Both input errors are 400. |
| cancel: CAMPAIGN_NOT_CANCELABLE / delete: CAMPAIGN_NOT_DELETABLE | Reload current state; an active send cannot be erased by deleting its campaign. |
| test: TEST_RECIPIENT_REQUIRED | Save the developer support recipient before testing. This 400 response does not allow arbitrary bulk recipients. |
SoundSync
Campaign access is operation-specific
| Operation | Required workspace access |
|---|---|
| Campaign reads and reports | marketing.view and access to the campaign products/audience. A selected-product teammate cannot use an unassigned or workspace-wide audience. |
| Campaign content, preview, test, schedule and send actions | marketing.view + marketing.manage, with campaign product/audience access. |
| GET retry-summary; POST retry-failed; PATCH campaign name; DELETE campaign | marketing.view + marketing.manage and all-products scope, including the GET retry summary. |
| Sender settings, contact import/consent/suppression writes and segment archival | marketing.view + marketing.manage and all-products scope. |
