Shopify Integration
Connect your Shopify store to automatically sync products, orders, customers, and abandoned carts. Enable powerful customer segmentation and abandoned cart recovery campaigns.
Features
- Automatic sync - Products, orders, and customers sync in real-time via webhooks
- Abandoned cart recovery - Capture checkout URLs for recovery email campaigns
- Storefront tracking - Track page views, product views, and add-to-cart events
- Email capture - Automatically identify customers from checkout and forms
- UTM attribution - Capture and attribute marketing UTM parameters
- Multi-store support - Connect multiple Shopify stores with per-store event segmentation
Connecting Your Store
- Navigate to Settings → Integrations
- In the Shopify section, click Connect Shopify
- Enter your store domain (e.g.,
my-storeformy-store.myshopify.com) - Click Connect to Shopify
- Authorize the app in Shopify
- You'll be redirected back with your store connected
Sync Settings
After connecting, configure what data to sync:
| Setting | Description | Default |
|---|---|---|
| Sync Products | Import products from Shopify | Enabled |
| Sync Orders | Import orders and update statuses | Enabled |
| Sync Customers | Import customer data | Enabled |
| Sync Carts | Track abandoned checkouts | Enabled |
| Historical Days | Days of order history to import | 90 |
Access these in Settings → Integrations → Shopify → Settings tab.
Storefront Tracking
A tracking script is automatically installed on your Shopify storefront and captures storefront events out of the box (no extra setup):
| Event | Description |
|---|---|
| Page View | Every page visit |
| Product Viewed | When a product page is viewed |
| Add to Cart | Items added to cart |
| Identify | Email capture from forms |
Email Capture
Emails are automatically captured from:
- Checkout email field
- Newsletter signup forms
- Any email input field
UTM Attribution
Marketing parameters are automatically captured:
utm_source,utm_medium,utm_campaignutm_term,utm_content
UTM parameters are stored in the session and attached to all events.
Multi-Store Support
When connecting multiple Shopify stores to the same workspace:
- Each store gets its own App entity with unique SDK key
- All events are tagged with the store's
$app_id - Filter events by
$platform = 'shopify'or specific$app_id - Users can be linked across stores via email
Webhooks
The integration automatically registers webhooks for real-time updates:
- Order created, updated, cancelled, fulfilled
- Checkout created, updated (abandoned carts)
- Product created, updated, deleted
- Customer created, updated
View registered webhooks in Settings → Integrations → Shopify → Webhooks tab.
Your data stays current through real-time webhooks, the one-time historical import, and the manual Sync now button. There is no periodic automatic re-sync. If you notice data drift (for example after downtime), run a manual sync with the Sync All button to backfill.
Connection Health
Once Shopify is connected, a health panel (in Settings → Integrations → Shopify) is the first thing to check if store data stops syncing:
- Store details - live name, plan, currency, and domain pulled from Shopify. Seeing them confirms the access token still works.
- Webhook status - each required topic is shown as registered or missing. A Re-register button re-creates any missing webhooks so real-time updates resume.
If data has drifted, re-register missing webhooks here, then run a manual Sync All to backfill.
Abandoned Cart Recovery
When a customer abandons their cart:
- The checkout URL is captured
- The cart value and items are stored
- The customer's email (if captured) is linked
Use this data to create abandoned cart recovery campaigns in Canvas with the actual checkout URL.
Troubleshooting
Products/Orders not syncing
- Check sync is enabled in Settings tab
- Verify webhooks are registered in Webhooks tab
- Try manual sync with "Sync All" button
Email not being captured
- The tracking script captures emails from standard form inputs
- Checkout email is captured when the customer enters it
Connection issues
- Verify your Shopify app has the required permissions
- Try disconnecting and reconnecting