# Frontend

- [Session API](/techdocs/apis/frontend/implementation-guide-session-api.md)
- [Terminology](/techdocs/apis/frontend/implementation-guide-session-api/session-api-terminology.md)
- [Setting up](/techdocs/apis/frontend/implementation-guide-session-api/spa-basics-setting-up.md)
- [Managing Sessions](/techdocs/apis/frontend/implementation-guide-session-api/spa-basics-managing-sessions.md)
- [Handling Placements](/techdocs/apis/frontend/implementation-guide-session-api/handling-placements.md)
- [Tracking Events](/techdocs/apis/frontend/implementation-guide-session-api/spa-basics-tracking-events.md)
- [Leveraging Features](/techdocs/apis/frontend/implementation-guide-session-api/spa-basics-leveraging-features.md)
- [Record Attribution](/techdocs/apis/frontend/implementation-guide-session-api/record-attributions.md)
- [Advanced Usage](/techdocs/apis/frontend/implementation-guide-session-api/advanced-usage.md)
- [Supporting opt-out and do-not-track](/techdocs/apis/frontend/implementation-guide-session-api/advanced-usage/spa-out-out-of-session-tracking.md)
- [Using external session identifiers](/techdocs/apis/frontend/implementation-guide-session-api/advanced-usage/spa-customizing-session-handling.md)
- [Adding support for multi-currency](/techdocs/apis/frontend/implementation-guide-session-api/advanced-usage/spa-adding-support-for-multi-currency.md)
- [Adding support for customer group pricing](/techdocs/apis/frontend/implementation-guide-session-api/advanced-usage/spa-adding-support-for-customer-group-pricing.md)
- [FAQ](/techdocs/apis/frontend/implementation-guide-session-api/spa-faq.md)
- [JS API](/techdocs/apis/frontend/js-apis.md)
- [Initializing Nosto](/techdocs/apis/frontend/js-apis/initializing-nosto.md)
- [Recommendations](/techdocs/apis/frontend/js-apis/recommendations.md)
- [Loading Recommendations](/techdocs/apis/frontend/js-apis/recommendations/loading-recommendations.md)
- [Recommendation Callbacks](/techdocs/apis/frontend/js-apis/recommendations/recommendation-callbacks.md)
- [Setting up dynamic filtering](/techdocs/apis/frontend/js-apis/recommendations/setting-up-dynamic-filtering.md)
- [Sending Product-View Events](/techdocs/apis/frontend/js-apis/recommendations/sending-product-view-events.md)
- [Sending Add to Cart-Events](/techdocs/apis/frontend/js-apis/recommendations/sending-add-to-cart-events.md)
- [Popups](/techdocs/apis/frontend/js-apis/popups.md)
- [Listing Popup Campaigns](/techdocs/apis/frontend/js-apis/popups/listing-popup-campaigns.md)
- [Opening a Popup](/techdocs/apis/frontend/js-apis/popups/opening-a-popup.md)
- [Enabling & Disabling Popups](/techdocs/apis/frontend/js-apis/popups/enabling-and-disabling-popups.md)
- [Popup Callbacks](/techdocs/apis/frontend/js-apis/popups/popup-callbacks.md)
- [Advanced Usage](/techdocs/apis/frontend/js-apis/common-examples.md)
- [Sending email addresses to Nosto](/techdocs/apis/frontend/js-apis/common-examples/sending-email-addresses-to-nosto.md)
- [Manually segmenting users](/techdocs/apis/frontend/js-apis/common-examples/manually-segmenting-users.md)
- [Dynamically sending the cart content](/techdocs/apis/frontend/js-apis/common-examples/dynamically-sending-the-cart-content.md): If you're on a site where the cart content is not accessible when the page is rendered, you might need to fetch the cart content over AJAX/CORS and send that information to Nosto.
- [Sending Customer Information](/techdocs/apis/frontend/js-apis/common-examples/sending-customer-information.md)
- [Record Attribution](/techdocs/apis/frontend/js-apis/record-attribution.md)
- [Open Source](/techdocs/apis/frontend/oss.md)
- [Nosto JS](/techdocs/apis/frontend/oss/nosto-js.md)
- [Search JS](/techdocs/apis/frontend/oss/search-js.md)
- [Nosto React](/techdocs/apis/frontend/oss/react-support.md)
- [Web Components](/techdocs/apis/frontend/oss/web-components.md)
- [Loading Web components](/techdocs/apis/frontend/oss/web-components/loading-web-components.md)
- [Shopify Integration](/techdocs/apis/frontend/oss/web-components/shopify-integration.md)
