Due to the restrictions on the information available in Shopify's checkout, there are several challenges to consider, including multiple customers with the same name, merchants that provide dropshipping, as well as even the use of the express checkouts (ie. Shop Pay).


This is even more of an issue based on the new (currently beta-access Shopify Plus B2B) in which they don't even provide the name/email, so we don't have the means to lookup the customer data.


We do have a working solution available to work with the limitations within the B2B beta going forward, or even general customers using customer tags. Our fix for this is to pass the Shopify customer.id as a product property using the key _intuitive_cid:There are different ways to do this, but here is one example

Code snippet:
<input type="hidden" name="properties[_intuitive_cid]" value="{{ customer.id }}">

This needs to be added to the product page ‘add to cart’ form. On our development store this is under the Sections/main-product.liquid, so it may be the same for the you.

This requires that customers are logged in for the customer id to pass, but since this is for Shopify B2B, login is required in order to enter the site anyways. For those not using the Plus B2B, though, you will need to instruct them that a login is an absolute requirement for this to work.

As an example: