Loading tutorials…
Loading tutorials…
Drip's Shopify app installs in 5 minutes. The integration that actually drives 25-35% of e-commerce revenue takes 2 hours of structured setup. Historical sync, identified browsing, catalog feed, and event mapping are where DIY installs lose money for months.
Who this is forShopify store owners installing Drip for the first time, or operators on Drip whose data doesn't match Shopify. If your store does $20K+/month and email is under 15% of revenue, the integration almost certainly has a gap — this tutorial finds and fixes it.
What you'll need
Step 1
Shopify App Store → install 'Drip - Email & SMS Marketing.' Use the official app, not a third-party connector. The official app handles OAuth, webhooks, and JS pixel automatically.
In Shopify Admin → Apps → Shopify App Store → search 'Drip.' Install 'Drip - Email & SMS Marketing' published by Drip, Inc.
Authorize the requested permissions: orders, customers, products, checkouts, draft orders, marketing consent. All are required — declining any breaks event tracking.
OAuth will return you to Drip and ask which Drip account/workspace to connect to. Pick the right workspace (especially important if you manage multiple brands in one Drip login).
Once connected, Drip → Settings → Integrations → Shopify should show 'Connected' with a green status indicator and your store URL.
The app auto-installs the Drip JavaScript pixel into your theme. Verify: View source on your store homepage → search for `_dcq.push` or `dripemail2.com` → confirm the snippet is present and not behind a feature flag.
Step 2
Drip → Settings → Integrations → Shopify → Sync settings → enable historical sync for orders + customers. Without this, all your win-back and VIP segmentation is broken for 90+ days.
In Drip → Settings → Integrations → Shopify → Sync Settings.
Toggle 'Sync historical orders' to ON. Choose date range — pick 'All available history' if your plan allows; otherwise pick the longest range available (typically 24 months on standard plans).
Toggle 'Sync historical customers' to ON. This brings every Shopify customer into Drip's People database, attached to their order history.
Drip will begin the backfill. Stores under 50K orders typically complete in 4-12 hours. Larger stores take 24-72 hours.
Verify completion: Drip → People → filter by `has Placed an Order` ever → compare count to Shopify → Customers → All customers (filter `has placed orders`). They should match within 1-2%.
If counts diverge more than 5%, the most common causes are: (1) deleted Shopify orders (Drip can't reconstruct them), (2) orders from a sales channel Drip doesn't sync (some POS configurations), or (3) the backfill silently stopped at the date cutoff for your plan. Open a Drip support ticket if you can't reconcile.
Step 3
Drip's e-commerce events: Started Checkout, Placed Order, Refunded Order, Created Account, Viewed Product. Confirm each one fires correctly via a test order.
Open a fresh incognito browser. Visit your store as a new customer.
Visit a product page. In Drip → People → look for an anonymous lead with `Viewed a Product` event firing within 60 seconds. (If identified browsing is off, this anonymous lead has no email yet — that's expected.)
Add to cart, go to checkout, enter email + shipping. Drip → People → search by the email you used → confirm 'Started Checkout' event fires within 1-2 minutes.
Complete the order with a 100% discount code (Shopify → Discounts → create a 100% off code for testing).
Within 5-10 minutes the same profile should show: 'Placed an Order' event, order value, line items, and customer tags. The profile should also be auto-tagged based on any Workflow rules you've configured.
If any event fails to appear, the most common cause is the Drip JS pixel being blocked by your theme's cache plugin or a third-party app injection breaking the page load order. Disable cache, retest; if the event fires with cache off, exclude `drip` URLs from your cache rules.
Step 4
Drip → Settings → People → Cookie Identification → enable. This is the lever that lets Drip recognize subscribers across sessions without them having to log in.
In Drip → Settings → Account → Cookie Identification → enable.
This sets a first-party cookie on visitors once they've shared their email (via a form, checkout, or workflow link click). After that, every page they view is attributed to their identity — even months later.
Without identified browsing: browse-abandonment Workflows cannot trigger because Drip doesn't know who's browsing. You lose 10-15% of recoverable browse-abandonment revenue (typically $2K-15K/mo on a $50K+ store).
Test it: in incognito, subscribe to your newsletter using a test email. Then visit a product page WITHOUT logging in. In Drip → People → your test profile → Events tab should show 'Viewed a Product' attributed to that profile within 60 seconds.
Combine this with the 'Browse Abandonment' Workflow trigger (covered in a later tutorial) to send 'You were looking at this...' emails.
Step 5
Drip → Catalogs → Shopify. The Shopify app should auto-create this. Verify it's active and the product count matches your Shopify catalog.
In Drip → Catalogs → Shopify. The Shopify app auto-creates this feed during install.
Verify the feed shows status 'Synced' and the product count matches Shopify → Products → All products (excluding draft/archived).
If counts diverge by more than 5%, the most common cause is products with malformed variants (missing SKU, missing image, $0 price). Drip skips those silently. Run Drip → Catalogs → Sync Logs to find skipped products.
Force a re-sync after any large catalog change: Drip → Catalogs → Shopify → "Sync Now." Most stores need a re-sync once per quarter as catalog churn accumulates.
In the email editor (covered later), the Drip product block will pull from this catalog automatically. If the catalog is empty or stale, product blocks render blank in production — and you only find out when subscribers complain.
Step 6
Place a real test order, verify all events fire, customer is auto-tagged correctly, and at least one Workflow triggers (if you've built any). Document for the team.
Place one more test order from a clean profile email. Track each event through: Viewed Product → Started Checkout → Placed Order, all firing within their expected windows (60s, 60s, 5-10min).
Verify customer record in Drip has the right tags, custom fields, and consent state. If you sell into EU/UK/Canada, the Shopify checkout marketing-consent checkbox must map to Drip's 'Subscribed' status — confirm by opting in vs out on two test orders.
In Drip → Workflows → check that any flows triggered by Placed Order or Started Checkout show the test profile in their Active subscriber count.
Document for the team: which events fire on which Drip metric, what tags get applied, and which Workflows trigger. A simple Notion or doc page prevents future "did the integration break?" panic when someone changes a Shopify setting.
Set a 30-day calendar reminder to spot-check the integration. Re-run a test order monthly for the first 90 days. Shopify and Drip both ship updates; integrations rot quietly without monitoring.
Common mistakes
Installing via API key instead of the official Shopify app
What goes wrong: API-key auth misses webhooks for Started Checkout and Refunded Order. Stores report 'abandoned-cart Workflows never trigger' — and it looks like the Workflow is broken when actually the upstream event never arrived. Loses 8-12% of email revenue silently.
How to avoid: Uninstall any API-key-based connection. Reinstall via Shopify App Store → 'Drip - Email & SMS Marketing.' This is a 10-minute fix that prevents months of silent data loss.
Skipping historical order sync
What goes wrong: Win-back Workflows can't trigger for pre-Drip customers (Drip doesn't know they exist). VIP segments based on lifetime value are 100% empty for the first 90 days. Repeat-purchase Workflows fire for the WRONG cohort. Costs 15-25% of email revenue for the first quarter.
How to avoid: Drip → Settings → Integrations → Shopify → Sync Settings → enable historical sync. Wait 24-72 hours; verify counts match Shopify within 5%.
Not enabling identified browsing
What goes wrong: Browse-abandonment Workflows can't fire because Drip doesn't know who's browsing. Stores lose ~10-15% of recoverable browse-abandonment revenue (typically $2K-15K/mo at $50K+ store size).
How to avoid: Settings → Account → Cookie Identification → enable. Confirm by viewing a product page in a logged-out browser after subscribing; the profile should show Viewed Product within 60 seconds.
Pointing the Shopify form integration at the wrong default Workflow
What goes wrong: New signups via Shopify checkout opt-in get added to Drip but no Workflow triggers because the form isn't wired to your Welcome Workflow. New subscribers get one auto-receipt and then silence. You lose 30-45% of welcome-flow revenue.
How to avoid: Drip → Workflows → Welcome → trigger settings → confirm it triggers on the right Tag or Lookup that the Shopify form applies. Test by completing a checkout opt-in with a test email.
Letting the product catalog feed go stale
What goes wrong: Product blocks in emails render blank or show out-of-stock items. Abandoned-cart Workflows reference products that no longer exist. Drops Placed Order rate from these Workflows by 30-50%.
How to avoid: Drip → Catalogs → Shopify → confirm sync status weekly. Re-sync after bulk product changes. Test a product block in an email draft before sending a real campaign.
Recap
Done — what's next
How to set up a Drip account the right way (account, domain, sender, compliance)
Read the next tutorial
Hand it off
The Shopify integration is the foundation — every Workflow you build later assumes this layer is clean. If you'd rather have an email specialist do the install, validate the sync, and build the first three Workflows, that's typically $400-900 of one-time work at $14-16/hr. After that you can DIY the rest, or hand it off ongoing.
See specialist rates
Functionally yes, with caveats. Drip + Shopify covers the same core events (Started Checkout, Placed Order, Refunded Order, Viewed Product) and supports the same Workflow patterns. Klaviyo has slightly deeper Shopify-native features — predictive CLV, churn risk scoring, and back-in-stock as a first-class metric. For most DTC stores under $1M/yr, Drip's coverage is sufficient. Above that, the gap starts to matter.
Three usual causes: (1) deleted Shopify orders (Drip can't reconstruct them — they're gone from Shopify's API too); (2) orders from a sales channel Drip doesn't sync (POS in some configurations, or third-party fulfillment apps); (3) the integration was installed after some orders were placed AND historical sync was never enabled or hit the plan's date cap. Open a Drip support ticket with the exact gap — they can usually backfill within the plan limit.
Connect Shopify FIRST. Then export your old list as CSV and import into Drip via People → Import. Drip will auto-merge profiles by email, attaching the Shopify order history to the imported subscriber. Doing it in reverse leaves duplicate profiles that have to be merged manually later.
Yes — marketing-consent state syncs both directions. A Shopify customer who checks 'Email me about news and offers' is marked Subscribed in Drip. A Drip unsubscribe is mirrored back to Shopify as 'not accepting marketing.' This is automatic; don't try to manage opt-out state manually.
Yes, for 30-60 days during cutover. Disable transactional and marketing flows in Klaviyo BEFORE activating equivalents in Drip — otherwise subscribers get duplicate emails. Watch your unsubscribe rate during the overlap; it spikes if anything sends twice.
Wait at least 24 hours after historical sync completes before launching revenue-driving Workflows. The first 24 hours have noisy data because the backfill is still propagating. Welcome Workflow can launch immediately for new signups — it doesn't depend on historical data.
Drip
Drip's signup takes 5 minutes. The setup that doesn't sabotage deliverability or break Workflows in week three takes 2-3 hours. Sending domain, DKIM, sender identity, default Lookups, and compliance posture are the parts most stores skip — and pay for later in lost inbox placement.
Drip
Welcome Workflows are typically 30-45% of automated email revenue in a healthy Drip account. A bad welcome Workflow leaves 60% of that on the table. This is the build that captures it — trigger, delays, copy structure, exits, and validation.
Drip
Abandoned cart is the second-highest-revenue Workflow in most Drip accounts after welcome. A well-tuned cart Workflow recovers 8-12% of abandoned checkouts. A bad one recovers 1-3%. The difference is timing, filters, and discount strategy — not copy.
Drip
Migrating from Mailchimp to Drip is a 6-10 hour project, not a 1-hour data dump. List structure differs, automation logic differs, consent rules differ. Most stores that DIY this lose 15-30% of subscribers and 30-50 days of email revenue. This is the migration that doesn't.
Klaviyo
Shopify and Klaviyo plug together in 10 minutes, but the integration that drives 30%+ email revenue takes 2-3 hours of structured setup. Historical sync, back-in-stock, and identified browsing are where most stores miss the money.