CRM Setup Checklist
Customer Data Preparation
Pull contact exports from Shopify, Amazon Seller Central, eBay, the helpdesk (Gorgias / Zendesk), and any reviews platform (Yotpo / Okendo). Note record counts per source — large variance between Shopify customers and helpdesk tickets is normal but should be reconcilable to the same email or phone.
Merge duplicates by email (lowercased) and phone (E.164 format). A single shopper often has Shopify + Amazon + Etsy records under variant emails — pick a primary identifier and store the others as aliases. Watch for guest-checkout orders that share an email but have different shipping names.
Capture opt-in source, timestamp, IP, and channel (email vs. SMS) for every subscriber. Klaviyo and Postscript track this natively; Shopify checkout opt-ins need to be exported with order metadata. This is your audit trail for CAN-SPAM, TCPA, and GDPR — losing it means re-collecting consent from the entire list.
Two scoping questions drive downstream compliance work. EU or UK customers in the file means GDPR / UK GDPR obligations — DSAR process, subprocessor disclosure, 72-hour breach notification. SMS marketing means TCPA — express written consent, STOP/HELP keyword handling, quiet-hours rules. Answer based on what you actually plan to do, not what's theoretically possible.
CRM Configuration and Integration
Klaviyo for DTC-heavy email/SMS, HubSpot when sales reps are involved, Gorgias for support-led CRM. Confirm seat count vs. team size and which seats need API access for the data team. Lock the billing email to a shared inbox, not an individual.
Typical roles: admin (ops lead), campaign creator (marketing), reviewer-only (founder), CX agent (support), API/dev. Limit who can send to the master list — accidental sends to the full file are a top-three deliverability disaster.
Create properties for last order date, total orders, lifetime revenue, AOV, predicted CLV, and an RFM score. These power VIP segments, win-back triggers, and post-purchase flows. Verify the property updates within minutes of an order, not on a daily batch — abandoned-cart logic depends on freshness.
Native Shopify connector for orders, products, and checkout events. Amazon, eBay, and Etsy customer data does not flow natively — use a connector (Shopify's marketplace apps, A2X for accounting parity, or a custom ETL). Verify event coverage: placed order, started checkout, viewed product, fulfilled order.
Push segments to Meta Custom Audiences, Google Customer Match, and TikTok Audiences for suppression and lookalikes. Pull helpdesk ticket history (Gorgias / Zendesk) and review history (Yotpo / Okendo) onto the contact profile so support and email teams see the same picture. Confirm hashing for ad-platform PII matches each platform's spec.
Compliance and Team Rollout
Single source of truth for what each property means, how it's calculated, and which segments use it. Include VIP tier thresholds, lapsed-customer definitions, and the difference between subscribed vs. consented vs. engaged. Without this, marketing and CX argue about who counts as a VIP for a year.
Spell out the workflow for handling DSAR (access), erasure, and portability requests within the 30-day GDPR / UK GDPR window. List every subprocessor that holds EU customer data — Klaviyo, Yotpo, Postscript, Gorgias, the ad platforms — and how data is purged from each. Assign a single owner; ad-hoc DSAR handling is how brands miss the deadline.
Separate sessions for marketing (segments, flows, deliverability), CX (contact lookup, ticket sync, GDPR requests), and ops (imports, integrations, troubleshooting). Hands-on with sandbox data, not slides — let people break things in a safe environment.
Internal Slack channel for CRM questions, with the ops lead and a marketing power-user as defaults. Pre-build CX macros for common requests — unsubscribe me, delete my data, change my email — so support agents don't write fresh prose under pressure.
Automation and Workflows
Three to five emails over 7-10 days. Confirm the welcome offer, set sender expectations, share the brand story, and surface best-sellers. Include the physical mailing address and unsubscribe link in every email — CAN-SPAM is non-negotiable.
Before each abandoned-cart email sends, check whether the customer has placed an order since the cart event — race conditions where the customer checks out at minute 28 and gets a 'you forgot something' at minute 30 are common and look amateur. Klaviyo's 'placed order since' filter handles this; verify it's wired in.
Trigger 7-14 days after delivered status, not after order placed — asking for a review while the customer is still waiting on the package backfires. Do not incentivize reviews on Amazon orders; use Amazon's Request a Review button or Vine. For Shopify orders, route to your reviews platform (Yotpo / Okendo / Judge.me).
First message must include the brand name, message frequency, 'Msg & data rates may apply,' and STOP/HELP keyword instructions. Honor quiet hours (typically 8am-9pm in the recipient's timezone) and ensure STOP-keyword unsubscribes propagate within seconds. Postscript and Attentive enforce most of this; verify your sender ID and short code are registered.
Use real seed accounts (gmail, yahoo, outlook, plus one EU domain if applicable) to walk every flow end-to-end. Trigger an abandoned cart, place an order partway through, confirm the cart flow stops. Subscribe via SMS, send STOP, confirm suppression. Render-test on iOS Mail, Apple Mail dark mode, and Gmail mobile.
Monitoring and Optimization
Standard CRM KPIs: deliverability (target ≥98%), open rate by send type, click rate, unsubscribe rate (alert if >0.5%), spam complaint rate (alert if >0.1%), attributed revenue, and contribution to MER. Distinguish flow revenue from campaign revenue — flows should grow as a share over the first 90 days.
Weekly view: campaign sends, flow performance, list growth, suppression growth, and revenue attribution. Triple Whale, Northbeam, or a Looker Studio pull from the CRM API all work. Pin it where the marketing team actually looks — Slack-scheduled report works better than a dashboard nobody opens.
Spot-check 10 random Shopify orders against CRM contact records — order count, last order date, lifetime revenue should match. Pull deliverability by domain (Gmail, Yahoo, Outlook); a sudden Yahoo drop usually means a spam-trap hit on the recent campaign. Review unsubscribe and complaint trends; rising complaints mean cadence is too aggressive or content is off.
