Parameterless Attribution
Last updated
Was this helpful?
Was this helpful?
api.defaultSession()
.setResponseMode("HTML")
.enableCampaignInjection()
.viewProduct(...)
.setPlacements(...)
.load() export class NostoRenderer extends HTMLElement {
async connectedCallback() {
const api = await new Promise(nostojs)
const placement = this.getAttribute("placement")
if (placement) {
const results = await api
.createRecommendationRequest({ includeTagging: true })
.setElements([placement])
.setResponseMode("JSON_ORIGINAL")
.load()
if (results.recommendations[placement]) {
const rec = results.recommendations[placement]
const container = document.getElementById(placement)
// TODO: Define your own method to render products
renderProductsToContainer(container, recommendation)
api.attributeProductClicksInCampaign(this, rec)
}
}
}
}
if (!customElements.get("nosto-renderer")) {
customElements.define("nosto-renderer", NostoRenderer)
}const placementId = "frontpage-nosto-1"
const response = await api
.createRecommendationRequest({ includeTagging: true })
.setResponseMode("JSON_ORIGINAL")
.setElements([placementId])
.load()
const recommendation = response.recommendations[placementId]
const container = document.getElementById(placementId)
if (recommendation && container) {
// TODO: Define your own method to render products
renderProductsToContainer(container, recommendation)
api.attributeProductClicksInCampaign(container, recommendation)
}