Nosto’s embed script can also be loaded directly from Nosto, instead of using the regular embed script to load. This is technically mandatory, if a site utilizes for example an add-on which prevents the script’s expected functionality.
MMenu add-on
A most common known incompatibility issue is with the popular jQuery mmenu add-on. The add-on is used by many sites, platforms and themes, typically to produce impressive mobile-menus in responsive design. Technically the error is caused by the plug-in’s functionality. The mmenu add-on wraps the page content and returns it back on the site after the DOM event is ready, consequently preventing Nosto’s script from loading. Consequently this prevents Nosto to work normally on a site. In case you’re unaware whether your site uses mmenu, the add-on is relatively easy to spot by opening up a browser console and by searching for “mmenu”.
How To Solve The Issue
A simple fix to mmenu and similar issues is to initialize Nosto by including the script directly from Nosto. By default we advise you to include the whole script to your page templates following the tagging guide here. Instead of this, in case you’re using a plug-in such as mmenu, include script from Nosto by replacing the full Nosto embed script as below, which will load the script directly from Nosto to your site.
<script src="//connect.nosto.com/include/[[account id]]" async></script>
Replace the [[account id]] with your Nosto accountID and remove the squared brackets. If Nosto debugger loads normally on every page load after these steps, you’ve fixed the issue.