Skip to content
SoundSyncAudio software platform

Guide

Create and Run an Email Campaign

Draft, preview, test, schedule, send, and reconcile recipient outcomes.

SoundSync

Prepare, test, and schedule

  1. Set the audience

    Choose current contacts or a saved dynamic segment; inspect consent, suppressions, product ownership, and date filters.

  2. Write the message

    Review subject, preview text, HTML/text content, links, and generated brand footer.

  3. Test delivery

    Use the saved developer support recipient and inspect sender/provider readiness. A test is not an arbitrary audience send.

  4. Choose the time

    Select send now or a schedule with its timezone. Check daylight-saving transitions; give a duplicated campaign a new intended date.

  5. Read the report

    Separate provider acceptance, delivery, bounce, open, click, and unsubscribe events.

SoundSync

Build a product cart link

  1. Open a campaign

    In the campaign editor, open Custom cart link. Set up your storefront first if no storefront URL is available.

  2. Choose the products

    Use Find products and select between 1 and 100 product IDs. Repeated IDs are deduplicated; the customer still needs an available, checkout-eligible product.

  3. Copy or insert

    Choose Copy link, or Add cart button to email. The inserted Review your cart button is an ordinary email block: edit its text, preview it and save the campaign.

  4. Review the customer journey

    Open the generated storefront URL with test products. It adds missing products at quantity one, keeps existing cart items and their quantities, and then shows cart review.

  5. Test and send

    Test the email and the destination before scheduling or sending. Creating or copying a cart link does not send a campaign, reserve a price or collect a payment.

A prepared cart is not a purchase

The link uses the configured storefront cart URL and an ss_cart query parameter containing comma-separated positive product IDs. It contains no customer session, serial, entitlement or private credential. Link creation does not apply a coupon or promise a discount; checkout recalculates current prices, offer eligibility and tax.

The customer reviews the cart and completes the normal account and checkout steps. Existing cart items are not replaced. If any selected product is unavailable or not checkout-eligible, the link adds none of its selected products and keeps the existing cart. A merge that would exceed 100 cart items is also rejected without changing that cart.

SoundSync

What the generated link contains

Illustrative configured storefront, not a payment or private account link
https://audio.example/cart?ss_cart=123%2C456

Hosted, branded and embedded storefront destinations

Use the builder-generated URL for the configured storefront, including its hosted path or custom domain. Do not replace its destination with an arbitrary website URL. Other existing query parameters can be retained, but ss_cart must appear only once.

For an embedded storefront, use the current full storefront loader and a host route that actually serves the embedded cart page. The parent forwards ss_cart to the permitted storefront frame; after successful application, the frame and parent clear the parameter to avoid replaying it on refresh. If the external site does not serve the generated cart path, use a reachable hosted storefront destination instead. Standalone page embeds are not a full cart package.

SoundSync

When a cart link cannot be applied

What the customer seesWhat to check
Products are no longer availableCheck publication, storefront membership and checkout eligibility for every selected product. The existing cart stays intact.
The cart is fullThe merged cart cannot contain more than 100 items. Remove items before reopening the link.
An invalid link or storefront warningUse a generated link with one ss_cart value and valid IDs, and open it on the configured developer storefront.
Products could not be loadedRetry after the temporary loading failure. Do not treat that message as a completed checkout.

Keep the campaign list useful

Rename a campaign, including one already sent, without changing its historical message. Duplicate a campaign for a new send. Delete with confirmation only when it is not sending. Deletion removes the recipient report, not billing records, suppressions, or the validity of old unsubscribe links.

A scheduled deal can prepare a campaign draft; it does not authorize an automatic marketing send. Review its audience, content, and schedule separately.

Usage follows provider acceptance

Drafting, scheduling, and a skipped suppressed contact are not billed campaign sends. Provider acceptance records usage even if a later bounce occurs. Campaign test-send accounting is separate; consult the usage guide rather than assuming all tests are charged.

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.

Current email services

Marketing campaigns and growth-flow messages use Elastic Email. Resend delivers supported transactional messages, including account verification and security, purchase and redemption notices, licensing and activation codes, program verification, and subscription billing and recovery. Transactional messages do not consume the marketing-email allowance.

SoundSync

Campaign action errors: recover without duplicate sends

Operation / codeNext step
send-now: CAMPAIGN_SEND_STATE_INVALID, CAMPAIGN_STATE_CHANGEDReload the campaign. Only send from a supported current state; do not repeat a completed send.
send-now: CAMPAIGN_SCHEDULED_NOT_DUEWait for the scheduled time or deliberately change the schedule through supported controls.
send-now: MARKETING_AUDIENCE_EMPTYReview 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_DISABLEDResolve 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_REQUIREDComplete the verified sender, reply-to and required business identity/footer before trying again.
MARKETING_SUBJECT_REQUIRED / MARKETING_CONTENT_REQUIREDComplete the message, preview it and then deliberately retry the intended action.
schedule: CAMPAIGN_NOT_SCHEDULABLE; INVALID_SCHEDULED_AT / INVALID_DELIVERY_TIMEZONEReload state for a 409 conflict. For a 400 input error, use a future date and a valid IANA timezone.
resume-send: CAMPAIGN_NOT_SENDINGReload progress. Resume is for an existing sending campaign, not a resend command.
retry-failed: CAMPAIGN_RETRY_STATE_INVALIDReload. Retry supports campaigns that started sending, not a new draft or analytics repair.
retry-failed: CAMPAIGN_RETRY_SCOPE_INVALID / CAMPAIGN_RETRY_CONFIRMATION_REQUIREDUse 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_DELETABLEReload current state; an active send cannot be erased by deleting its campaign.
test: TEST_RECIPIENT_REQUIREDSave the developer support recipient before testing. This 400 response does not allow arbitrary bulk recipients.