Rule has a ready-made integration with Shopify that makes it easy for you to import your customer and order data from Shopify to Rule. After that, you can set up automation flows in Rule, such as Thank you for purchase, Retention, Winback, and much more.
Tag in Rule | Data sent to Rule | Description |
CartInProgress | Subscriber & Order Data | After the customer has entered their email address at checkout in Shopify |
OrderShipped | Subscriber & Order Data | After the order has been delivered and you have selected 'Fulfill orders' in Shopify |
OrderCompleted | Subscribers & Order Data | After the order has been placed and you have selected 'Capture payments' in Shopify |
Newsletter | - | Customer has clicked that they want to receive newsletters via the website or checked that they want to receive newsletters in the check-out |
Installation
IMPORTANT INFORMATION BEFORE INSTALLATION
The email address associated with your Shopify account must exist as a user on your Rule account if you do not want to create a new Rule account for that email address.
When you download our app, the email address associated with your Shopify account will either be connected to an existing Rule account if the email address already exists as a user, or a new account will be created if the email address is not already associated with an account.
There is no additional charge if you need to create a new user on your account for the email address associated with Shopify.
Check that the email address associated with your Shopify account exists as a user on your Rule account if you already have a Rule account.
Download the Shopify app via this link.
Click “Connect to Rule”.
Select which account you want to connect your store to. There may be several options if you have sub-accounts.
The connection is now set up. You can review your plan, activate additional services, continue to your Rule account via “Continue with Rule”, or disconnect the integration via “Disconnect Rule”.
Forms & pop-ups
If you want to add forms or pop-ups to your own Shopify page, you can use Shopify Forms. Activate Shopify Forms when you're done with your settings, and it will appear on your page, adding the member to the 'Newsletter' tag.
Datafields sent to Rule
Subscriber custom fields
These fields are generated when subscribers are created or updated for customers, checkouts, paid orders, and fulfilled orders. The address preference is shipping_address, followed by billing_address, and finally customer.default_address.
Rule field | Shopify source/fallback |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Static value |
Custom checkout/cart fields
These fields are generated by checkouts/update.
Rule field | Shopify source | Storage format |
|
| String |
|
| JSON array with multiple values |
|
| JSON array with multiple values |
|
| JSON array with multiple values |
|
| JSON array with multiple values |
| Enriched product | Deduplicated JSON array with multiple values |
| Enriched product category | Deduplicated JSON array with multiple values |
| Enriched collection titles/names | Deduplicated JSON array with multiple values |
| Enriched Shopify product tags | Deduplicated JSON array with multiple values |
| Enriched line items, or original line items when enrichment is unavailable | JSON string |
Custom fields for paid orders
These fields are generated by orders/paid.
Rule field | Shopify source/fallback | Storage format |
|
| Text |
|
| Text |
| Normalized | Text |
|
| Date/time |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
|
| Text |
| Current total amount, followed by the original presentment total; fallback to the store/text value when using the same currency | Text |
| Total amount in the selected currency minus tax in the selected currency; otherwise subtotal in the selected currency | Text |
| Current presentment tax, followed by the original presentment tax; fallback to the store/text value when using the same currency | Text; the field name spelling is intentional/current |
| Current presentment shipping cost, followed by the original presentment shipping cost; fallback to the store/text value when using the same currency | Text |
| Same resolved total amount as | Text |
| Same resolved tax amount as | Text |
| Current presentment discounts, followed by the original presentment discounts; fallback to the store/text value when using the same currency | Text |
|
| Text |
| Combined | Text |
| Same resolved value as | Text |
|
| Text |
| Sum of | Text |
|
| Text |
|
| JSON array with multiple values |
|
| JSON array with multiple values |
|
| JSON array with multiple values |
|
| JSON array with multiple values |
| Enriched Shopify product tags | Deduplicated JSON array with multiple values |
| Enriched product types | Deduplicated JSON array with multiple values |
| Enriched category | Deduplicated JSON array with multiple values |
| Same resolved categories as | Deduplicated JSON array with multiple values |
| Enriched collection titles/names | Deduplicated JSON array with multiple values |
| Enriched line items | JSON string |
When orders/paid is triggered, the app removes CartInProgress and requests OrderCompleted, the current Shopify customer tags, and Newsletter when the relevant email consent is active.
Custom fields for fulfillment/shipping
These fields are generated by orders/fulfilled.
Rule field | Shopify source/fallback | Storage format |
|
| Text |
|
| Date/time |
|
| Text |
|
| JSON array with multiple values |
|
| JSON array with multiple values |
|
| JSON array with multiple values |
The app requests OrderShipped, the current Shopify customer tags, and Newsletter when the relevant email consent is active.



