Iterable integrates with Shopify, allowing you to automate your multi-channel marketing strategy based on user actions in your Shopify e-commerce website. Simply drop your Iterable API key into the Iterable Shopify app to boost retention and ROI with campaign strategies like cart abandonment and repeat purchase.
- This integration requires an Iterable account and a Shopify account. If you're not already an Iterable customer, request a demo to discuss how the Iterable and Shopify integration can work for you.
- Iterable can't guarantee that the Shopify integration is compatibile with Shopify+ stores or “headless” Shopify implementations. If you have case-specific questions about what's supported, contact your Iterable CSM.
Table of contents
This guide walks through the setup of the Iterable Shopify app, which forwards properties and actions from your Shopify store users to Iterable.
Once enabled, the app sends customer details, on-site actions (cart updates, purchases, product views), and product information to your Iterable project, in real time. Additionally, it can perform a backfill of your store, bringing in historical user profiles and past orders.
To install the Iterable app in your Shopify store, follow these steps:
Install the Iterable app from the Shopify App Store (it's available here). Then, enter you Shopify Store domain:
After accepting the permissions, enter the email address of your Iterable account admin, and an API key for your Iterable project:
After Iterable's Shopify app finishes backfilling data to Iterable, it will send an email to this address.
After Shopify connects with Iterable, you'll see a message that introduces you to the features of Iterable's Shopify app:
Use the Import from field to specify a date to use as a starting point for data import, and select whether to synchronize customer and product data:
On the admin portal screen, select the type of events and data to track:
- Behavioral (product views, logins, logouts),
- Commerce (related to customers, orders, and shipping),
- Product tracking (syncing Shopify products to an Iterable catalog)
You can also update your Iterable API key on this page.
After the historical backfill has finished, the email address entered above will receive a count of all synced customers, historical orders, and products.
All historical orders will include a
historical_backfill field to indicate
You should now see Shopify users, events, and products in your Iterable project.
In Shopify's admin portal, you can specify the kinds of events that Shopify should send to Iterable. After these events have been saved to Iterable, you can use them in segmentation and journeys to create personalized, relevant content.
To learn how to build a journey, read Tutorial: Build Your First Journey.
Shopify tracks three kinds of events: behavioral, commerce, and product.
- Commerce and product events are triggered by Shopify's webhooks.
productView- Created when a user views a product
login- Created when a user logs in to your store
logout- Created when a user logs out of your store
Commerce events are composed of order, shipping, and customer events.
Order events are tracked during the checkout, order, draft order, and refund processes.
| ||Created when an order is created in Shopify|
| ||Created when a Shopify cart is created or updated|
| ||Created when a checkout is created or updated in Shopify|
| ||Created when a draft order is created or updated in Shopify|
| ||Created when order has been cancelled in Shopify|
| ||Created when a refund is issued in Shopify|
- If a purchase order is updated, the original
purchaseevent will be updated in Iterable, too. For example, if a user adjusts their order to change the quanitity of items purchases, the updated order will be reflected in Iterable. To indicate an order has been updated, the
updatefield will be set to
When present, Iterable's
cookie values are included in purchase events to enable campaign and template
When integrated with a shipping carrier, your Shopify store can receive shipping information. Iterable's Shopify app can send this data to Iterable:
When a fulfillment is created on an order in your Shopify Store, Iterable's Shopify app will create a
createFulfillmentevent in Iterable.
When a fulfillment is updated on an order in your Shopify Store, Iterable's Shopify app will update the associated
purchaseevent with a
fulfillment_status. Possible values for this field include:
pending: The fulfillment is pending.
open: The fulfillment has been acknowledged by the service and being processed.
success: The fulfillment was successful.
cancelled: The fulfillment was cancelled.
error: There was an error with the fulfillment request.
failure: The fulfillment request failed.
A customer profile is created when a customer interacts with your business. For example, a profile is created when a customer does any of the following:
- Signs up for your mailing list or a customer account
- Places an order
- Starts an order, but abandons their checkout
- Is added to your customer list manually
Whenever a customer is created, updated, or enabled/disabled in Shopify, their user profile is updated in Iterable. These are the fields that can be synced from a Shopify customer record to Iterable:
| ||Boolean||Whether or not the customer has consented to receive marketing material via email.|
| ||Array||A list of the customer's ten most recently updated addresses.|
| ||Object||The customer's default address.|
| ||String||The customer's first name.|
| ||String||A unique identifier for the customer. Shopify's
| ||String||The customer's last name.|
| ||String||A note about the customer.|
| ||String||The unique phone number for this customer.|
| ||Date||The date and time when the customer was created.|
| ||Date||The date and time when the customer information was last updated.|
| ||String||The state of the customer's account with a shop.|
| ||String||Tags that the shop owner has attached to the customer, formatted as a string of comma-separated values.|
| ||Boolean||Whether the customer is exempt from paying taxes on their order.|
| ||Long||The total amount of money that the customer has spent across their order history.|
For more information about these fields, see Shopify's documentation about the Customer Object.
This feature requires a Catalog subscription. Contact your Iterable CSM to discuss adding Catalog to your plan.
On the admin screen, selecting Catalog (under Product Tracking) causes
Iterable's Shopify app to sync data to a catalog called
catalog will be kept up-to-date with the latest information from Shopify, when
products are created, deleted, or updated.
Shopify customer records can have a marketing flag that indicates whether or not
they'd like to receive marketing messages. This flag can be saved as an
accepts_marketing flag on a customer's Iterable user profile. This can be useful
if you do not have a separate, third-party subscription preference center.
To set this up, talk to your Iterable CSM.