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. Maximum 50 product list impressions tracked

Currently, LittledataLayer can only hold a maximum of 50 products for the page. Shopify limits their total collection products to 50 and there is no consistent way of returning the shop’s total number of products.

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

4. First product variant impression

Client-side events such as view_item will have by default the details of the first variant of the product, even if there is other or more variants selected by default. 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 highly 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.