As a general guideline, tagging needs to present in the Html-markup of product pages.
Using a tag manager (or scripting) to create the tagging segment on product pages will leave values in the tagging empty when a re-crawler bot indexes product pages as bots won’t execute scripts which tag managers are based on. Consequently implementation done using a tag manager will fail as Nosto can’t index any product data from the site.
Albeit tag managers ease implementations and management of 3rd party services, due to the technical limitations Nosto implementation using one is not supported. In addition, Google Tag Manager according to Google is not intended for services that are associated with in-page structure, which Nosto essentially is.
Administrators using a tag manager due to performance and security reasons, read more about Nosto’s asynchronous script loading here.
Exceptions: Embed Script & Session API
Technically adding just the embed script using a tag manager would work, yet in this case the site itself is not controlling anymore when and in which order scripts are executed, hence Nosto can’t guarantee that the implementation would work.
Nosto loads visible elements on to the site as a part of the in-page structure, meaning that it’s also in your interest to load Nosto’s script as soon as possible. A tag manager increases the amount of required script loads with the one loading content from tag manager service, consequently slowing down slightly the load time of Nosto’s recommendation elements.
In worst case scenario, if a tag manager service is unavailable or temporarily replying slowly, it will also disable Nosto entirely from the site.
In addition, since the tagging segment needs to be present in the Html structure in any case, using a tag manager to populate just the embed script might not be rational.
Nosto Session API:
Following the implementation method using Nosto's Session API which creates user sessions and tracks their events to eventually serve campaigns allows developers to combine it with GTM.