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.
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 workflows to create personalized, relevant content.
For example, take a look at an sample cart abandoment workflow.
Shopify tracks three kinds of events: behavioral, commerce, and product.
Iterable's Shopify app can send various behavioral events to Iterable:
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
To save these events, it calls Iterable's
Shopify can send three kinds of commerce event to Iterable: order, shipping, and customer (based on your selections on the admin screen).
Iterable's Shopify app can send ync these order-related events to Iterable:
updateCart- Created when a Shopify cart is created or updated—for example, when items are added or remoted (by calling Iterable's
createCheckout- Created when a checkout is created in Shopify
createDraftOrder- Created when a draft order is created in Shopify
cancelOrder- Created when order has been cancelled in Shopify
purchase- Created when an order has been created (by calling the
createRefund- Created when a refund is issued in Shopify
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.
Iterable's Shopify app can send information about your customers to your Iterable project:
When a customer is created, enabled/disabled, or updated, Iterable's Shopify app uses the
POST /api/users/update. endpoint to update their information in Iterable.
When a customer is enabled or disabled, the
statefield on their Iterable user profile is set to
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 customer success manager.