# Froomle Frontend SDK > Current Froomle documentation · [Full documentation index](https://docs.froomle.com/llms.txt) Browser SDK setup, recommendation rendering, and event attribution. - [Email Campaign Recommendation Attribution with the SDK](https://docs.froomle.com/froomle-doc-main/v2/js_lib/email-campaign-attribution.md) ([HTML](https://docs.froomle.com/froomle-doc-main/v2/js_lib/email-campaign-attribution.html)) — Email campaign recommendation attribution lets the browser SDK send a batch_click_on_recommendation event when a user clicks a recommendation in an email campaign and lands on a… - [Programmatic Pagination with the SDK](https://docs.froomle.com/froomle-doc-main/v2/js_lib/programmatic-pagination.md) ([HTML](https://docs.froomle.com/froomle-doc-main/v2/js_lib/programmatic-pagination.html)) — Use pagination when your application renders a ranked recommendation list or a SmartSort result in pages. Request the full ranking with list_size and return only the first page… - [SDK](https://docs.froomle.com/froomle-doc-main/v2/js_lib/jslib.md) ([HTML](https://docs.froomle.com/froomle-doc-main/v2/js_lib/jslib.html)) - [Smart Sorting and Reranking with the SDK](https://docs.froomle.com/froomle-doc-main/v2/js_lib/smart-sorting-reranking.md) ([HTML](https://docs.froomle.com/froomle-doc-main/v2/js_lib/smart-sorting-reranking.html)) — Smart sorting lets you pass an existing candidate set, such as search results or an editorial list, and ask Froomle to return those candidates in personalized order. The SDK uses…