Skip to main content

Shopify Integration

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.

  1. 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.

  2. Download the Shopify app via this link.

  3. Click “Connect to Rule”.

  4. Select which account you want to connect your store to. There may be several options if you have sub-accounts.

  5. 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

Subscriber.FirstName

customer.first_name, address.first_name, followed by billing_address.first_name

Subscriber.LastName

customer.last_name, address.last_name, followed by billing_address.last_name

Subscriber.Number

customer.phone, address.phone, billing_address.phone, followed by shipping_address.phone

Subscriber.Address1

address1 from the preferred address

Subscriber.Address2

address2 from the preferred address

Subscriber.City

city from the preferred address

Subscriber.Zipcode

zip from the preferred address

Subscriber.Country

country from the preferred address

Subscriber.Source

Static value ShopifyRule

Custom checkout/cart fields

These fields are generated by checkouts/update.

Rule field

Shopify source

Storage format

Cart.CartUrl

abandoned_checkout_url

String

Cart.Names

line_items[].title

JSON array with multiple values

Cart.SKUs

line_items[].sku

JSON array with multiple values

Cart.Models

line_items[].variant_title

JSON array with multiple values

Cart.Manufacturers

line_items[].vendor

JSON array with multiple values

Cart.ProductTypes

Enriched product productType/product_type

Deduplicated JSON array with multiple values

Cart.ProductCategories

Enriched product category fullName or name

Deduplicated JSON array with multiple values

Cart.ProductCollections

Enriched collection titles/names

Deduplicated JSON array with multiple values

Cart.ProductTags

Enriched Shopify product tags

Deduplicated JSON array with multiple values

Cart.Products

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

Order.Number

order_number, followed by id

Text

Order.Name

name

Text

Order.Currency

Normalized presentment_currency, followed by currency

Text

Order.Date

processed_at, created_at, followed by updated_at

Date/time

Order.BillingFirstname

billing_address.first_name

Text

Order.BillingLastname

billing_address.last_name

Text

Order.BillingStreet

billing_address.address1

Text

Order.BillingCity

billing_address.city

Text

Order.BillingZipcode

billing_address.zip

Text

Order.BillingState

billing_address.province, followed by province_code

Text

Order.BillingCountry

billing_address.country, followed by country_code

Text

Order.BillingCompany

billing_address.company

Text

Order.BillingTele

billing_address.phone

Text

Order.Firstname

shipping_address.first_name

Text

Order.Lastname

shipping_address.last_name

Text

Order.Street

shipping_address.address1

Text

Order.Street2

shipping_address.address2

Text

Order.Zipcode

shipping_address.zip

Text

Order.City

shipping_address.city

Text

Order.Country

shipping_address.country, followed by country_code

Text

Order.ShippingAddress1

shipping_address.address1

Text

Order.ShippingAddress2

shipping_address.address2

Text

Order.ShippingCity

shipping_address.city

Text

Order.ShippingZip

shipping_address.zip

Text

Order.ShippingCountryCode

shipping_address.country_code

Text

Order.TotalTaxIncl

Current total amount, followed by the original presentment total; fallback to the store/text value when using the same currency

Text

Order.TotalTaxExcl

Total amount in the selected currency minus tax in the selected currency; otherwise subtotal in the selected currency

Text

Order.TaxAmmount

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

Order.Shipping

Current presentment shipping cost, followed by the original presentment shipping cost; fallback to the store/text value when using the same currency

Text

Order.TotalPrice

Same resolved total amount as Order.TotalTaxIncl

Text

Order.TotalTax

Same resolved tax amount as Order.TaxAmmount

Text

Order.Discount

Current presentment discounts, followed by the original presentment discounts; fallback to the store/text value when using the same currency

Text

Order.PaymentMethod

gateway, followed by combined payment_gateway_names

Text

Order.DeliveryMethod

Combined shipping_lines[].title, code, or source

Text

Order.Gateway

Same resolved value as Order.PaymentMethod

Text

Order.OrderStatus

cancelled if cancelled_at exists; otherwise fulfillment_status, followed by financial_status

Text

Order.ProductCount

Sum of line_items[].quantity

Text

Order.TotalWeight

total_weight

Text

Order.Names

line_items[].title

JSON array with multiple values

Order.Manufacturers

line_items[].vendor

JSON array with multiple values

Order.Brands

line_items[].vendor

JSON array with multiple values

Order.SKUs

line_items[].sku

JSON array with multiple values

Order.ProductTags

Enriched Shopify product tags

Deduplicated JSON array with multiple values

Order.ProductTypes

Enriched product types

Deduplicated JSON array with multiple values

Order.ProductCategories

Enriched category fullName or name

Deduplicated JSON array with multiple values

Order.Categories

Same resolved categories as Order.ProductCategories

Deduplicated JSON array with multiple values

Order.ProductCollections

Enriched collection titles/names

Deduplicated JSON array with multiple values

Order.Products

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

OrderShipped.Number

order_number, followed by id

Text

OrderShipped.ShippingProcessedAt

processed_at

Date/time

OrderShipped.FinancialStatus

financial_status

Text

OrderShipped.ShippingLines

shipping_lines[].title

JSON array with multiple values

OrderShipped.TrackingCompany

fulfillments[].tracking_company

JSON array with multiple values

OrderShipped.TrackingNumber

fulfillments[].tracking_number

JSON array with multiple values

The app requests OrderShipped, the current Shopify customer tags, and Newsletter when the relevant email consent is active.

Did this answer your question?