On your **ajax add to cart success function** you need to add following lines //Display error if found after jquery var messages = $.cookieStorage.get('mage-messages'); if (!_.isEmpty(messages)) { customerData.set('messages', {messages: messages}); $.cookieStorage.set('mage-messages', ''); } I was facing almost same issue and fixed by this small script And to move notification messages top of the page, please follow this link, this will help you move messages anywhere in your code > https://magento.stackexchange.com/questions/177528/magento-2-change-message-location