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 utilises for example an add-on which prevents script’s expected functionality.
A most common known incompatibility issue is with 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 plug-in’s functionality. The mmenu add-on wraps the page content and returns it back on the site after 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 does your site use 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 s 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.