Shopify by Littledata Source
Littledata is a smart analytics app that automates ecommerce tracking. Littledata’s Shopify-to-Segment connection automatically tracks key ecommerce events on a Shopify or Shopify Plus store, so you can use Shopify as a source in your Segment workspace.
Littledata is available as an independent Shopify App. When you install the Littledata app on your store, Littledata does two things:
It inserts a smart tracking script to your store’s front end. You can use this script with any custom Shopify site, and uses analytics.js under the hood to send data in a spec-compliant manner to Segment.
The app also sets up server-side webhook forwarding to ensure 100% accuracy of important Customer and Order data.
Here’s an architecture diagram that shows how the Littledata app mediates data flow between Shopify and Segment.
This integration is maintained by Littledata and is not supported by Segment directly. The Littledata app has been reviewed by the Segment team for conformance with the E-Commerce Spec, and is the recommended way of using Segment with Shopify. However, it does require a paid subscription with Littledata, who mediates the connection between Shopify and Segment. Contact the Littledata Support team with any questions.
- Login to your Shopify Store account.
- Go the Shopify app store listing for Segment.com by Littledata.
- Click Add app to begin the installation process.
- Sign up for a Littledata account using an email address, Google login or Facebook login. More team members can be added to the subscription after completing the installation process.
- Add the Segment write key for the source that is going to send data in the input field.
- Choose either an Automatic or a Manual install. Automatic installs work in most instances, but if you choose to do a manual install, just follow this guide.
- Segment’s analytics.js library, Littledata tracking script and webhooks will be automatically applied to the store and the installation proccess will then be complete.
Below is a table of events that Shopify by Littledata sends to Segment through the analytics.js libary. These events will show up as tables in your warehouse, and as regular events in your other Destinations supporting device-mode.
|Page Viewed||The user has viewed a page|
|Product List Viewed||The user has viewed a product as they scroll down the collection page|
|Product Clicked||The user has clicked a product within a product list|
|Product Viewed||The user has viewed a product page|
|Product Image Clicked||The user has clicked a product image|
In addition to the events tracked as standard, the following hits can be tracked based on page path:
|Registration Viewed||A prospect has viewed the registration page|
|Cart Viewed||A prospect has viewed the cart|
|Blog Viewed||A prospect has viewed the blog|
|Registration Completed||A prospect has completed registration|
Below is a table of events that Shopify by Littledata sends to Segment from Littledata’s servers. These events appear as tables in your warehouse, and as regular events in your other Destinations that support cloud-mode. They include the
anonymousId that links them to the device-mode events where the event was part of a previous user session, or associated with a
userId that was previously linked with an
anonymousId. See Littledata’s troubleshooting guide on attribution for more details.
|Product Added||A user has added a product to the cart, and left it in the cart for more than 10 seconds|
|Product Removed||A user has removed a product from the cart|
|Checkout Started||A user has started checkout|
|Checkout Step Completed||A user has completed a step in the checkout|
|Payment Info Entered||A user has entered payment info|
|Order Completed||A prospect has completed an order|
|Order Refunded||An order has been refunded|
|Order Cancelled (v2)||An admin has cancelled an order (including the cancel_reason)|
|POS Order Placed (v2)||A user has placed an order through Shopify POS|
|Payment Failure (v2)||A user completed checkout step 3 but the payment method failed (for example, the card details were valid but the [charge did not succeed(https://stripe.com/docs/testing#cards-responses)])|
|Customer Enabled (v2)||A user has confirmed their email address and created a Shopify customer account with verified_email set as true|
|Fulfilment Update (v2)||An order fulfilment status has changed (including status, tracking_numbers and tracking_urls where the shipping integration allows)|
For every event where there is an identifiable Shopify customer (from both the device-mode and cloud-mode) Littledata also sends an Identify call. This happens when the customer logs into the storefront, on the last step of the checkout, with the order, and also after purchase with any customer update in Shopify admin.
The following traits are included with an Identify call:
|Property Name||Description||Property Type|
||The Shopify Customer ID||Double|
||The customer’s first name||String|
||The customer’s email||String|
|The customer’s email address||String|
||The customer’s phone number||String|
||The date customer record was created||Date|
||The customer notes||String|
||The customer’s primary address||String|
||The total spend of customer on the Shopify store||Double|
||The bumber of orders by this customer||Integer|
||The custom tags applied to the customer||String|
||Whether the customer account is enabled or disabled||String|
||Whether the customer has verified their email||Boolean|
To support seamless customer tracking the Mixpanel, Vero and KISSMetrics destinations, Littledata ensures the pre-checkout
anonymousIdis added as an alias of the
userId (used from checkout step 2 onwards).
Subscription Ecommerce Events
Additional events available through Littledata’s ReCharge connection, and available in cloud-mode destinations.
|Subscription Created||A customer has created a subscription|
|Subscription Updated||A customer has updated a subscription|
|Subscription Cancelled||A customer has cancelled a subscription|
|Order Processed||A recurring order is processed|
|Charge Failed||A failed to charge customer|
|Charge Max Tries Reached||The maximum tries to charge customer is reached|
|Payment Method Updated||A customer has updated the payment method|
|Customer Update||A customer information updated|
The list below outlines the properties included in the events listed above.
||A Shopify Customer ID (after checkout step 2)||Double|
|A Shopify email address (after checkout step 2)||String|
||The ID of the order||String|
||The ID of the checkout session||String|
||The shipping cost||Float|
||The amount of tax on the order||Float|
||The total value of the order||Float|
||The affiliation of the order||String|
||A discount coupon, if applicable||String|
||The currency of the order||String|
||The discounted amount||Float|
||A list of all the product at that step of the funnel||Array|
||The checkout step||Integer|
||The payment method chosen for checkout||String|
||The shipping method chosen for checkout||String|
||The user’s Google Analytics Client ID||String|
||The user’s location||String|
||The user’s IP address||String|
||A unique property to identify events sent by Littledata||String|
||The user’s local currency||String|
||The order total in local currency||String|
Each item in the
products array may have the following properties:
||The Shopify product ID||String|
||Also Shopify product ID, with device-mode events||String|
||The product SKU||String|
||The product variant name||String|
||The Shopify variant ID||String|
||The category of the product (defaults to
||The brand of the product||String|
||The ID of the product collection||String|
||The name of the product collection||String|
||The product position in the collection||Integer|
||The product name||String|
||The product price||Float|
||The quantity of products||Integer|
This page was last modified: 28 Oct 2020
Questions? Problems? Need more info? Contact us, and we can help!