Known limitations of Littledata's Shopify tracking

Updated on 2021-11-29

There are some limitations to know about.

1. Shopify webhook de-duplication

De-duplication ensures that only one webhook is generated per 10-second window of time, even if multiple update actions occur within that window. The webhook that is issued after 10 seconds contains the most up-to-date payload, as per Shopify.

Example: if a cart is added to and then updated multiple times within a 10-second timeframe, only the state of the cart after ten seconds is reported.

2. Missing add-to-cart event after 60 minutes on inactivity

We store the cart contents of your customers on our server for only 60 minutes. If a user keeps the session open for more than 60 minutes without updating the cart and does not refresh the session, all new updates to the cart will be seen as a different cart.

This will only happen if the user does not reload a page.

3. Maximum of 200 products processed per order

Our AWS servers can only handle orders with up to 200 products. Orders with over 200 products will still be processed, but the product revenue and count will be incomplete.

4. When no variant is known, defaults to the first product variant

Client-side events such as view_item will by default use the first variant of the product, unless the variant ID is present in the product URL (e.g. `?variant=1234`). Fortunately, this will not affect any server-side events like Add to cartRemove from cart and Transaction, as they will have the right variants of the selected products.

5. Geo location information attributed to a single location (New Jersey/Oregon)

For our server-side events to be correctly attributed to the right city and country we have to parse the user information that was added during the checkout process to correctly determine the location based on Google's Geographical IDs. If we fail to match with an existing code the events will be send without one and our server location will be automatically attributed to it.

6. Landing pages (not set)

Most of our server-side events (especially our Recharge lifecycle events) are being sent automatically by our servers without any user interaction needed on the Shopify storefront. Therefore, because there is no page view send before those events will have no landing pages attributed to them.

7. Product list views are only triggered on scroll or swipe

Product lists that become visible more than 500ms after the page load through a click of a carousel navigation button or other JavaScript animation will not be tracked.

8. Product list clicks may interfere with other Javascript click actions

In order to track a click of a product on the product listing page, Littledata's script has to interrupt the click event handler and redirect the user to a product detail page after the hit has been sent. If this conflicts with other custom scripts on your store, the solution is to update the Littledata settings and set LittledataLayer.productClicks to false. This will disable product list click tracking.