There are some limitations to know about.
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.
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.
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.
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 cart, Remove from cart and Transaction, as they will have the right variants of the selected products.
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.
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.