Overview

Shopify integration consists of two parts:

App installation

Shopify app automatically syncs your Shopify store's data to Intempt, allowing you to use your historical order and customer data.

The initialized Shopify source will automatically collect the following events:

EventDescription
Abandoned checkoutsThis occurs when a potential customer begins the checkout process but does not complete the transaction. It is triggered after a customer enters their contact information and proceeds to the payment information step but leaves the website before finalizing the purchase.
Draft order placedIt occurs when a draft order is created when a store owner manually enters an order on behalf of the customer. It is often used for orders taken over the phone or in person.
Placed orderOccurs when a customer completes the checkout process and places an order.
Product orderedSame as “Placed order” - just here, each product in an order generates an Ordered product activity. This allows you to visualize and filter based on individual products purchased.
Order cancelledSignifies the cancellation of an order by either the customer or the merchant before it has been fulfilled.
Order refundedRecorded when a customer's payment for an order is refunded
CustomersSignifies either the creation of a new customer or the update of an existing one

Web tracking installation

While the Shopify app is useful for collecting historical data, it does not allow collecting real-time data on custom user actions for advanced analytics, targeting, and personalization use cases. You can only access the full capabilities of the GrowthOS when leveraging both app and web data sources.

To do that, you need to set up a Javascript tracker to collect web-based events.

We have prepared an event tracking script template to speed up your integration (see the code snippet in the "Web tracking installation" section).

These are recommended web tracking events:

Event NameDescription
Sign upTriggered when a user completes the registration process on the store.
LoginOccurs when a user logs into their account.
Viewed productFired when a user views a product's details.
Viewed categoryTriggered when a user navigates to and views a product category page.
Added to cartOccurs when a user adds a product to their shopping cart.
Viewed checkoutFired when a user views the checkout page with items ready for purchase.
Item removed from cartTriggered when a user removes an item from their shopping cart.
SearchOccurs when a user performs a search on the store.
Started checkoutFired when a user initiates the checkout process.
PurchasedTriggered when a user completes a purchase, and the transaction is finalized.

App installation

Create a Shopify source

Go to Sources and select "Create source" -> Shopify.

Enter your shop name (without the .myshopify.com ending) and click "Next" to select your Shopify account to authenticate.

📘

Good to know

Each Shopify source can be linked only to one store. If you have more than one Shopify store, you will need to create a source for each of them.


Once connected, as a final step, configure the syncing intervals with the source.


By default, Intempt will sync all data available in your store. However, you can also select a custom sync time if you don't want to ingest all of the historical data.

The "Sync interval" is the frequency at which Intempt syncs the data from your Shopify store. The default and recommended timeframe is 1 hour.

Once the source is created, you can always update the sync schedule and frequency in the overview tab.


How users are identified

Intempt maps the fields below to resolve identities across the project.

Intempt identifierShopify identifier
Profile IDCustomer ID
User IDEmail, phone

Attribute reference

Draft order placed

Display NameDescriptionExample
Line item namesA list of items in the cart by name.[{ "Apple Watch", "iPhone"}]
CollectionsA list of the collections relevant to items in the cart."dresses, shoes"
TagsThis is a list of all the tags related to items in your cart"on-sale"
Applied discount amountThe amount of the discount applied.15.00
Created atThe date and time (ISO 8601 format) when the draft order was created."2023-03-01T12:00:00Z"
Line itemsProducts and quantities included in the draft order.[{"id": "12345", "quantity": 2}]
CurrencyThe currency in which the draft order was made."USD"
EmailThe email address associated with the draft order."[email protected]"
Subtotal priceThe price of the draft order before shipping, taxes, and discounts.200.00
Total priceThe total price of the draft order including taxes, shipping, and discounts.220.00
Total taxThe total tax amount applied to the draft order.20.00
Invoice sent atThe date and time when the invoice was sent."2023-03-15T12:00:00Z"
Completed atThe date and time when the draft order was completed and converted into an order."2023-03-20T12:00:00Z"
Shipping line priceThe price of the chosen shipping method.5.00
Invoice URLThe URL of the invoice for the draft order."https://example.com/invoice"
StatusThe current status of the draft order (e.g., open, invoice sent, completed)."open"

Placed order, Order cancelled, Order refunded

Display NameDescriptionExample
Line item namesA list of items in the cart by name.[{ "Apple Watch", "iPhone"}]
CollectionsA list of the collections relevant to items in the cart."dresses, shoes"
TagsThis is a list of all the tags related to items in your cart"on-sale"
Subtotal priceThe price of the order before shipping and taxes.150.00
Order status URLThe URL for tracking the order's status."https://example.com/order_status"
Total shipping price presentment money amountThe total shipping price in the presentment currency.20.00
Total taxThe total tax amount applied to the order.20.00
Discount codesDiscount codes applied to the order.[{"code": "SPRINGSALE", "amount": "10.00"}]
Total taxThe current total tax amounts set, including shop and presentment currencies.Similar structure as specified
Total discountsThe total amount of discounts applied to the order.10.00
CurrencyThe currency in which the order was made.USD
Total priceThe total price of the order.250.00
Total line items priceThe total price of all line items in the order.200.00
Contact emailThe email address associated with the order.[email protected]
Cancelled atThe date and time when the order was cancelled."2023-03-10T12:00:00Z"
Fulfillment statusThe current fulfillment status of the order."fulfilled"
Created atThe date and time when the order was created."2023-03-01T12:00:00Z"
FulfillmentsA list of fulfillments for the order.[{"fulfillment_id": "12345"}]
Financial statusThe financial status of the order (e.g., paid, pending)."paid"

Product ordered

Display NameDescriptionExample
Line item namesA list of items in the cart by name.[{ "Apple Watch", "iPhone"}]
CollectionsA list of the collections relevant to items in the cart."dresses, shoes"
TagsThis is a list of all the tags related to items in your cart"on-sale"
Subtotal priceThe price of the order before shipping and taxes.150.00
Order status URLThe URL for tracking the order's status."https://example.com/order_status"
Total shipping price presentment money amountThe total shipping price in the presentment currency.20.00
Total taxThe total tax amount applied to the order.20.00
Discount codesDiscount codes applied to the order.[{"code": "SPRINGSALE", "amount": "10.00

Abandoned checkout

Display NameDescriptionExample
Line item namesA list of items in the cart by name.[{ "Apple Watch", "iPhone"}]
CollectionsA list of the collections relevant to items in the cart."dresses, shoes"
TagsThis is a list of all the tags related to items in your cart"on-sale"
CurrencyThe currency that the customer was using at checkout."USD"
Total discountsThe total amount of discounts applied to the checkout."5.00"
Referring siteThe website URL that referred the customer to the checkout."https://example.com"
Abandoned checkout URLThe URL of the abandoned checkout that can be used to complete the purchase."https://shopify.com/checkout/abc123"
Subtotal priceThe subtotal of the checkout before taxes and discounts."45.00"
Total priceThe final total of the checkout after taxes and discounts are applied."40.00"
Total line items priceThe total price of all line items in the checkout, before taxes and discounts."50.00"
Total taxThe total amount of taxes applied to the checkout."0.00"
Discount codesA list of discount codes applied to the checkout.[{"code": "SAVE10", "amount": "10.00"}]

Customers

Display NameDescriptionExample
Accepts marketingWhether the customer has opted in to receive marketing materials.FALSE
Accepts marketing updated atThe last time the customer's marketing preferences were updated."2023-02-01T12:00:00-05:00"
Customer addressesA list of addresses associated with the customer.[{"address1": "123 Apple St.", "city": "New York"}]
Created atThe date and time when the customer record was created."2023-01-01T12:00:00-05:00"
CurrencyThe currency the customer uses."USD"
Default address first nameThe first name associated with the customer's default address."Jane"
EmailThe email address of the customer."[email protected] "
First nameThe first name of the customer."Jane"
Last nameThe last name of the customer."Doe"
Customer noteA note about the customer, potentially for internal use."Prefers eco-friendly packaging."
Orders countThe number of orders the customer has placed.5
PhoneThe customer's phone number."+1234567890"
StateThe state of the customer's account (e.g., disabled, invited)."enabled"
Customer tagsTags associated with the customer for segmentation and organization."VIP, Repeat Customer"
Total spentThe total amount of money the customer has spent."200.00"
Updated atThe last time the customer record was updated."2023-03-01T12:00:00-05:00"
Verified emailWhether the customer's email address has been verified.TRUE

Event tracking

All events from the website will be tracked by the JavaScript SDK by default

🚧

Don't miss out!

Autotracking events like Submit, Click, etc., are disabled on the checkout page for security and user privacy reasons. However, events like started_checkout, viewed_checkout, and completed_checkout are availbale.

Track custom events

If the provided events are insufficient, you can follow these steps to track custom events on your Shopify store.

  1. Determine which page you’re working on and add tracking code inside {% if the template contains ‘xxx’ %}{% endif %} statement. Thank you page scripts should not go under theme files, they should be in order status page scripts
  2. If you’re adding a custom script on a cart page, you must put your scripts under {% if the template contains ‘cart’ %} so it can run on the cart page only.
  1. Determine what data you will track and create custom events on Intempt to sync data correctly. Refer to Javascript SDKfor a complete guide on creating custom events and verifying if they are tracked correctly.