Email Marketing for US Shopify Brands: The Complete Setup Checklist
Getting your Shopify email marketing setup right is not complicated, but it is detailed. The number of brands that have been sending email for 2–3 years and still have fundamental configuration gaps — broken integrations, missing authentication, flows that don’t trigger correctly — is genuinely alarming.
This checklist covers every setup task that needs to be completed for a professional-grade Shopify email marketing program. Use it as a setup guide if you’re starting fresh, or as an audit tool if you have an existing program.
We’ve organized this into six phases: ESP setup, Shopify integration, deliverability configuration, list and audience setup, flow build, and ongoing governance.
Phase 1: ESP Account Setup
Klaviyo Account Configuration
Klaviyo is the recommended ESP for US Shopify brands at most revenue stages. If you’re on another ESP, the same principles apply, but the specific settings will differ.
Account basics:
- Company name, website, and industry correctly configured in Organization Settings
- Time zone set to your primary US time zone (this affects when scheduled campaigns send)
- Physical business address added (required for CAN-SPAM compliance)
- Reply-to email address configured and monitored (do not use noreply@; use a monitored inbox)
Team and access:
- User accounts created for all team members who need access
- Role-based permissions configured (not everyone needs admin access)
- Two-factor authentication enabled for admin accounts
Billing:
- Plan tier appropriate for current list size and send volume
- Billing email is a monitored address (account suspension due to payment failure is a real problem)
Phase 2: Shopify Integration Setup
The Shopify–Klaviyo integration is what makes Klaviyo significantly more powerful than a generic ESP for e-commerce. Verify every integration point is working correctly.
Install and Configure the Klaviyo Shopify App
- Klaviyo app installed from the Shopify App Store
- Integration connected: navigate to Integrations in Klaviyo and confirm Shopify shows as “Active”
- Account ID verified in the Klaviyo app settings in Shopify
Verify Data Sync
After connecting, Klaviyo should start pulling historical Shopify data. Confirm:
- Historical order data synced (check Klaviyo Profiles — recent customers should appear)
- Product catalog synced (Klaviyo’s product recommendations require catalog sync)
- Customer profiles show order history, not just email activity
Verify Event Tracking
Klaviyo tracks Shopify events via its JavaScript tracking code. Confirm these events are flowing correctly:
-
Viewed Productevents are being recorded (check in Klaviyo’s Event Stream) -
Added to Cartevents are recording -
Started Checkoutevents are recording -
Placed Orderevents are recording -
Fulfilled Orderevents are recording (needed for post-purchase flow timing)
How to verify: Go to Klaviyo > Analytics > Metrics. You should see all of the above events with recent activity. If any are missing or show zero recent events, the integration is broken for those event types.
Shopify Checkout Email Collection
- Klaviyo is set to capture checkout emails (ensures checkout abandonment flow can trigger)
- Customers who enter email at checkout but don’t complete purchase are flowing into Klaviyo
Note: To capture checkout emails for checkout abandonment flows, the Klaviyo JavaScript must be present on your Shopify checkout page. In Shopify Plus, this requires adding a script to checkout.liquid. On standard Shopify plans (non-Plus), the Klaviyo app handles this automatically.
Shopify Customer Accounts Sync
- Existing Shopify customers synced to Klaviyo profiles
- Customer consent preferences (email marketing opt-in) synced from Shopify to Klaviyo
- New customer registrations automatically create Klaviyo profiles
Phase 3: Deliverability Configuration
This is the most commonly skipped phase — and the most damaging to skip. Poor deliverability configuration can cut your inbox placement in half.
Custom Sending Domain
A custom sending domain sends email from mail.yourbrand.com instead of Klaviyo’s shared sending infrastructure. This dramatically improves inbox placement and brand recognition.
- Custom sending domain created (e.g.,
mail.yourdomain.comoremail.yourdomain.com) - Domain added in Klaviyo: Settings > Sending Domains
- DNS records for the sending domain configured:
- CNAME records for DKIM keys (Klaviyo provides 2 CNAME records)
- Return-path/bounce domain CNAME configured
- Klaviyo shows sending domain as “Verified”
- Domain warmup schedule completed (if this is a new sending domain)
Domain warmup: If your sending domain is new or hasn’t sent at volume before, it needs to be warmed up gradually. Starting with 500 emails/day and doubling every 3–4 days over 4–6 weeks builds the domain’s reputation before high-volume sends.
Email Authentication Records (Root Domain)
These records live on your primary domain (yourdomain.com), not your sending subdomain.
- SPF record configured for your domain (
v=spf1 include:klaviyo.com ~allat minimum, adjusted for any other services that send email on your behalf) - DMARC record configured:
_dmarc.yourdomain.com— minimumv=DMARC1; p=none; rua=mailto:[email protected] - Consider upgrading DMARC policy to
p=quarantineonce you’ve reviewed DMARC aggregate reports for 30+ days
Verify with MXToolbox:
- SPF record: mxtoolbox.com/SuperTool.aspx → SPF Lookup
- DMARC record: mxtoolbox.com/SuperTool.aspx → DMARC Lookup
- No SPF “too many lookups” errors (max 10 DNS lookups allowed)
Google Postmaster Tools
- Google Postmaster Tools account created: postmaster.google.com
- Sending domain registered in Postmaster Tools
- Domain reputation baseline established (review after first 1,000+ sends to Gmail)
- IP reputation reviewed
- Spam rate baseline established and monitored
Klaviyo Deliverability Settings
- Suppress hard bounces (Klaviyo does this automatically — verify suppression list is active)
- Unsubscribe mechanism tested (send a test email, unsubscribe, verify the contact moves to suppressed status)
- Global suppression list reviewed for any false suppressions
Phase 4: List and Audience Setup
Existing List Import (If Applicable)
If you have an existing email list from a prior ESP or from Shopify customer exports:
- List cleaned before import (run through an email validation service like NeverBounce or ZeroBounce)
- Consent documentation available for imported contacts (CAN-SPAM requirement — you should be able to document how subscribers opted in)
- Import includes subscription source, consent date where available
- Historical purchase data linked to imported customer profiles
Opt-in Form Setup
- Primary popup form designed and live (minimum: exit-intent or time-delayed)
- Form tested across devices (mobile, tablet, desktop)
- Form trigger tested (verify it shows to new visitors and suppresses for logged-in subscribers)
- Thank-you / confirmation state styled and on-brand
- Subscribe source tagged in form settings (enables subscribe-source analytics in Klaviyo)
- Double opt-in decision made: for most US e-commerce brands, single opt-in is standard; double opt-in is optional but reduces spam complaints from typo/fake signups
Core Segments Built
- Engaged 30-day segment: Opened or clicked email OR made a purchase in last 30 days
- Engaged 90-day segment: Opened, clicked, or purchased in last 90 days
- Engaged 180-day segment: Opened, clicked, or purchased in last 180 days
- All customers: All contacts with at least 1 purchase
- First-time buyers: Exactly 1 purchase
- Repeat buyers: 2+ purchases
- High-value customers: Top 20% by total spend
- Lapsed customers: No purchase in last [90/120/180 days — adjust to your purchase cycle]
- Unengaged non-purchasers: No open, click, or purchase in last 180 days
Phase 5: Core Flow Build
The following 7 flows must be live before your email program is considered complete. Each must be tested end-to-end before going live.
Welcome Series
- Trigger: Subscribed to list, NOT placed order
- Email 1 (immediate): Deliver signup offer, brand introduction
- Email 2 (24 hours): Brand story, values, differentiation
- Email 3 (48–72 hours): Social proof, bestsellers, reviews
- Email 4 (4–5 days): Discount urgency (if applicable)
- Email 5 (6–7 days): Final call
- Flow filter: Excludes people who place order during flow (stops remaining emails after purchase)
- Flow tested: Test subscriber created, flow triggered, all emails delivered correctly
Abandoned Cart Flow
- Trigger: Added to Cart event, no Placed Order event within filter window
- Email 1 (1 hour): Soft reminder, product imagery
- Email 2 (24 hours): Objection handling
- Email 3 (3 days): Final nudge + optional incentive
- Flow filter: Excludes contacts with a recent purchase (placed order in last 24 hours)
- Cart URL in email links directly back to cart (not homepage)
Checkout Abandonment Flow
- Trigger: Started Checkout event, no Placed Order event within filter window
- Email 1 (30 minutes): Order summary, complete checkout CTA
- Email 2 (4–8 hours): Objection handling (shipping, payment options, returns)
- Email 3 (24 hours): Final urgency
- Flow filter: Suppresses contacts already in cart abandonment flow
Post-Purchase Series (First-Time Buyers)
- Trigger: Placed Order event, first purchase only (use
properties.order_number == 1or purchase count filter) - Email 1 (24–48 hours after delivery): Thank you + product education
- Email 2 (Day 5–7): How-to content, tips
- Email 3 (Day 10–14): Review request
- Email 4 (Day 21–30): Cross-sell recommendation
- Review request links to your actual review platform (Yotpo, Judge.me, Okendo, etc.)
Browse Abandonment Flow
- Trigger: Viewed Product event, no Added to Cart or Placed Order within filter window
- Email 1 (4–12 hours): Product spotlight
- Email 2 (24–48 hours): Overcome consideration barriers
- Flow filter: Excludes contacts currently in cart or checkout abandonment flows
- Viewed Product event confirmed as tracking correctly (Phase 2 check)
Win-Back Flow
- Trigger: No purchase in [your lapse threshold] days — customer profiles only
- Email 1 (Day 0): Soft re-engagement, what’s new
- Email 2 (Day 5–7): Incentive offer with 72-hour expiry
- Email 3 (Day 8–9): Urgency reminder — send only to openers of Email 2
- Email 4 (Day 14–21): Final goodbye / re-confirm interest
Sunset (List Hygiene) Flow
- Trigger: No open, click, or purchase in last 180 days (non-customers) or 270 days (customers)
- Email 1: “Are you still there?” — transparent reengagement
- Email 2 (Day 7): Final chance to confirm subscription
- Klaviyo action after flow completion: Suppress unresponsive contacts automatically
Phase 6: Pre-Launch and Ongoing Governance
Pre-Send Testing
Before going live with any email or flow:
- Mobile rendering tested (Gmail mobile, Apple Mail mobile, Outlook mobile)
- Desktop rendering tested (Gmail desktop, Apple Mail desktop)
- All links tested and functional
- Personalization variables tested with test profiles (no “firstname” placeholders showing)
- Unsubscribe link present and functional
- Physical address in footer
- From name and From address are brand-appropriate
Campaign Planning Calendar
- Monthly campaign calendar created with: send date, send audience segment, subject line, offer/angle, expected revenue
- Holiday/seasonal dates marked: Valentine’s Day, Mother’s Day, Memorial Day, 4th of July, Labor Day, Halloween, BFCM, Christmas, New Year
- BFCM preparation started at least 6–8 weeks in advance
Monthly Audit Tasks
- Check Google Postmaster Tools for spam rate and domain reputation changes
- Review and update suppression list (process any new hard bounces, honor unsubscribes)
- Review flow performance metrics against benchmarks (open rates, conversion rates)
- Check Klaviyo integration health (verify events are still flowing from Shopify)
- Review list growth rate (new subscribers vs. unsubscribes and suppressions)
Quarterly Audit Tasks
- Full deliverability audit (SPF, DKIM, DMARC, bounce rates, complaint rates)
- Re-run each flow test to confirm correct triggering
- Review and update flow email content (seasonal relevance, offer freshness)
- Rebuild engagement segments with updated thresholds
- Review email revenue share trend and compare to benchmarks
This checklist represents what Excelohunt completes for every new Shopify client as part of the onboarding process. Depending on how well an existing program is set up, the completion of this full checklist typically takes 4–8 weeks — and it consistently moves email revenue share 10–20 percentage points within 90 days.
If you work through this list and find more than 30% of items are incomplete or incorrectly configured, your email program has meaningful revenue leaks that are compounding every day they go unaddressed.
Stop leaving email revenue on the table. Get a free email audit from Excelohunt →
Want Us to Implement This for Your Brand?
Get a free email audit and see exactly where you're losing revenue.
Get Your Free Audit