Weergavegebeurtenissen beheren in de Web SDK
De gebeurtenissen van de vertoning vertellen verpersoonlijking of analysediensten dat een specifiek stuk van gepersonaliseerde inhoud aan de gebruiker werd getoond. Het verzenden van vertoningsgebeurtenissen verbetert rapporteringsnauwkeurigheid door stroomafwaartse systemen te helpen tussen inhoud onderscheiden die en inhoud werd gevraagd die eigenlijk werd getoond.
Weergavegebeurtenissen automatisch verzenden
Automatische weergavegebeurtenissen zijn doorgaans de eenvoudigste optie. Ze worden direct verzonden nadat Web SDK klaar is met het renderen van in aanmerking komende inhoud uit het sendEvent -antwoord, waardoor de rapportnauwkeurigheid kan worden verbeterd.
Als u weergavegebeurtenissen automatisch wilt verzenden, gebruikt u een sendEvent -aanroep die renderDecisions op true instelt en personalization.sendDisplayEvent op true instelt (of weglaat, aangezien true de standaardwaarde is):
alloy("sendEvent", {
renderDecisions: true,
personalization: { }, // sendDisplayEvent defaults to true
xdm: {
web: {
webPageDetails: {
name: "home"
}
}
}
});
applyPropositions te gebruiken), moet u weergavegebeurtenissen expliciet verzenden met sendEvent .Weergavegebeurtenissen verzenden in volgende sendEvent oproepen
Het opnemen van weergavegebeurtenissen in een latere aanroep van sendEvent is handig als u extra laadgegevens voor de pagina wilt toevoegen die niet beschikbaar zijn wanneer u om personalisatie vraagt. Het wordt algemeen gebruikt wanneer het uitvoeren van Hoogste en bodempaginagebeurtenissen . Correct het uitvoeren van vertoningsgebeurtenissen op deze manier helpt kwesties met Stuiteren tarief in Adobe Analytics vermijden.
-
Vraag bij de eerste
sendEvent-aanroep (vaak boven aan de pagina) inhoud aan en geef deze weer, maar onderdruk automatische weergavegebeurtenissen doorrenderDecisionsin te stellen optrueenpersonalization.sendDisplayEventopfalse:code language-js alloy("sendEvent", { renderDecisions: true, personalization: { sendDisplayEvent: false }, xdm: { web: { webPageDetails: { name: "home" } } } }); -
Later (vaak onder aan de pagina) roept u
sendEventaan met een XDM-lading die weergavegebeurtenissen bevat voor voorstellingen die sinds de vorige aanvraag zijn gerenderd doorpersonalization.includeRenderedPropositionsin te stellen optrue:code language-js alloy("sendEvent", { personalization: { includeRenderedPropositions: true }, xdm: { // Add any additional page load telemetry you want to send here web: { webPageDetails: { name: "home" } } } });
includeRenderedPropositions gebruikt.Weergavegebeurtenissen verzenden voor handmatig gerenderde profielen
Als u inhoud zelf rendert (volledig handmatig renderen of met applyPropositions ), moet u weergavegebeurtenissen expliciet verzenden met de opdracht sendEvent . Roep sendEvent aan met een XDM-lading die de volgende eigenschappen bevat:
_experience.decisioning.propositionsmet de gerenderde voorstellingen'id,scopeenscopeDetails_experience.decisioning.propositionEventType.displayingesteld op1
In de volgende twee voorbeelden wordt deze hulpfunctie gebruikt om de weergavegebeurtenis XDM payload te bouwen:
function buildDisplayEventXdm(renderedPropositions) {
return {
eventType: "decisioning.propositionDisplay",
_experience: {
decisioning: {
propositions: renderedPropositions.map(({ id, scope, scopeDetails }) => ({
id,
scope,
scopeDetails
})),
propositionEventType: { display: 1 }
}
}
};
}
In het volgende voorbeeld wordt handmatig renderen met weergavegebeurtenissen gebruikt:
function renderExample(propositions) {
// Your custom logic here. Return ONLY the propositions that were actually rendered.
// For example: return [propositions[0]];
return [];
}
alloy("sendEvent", {
personalization: { decisionScopes: ["discount"] },
xdm: { }
}).then(({ propositions = [] }) => {
const renderedPropositions = renderExample(propositions);
if (!renderedPropositions.length) { return; }
return alloy("sendEvent", { xdm: buildDisplayEventXdm(renderedPropositions) });
});
In het volgende voorbeeld wordt de opdracht applyPropositions gebruikt met weergavegebeurtenissen. sendEvent, applyPropositions en een ander sendEvent worden samen geketend:
alloy("sendEvent", {
personalization: { decisionScopes: ["discount", "salutation"] },
xdm: { }
}).then(({ propositions = [] }) => {
return alloy("applyPropositions", {
propositions,
metadata: {
salutation: { selector: "#salutation", actionType: "setHtml" },
discount: { selector: "#daily-special", actionType: "replaceHtml" }
}
});
}).then(({ propositions: renderedPropositions = [] }) => {
if (!renderedPropositions.length) { return; }
return alloy("sendEvent", { xdm: buildDisplayEventXdm(renderedPropositions) });
});
Gemeenschappelijke fouten om te vermijden
- verzend vertoningsgebeurtenissen alvorens terug te geven eindigt: verzend vertoningsgebeurtenissen nadat auto-teruggeeft voltooit, nadat
applyPropositions, of nadat uw hand het teruggeven logica voltooit. - verzendt vertoningsgebeurtenissen voor voorstellen die u niet teruggaf: Slechts omvat voorstellen die eigenlijk aan de gebruiker werden getoond.
- Vervallen
scopeDetails: neemscopeDetailsop van het propositieobject wanneer u weergavegebeurtenissen verzendt.