We noticed that we stopped getting Google Reviews using our embed widget on the Thank You Page, and that some pixels started firing incorrectly with various error rates over the last 45 days or so. After a few hours of debugging we’ve come to the conclusion that there is a new liquid race condition with the “Order” Object.
This is a new condition which I believe has to do with optimizations done for the Winter '25 editions where checkout speeds were significantly increased, and what was previously a low rate of race condition errors is now the opposite and a high rate of race condition errors.
TL;DR: There could be a race condition with this liquid option as well.
What is the best solution here? Does Shopify’s Customer Events with custom pixels take these platform limitation into consideration, and not fire the events until all liquid objects are ready?
Or should we build a Javascript API that pings a Shopify app endpoint every 1 second or so until this data becomes available, and then fires a wrapped assortment of Javascript pixels on the Thank You / Order Status page?
Our plan is to move everything we can to customer events, but some pixels / embed such as this Google Survey opt-in has issues in a sandbox as it creates a prompt for the user to Opt-In to the survey.
Thoughts?