How They Work
For the cart labels, PN adds a hidden line item property field to the add to cart form containing the cart label. If the field is missing or its information doesn't get added to cart along with the product then no cart label will be present in the cart and order.
Diagnosing the Problem
To diagnose this problem, you need to:
Find all the ways shoppers can add products to cart on the site (not just the product page) and make sure our hidden line item property field is present.
Make sure our line item property is getting added to cart along with the product. Many custom JS add to cart scripts ignore hidden line item property fields.
Causes
Cart labels don't interact with our server so this wouldn't be server related.
There's many situations where this line item property won't get added to cart:
Is it an AJAX / JS add to cart function? (rather than an add to cart form submit) Many AJAX add to cart functions aren't coded to pick up hidden line item fields.
Are there other ways shoppers are adding products to cart? E.g., Pyramid Plastics has add to cart buttons on their homepages / collection pages. If our app isn't active on those add to cart buttons then the cart label won't be present and won't get added to cart. The same limitation as #1 also exists. If their homepage / collection page add to cart buttons use AJAX then their AJAX scripts might not pick up the hidden line item field even if it's present.
Was the product added to cart before pre-order was enabled? E.g., shopper adds item to cart then comes back two weeks later after pre-order was enabled and checks out.
Are they using any 3rd party upsell / related product apps (like upsell popups, post purchase upsells, etc) that add items to cart without going through a product page? Our hidden cart label field won't be present on those.
Are they using any sales channels that add products to a cart without going through the product page? (E.g., Facebook channel, etc)
Are shoppers clicking the add to cart button before our app is loaded on the page?
There may be more situations as well.
What to Tell Merchants
You need to let merchants know about these situations and help them identify which situation is the cause of the issue on their site.
The merchant then needs to decide what they want to do about it. For example:
do they want to disable collection page buttons if our app can't work with them?
can they ensure their upsell / related product offers don't include pre-order products?
do they want to prevent pre-order products from being purchased on other sales channels.