Retention Emails

Email Provider Setup Guide

Ensure reliable, high-deliverability inbox placement for all post-purchase order confirmations, replenishment reminders, win-back campaigns, birthday celebrations, and loyalty reward sequences by configuring verified mail gateways and domain authentication.


Overview of Email Delivery Architecture

Cartwheel uses an event-driven automation engine to trigger and dispatch post-purchase emails. When a customer completes a checkout or reaches a lifecycle milestone, Cartwheel's background scheduler enrolls the shopper, evaluates audience criteria, and queues personalized emails through your authenticated delivery gateway.

Customer Completes Order
Automated Flow
Post-Purchase Sequence Triggered
Timed Delays
2 Hours Delay
Step 1: Order Update & Cross-Sell
3 Days Delay
Step 2: Usage Tips & Care
Dynamic Recommendations
Personalized complementary products
Re-Order Completed

Part 1: Configuring Your Email Gateway

Configure your sending provider at Cartwheel Admin → Settings → Email provider.

Resend is the recommended delivery partner for Cartwheel, offering sub-second transactional delivery, automated bounce handling, and 99%+ primary inbox placement.

Step 1: Create a Resend API Key

  1. Log in to your Resend Dashboard.
  2. Click Create API Key, name it Cartwheel Post-Purchase, select Full Access, and copy the key (starting with re_...).
Resend API Keys dashboard showing the Create API Key action button
Resend API Keys dashboard showing the Create API Key action button
Create API Key modal with Name and Full Access permission configuration
Create API Key modal with Name and Full Access permission configuration

Step 2: Verify Your Custom Domain in Resend

  1. In Resend, navigate to Domains and click Add Domain.
Add Domain interface in Resend dashboard for sender domain verification
Add Domain interface in Resend dashboard for sender domain verification
  1. Enter your store's root domain (e.g. yourstore.com) or a dedicated mail subdomain (e.g. mail.yourstore.com or send.yourstore.com).
DNS record configuration table in Resend showing DKIM and SPF records for domain verification
DNS record configuration table in Resend showing DKIM and SPF records for domain verification
  1. Add the DNS records (DKIM and SPF) provided by Resend to your domain registrar (e.g. Cloudflare, GoDaddy, Namecheap, Route 53).

Step 3: Enter Credentials in Cartwheel Settings

  1. In Cartwheel, navigate to Settings → Email provider.
  2. Under Select delivery engine, select Resend.
  3. Fill in your sender details:
    • From name: The display name customers see in their inbox (e.g. Acme Store or Acme Care Team).
    • From email: Must match your verified domain in Resend (e.g. [email protected] or [email protected]).
    • Reply-to email: The address where customer email replies will be delivered (e.g. [email protected] or your personal inbox).
    • Resend API key: Paste your re_... API key.
Email provider settings panel in Cartwheel Admin showing Resend delivery engine configuration, sender credentials, and test email verification
Email provider settings panel in Cartwheel Admin showing Resend delivery engine configuration, sender credentials, and test email verification
  1. Enter your email in Test recipient email and click Send test email to verify live transmission.
  2. Click Save provider settings.

Method B: Native SMTP (Custom Mail Servers)

If your organization uses an existing mail delivery service (e.g. Amazon SES, SendGrid SMTP, Mailgun, Postmark, or a private corporate mail server), you can connect via Native SMTP.

Step-by-Step Configuration:

  1. In Cartwheel, navigate to Settings → Email provider.
  2. Under Select delivery engine, select Native SMTP.
  3. Enter your SMTP connection parameters:
    • From name: Brand display name (e.g. Acme Store).
    • From email: Authenticated sender email address.
    • Reply-to email: Customer response routing address.
    • SMTP host: Mail server hostname (e.g. smtp.sendgrid.net, email-smtp.us-east-1.amazonaws.com, or smtp.mailgun.org).
    • SMTP port: Enter 587 (standard TLS/STARTTLS) or 465 (SSL).
    • SMTP user: Your provider's username or API key username.
    • SMTP password: Your provider's SMTP secret or API password.
Email provider settings panel in Cartwheel Admin showing Native SMTP delivery engine configuration, sender credentials, and test email verification
Email provider settings panel in Cartwheel Admin showing Native SMTP delivery engine configuration, sender credentials, and test email verification
  1. Enter an address in Test recipient email and click Send test email to validate the handshake.
  2. Click Save provider settings.

Part 2: Domain Authentication (SPF, DKIM & DMARC)

To comply with major inbox providers (Google, Yahoo, Apple Mail, Microsoft Outlook) and ensure emails bypass spam folders, configure the following DNS records on your domain registrar:

1. Sender Policy Framework (SPF)

Authorize your delivery gateway to send emails on behalf of your domain:

  • Type: TXT
  • Host / Name: @ (or subdomain like mail)
  • Value: v=spf1 include:resend.com ~all (or your SMTP provider's SPF include string)

2. DomainKeys Identified Mail (DKIM)

Cryptographically sign every outgoing message to guarantee authenticity:

  • Add the three CNAME records generated in your Resend or SMTP provider dashboard.
  • Example: resend._domainkey.yourstore.com pointing to dkim.resend.com.

3. Domain-based Message Authentication (DMARC)

Instruct receiving mail servers how to treat messages that fail SPF or DKIM:

  • Type: TXT
  • Host / Name: _dmarc
  • Value: v=DMARC1; p=none; sp=none; rua=mailto:[email protected];

Setup Checklist for New Stores

Follow this quick-start checklist when launching Cartwheel Retention Emails for the first time:

Step 1: Minimize Shopify's Default Order Confirmation (Optional)

Shopify does not allow turning off transactional order confirmations completely, but you can streamline the message so Cartwheel serves as the primary branded experience:

  1. In your Shopify Admin, navigate to Settings → Notifications → Customer notifications → Order processing → Order confirmation.
  2. Click Edit code.
  3. Replace lengthy promotional content with a concise receipt summary (e.g. "Thank you for your order! Your official receipt is on its way from our store.").
  4. Click Save (you can click Send test to preview Shopify's updated notification).

Step 2: Configure and Verify Email Gateway

Step 3: Create an Active Order Confirmation Sequence

  • Follow the step-by-step instructions in the Order Confirmation Emails Guide to create and activate your sequence:
    1. In Retention Emails → Order confirmation, click Create sequence.
    2. In Sequence settings, configure a 0 minutes delay for immediate dispatch upon checkout.
    3. In Email steps, select your branded receipt template and link an optional upsell offer.
    4. Set status to Active and click Save sequence.

Step 4: Activate Lifecycle Sequences

Expand your retention strategy by launching automated customer journeys:


Troubleshooting & FAQ

Why did my test email fail to send?

  • Invalid API Key: Double-check that your Resend API key starts with re_ and has Full Access permissions.
  • Unverified Sender Domain: In Resend, verify that the domain status is Verified and that your From email matches that exact domain.
  • Public Domain Block: Sending from @gmail.com or @yahoo.com will be rejected by Resend.
  • SMTP Port/TLS Mismatch: For port 587, ensure your server supports STARTTLS. For port 465, use SSL.

Why are orders not enrolling automatically?

  1. Open Retention Emails → Order confirmation (or All sequences) and verify that at least one sequence status is set to Active.
  2. Verify that your customer or test order satisfies the configured Audience Triggers (product/collection filters) and Customer Segments.
  3. Confirm that the Shopify order payment status is marked as Paid.

How does Cartwheel handle customer unsubscribes?

Every email sent by Cartwheel includes an automated 1-click unsubscribe link. If a customer unsubscribes, Cartwheel immediately flags their profile in the database and cancels all pending sequence steps across all retention workflows.