CRM Setup Checklist
Steps an e-commerce operations or marketing lead runs to stand up a customer relationship management platform — Klaviyo, HubSpot, or similar — across Shopify, marketplaces, and the supporting stack. Covers data hygiene, consent scoping, ...
Customer Data Preparation
-
Audit customer records across all channels
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.
-
Deduplicate and normalize contact data
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.
-
Export the consent ledger per platform
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.
Collects file -
Confirm regulatory scope for the program
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.
Collects list Collects list
CRM Configuration and Integration
-
Provision the CRM platform and seats
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.
-
Configure user roles and permissions
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.
-
Build custom properties for AOV, LTV, and RFM
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.
-
Connect Shopify and marketplace data feeds
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.
-
Connect ad platforms, helpdesk, and reviews
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
-
Document the data dictionary and segments
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.
-
Document the GDPR data subject access process
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.
-
Run role-based training sessions
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.
-
Set up the CRM support channel and macros
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
-
Build the welcome flow for new subscribers
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.
-
Build the abandoned-cart flow with order-status guard
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.
-
Build the post-purchase review request flow
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).
-
Build the SMS welcome flow with TCPA disclosures
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.
-
Run end-to-end tests with seed accounts
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.
Collects list Collects paragraph
Monitoring and Optimization
-
Define KPIs and reporting cadence
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.
-
Set up the weekly performance dashboard
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.
-
Audit data sync and deliverability monthly
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.