[Integrering]{class="badge positive"}
Läsa in och utlösa ett Target-anrop load-fire-target
[AEM Sites as a Cloud Service, AEM Sites 6.5]{class="badge informative"}
Lär dig hur du läser in, skickar parametrar till sidbegäran och startar ett Target-anrop från din webbplatssida med hjälp av en taggregel. Webbsidesinformation hämtas och skickas som parametrar med hjälp av Adobe klientdatalager, som du kan använda för att samla in och lagra data om besökarnas upplevelse på en webbsida och sedan göra det enkelt att komma åt dessa data.
Inläsningsregel för sida
Adobe Client Data Layer är ett händelsestyrt datalager. När AEM siddatalager läses in utlöses en händelse cmp:show
. I videon anropas regeln tags Library Loaded
med en anpassad händelse. Nedan hittar du de kodfragment som används i videon för den anpassade händelsen och för dataelementen.
Egen sidvisningshändelse page-event
Lägg till en ny Event i Rule i taggegenskapen
- Tillägg: Core
- Händelsetyp: Anpassad kod
- Namn: Händelsehanterare för sidvisning (eller något beskrivande)
Tryck på knappen Öppna redigeraren och klistra in följande kodfragment. Koden måste läggas till i händelsekonfigurationen och en efterföljande åtgärd.
// Define the event handler function
var pageShownEventHandler = function(coreComponentEvent) {
// Check to ensure event trigger via AEM Core Components is shaped correctly
if (coreComponentEvent.hasOwnProperty("eventInfo") &&
coreComponentEvent.eventInfo.hasOwnProperty("path")) {
// Debug the AEM Component path the show event is associated with
console.debug("cmp:show event: " + coreComponentEvent.eventInfo.path);
// Create the tags Event object
var launchEvent = {
// Include the ID of the AEM Component that triggered the event
id: coreComponentEvent.eventInfo.path,
// Get the state of the AEM Component that triggered the event
component: window.adobeDataLayer.getState(coreComponentEvent.eventInfo.path)
};
// Trigger the tags Rule, passing in the new `event` object
// the `event` obj can now be referenced by the reserved name `event` by other tags data elements
// i.e `event.component['someKey']`
trigger(launchEvent);
}
}
// With the AEM Core Component event handler, that proxies the event and relevant information to Data Collection, defined above...
// Initialize the adobeDataLayer global object in a safe way
window.adobeDataLayer = window.adobeDataLayer || [];
// Push the event custom listener onto the Adobe Data Layer
window.adobeDataLayer.push(function (dataLayer) {
// Add event listener for the `cmp:show` event, and the custom `pageShownEventHandler` function as the callback
dataLayer.addEventListener("cmp:show", pageShownEventHandler);
});
En anpassad funktion definierar pageShownEventHandler
och lyssnar efter händelser som skickas av AEM Core Components, hämtar relevant information från Core Component, paketerar den i ett händelseobjekt och utlöser taggen Event med den härledda händelseinformationen vid dess nyttolast.
Taggregeln aktiveras med hjälp av taggarnas trigger(...)
-funktion, som endast är tillgänglig inifrån händelsekodfragmentsdefinitionen för en regel.
Funktionen trigger(...)
tar ett händelseobjekt som en parameter som i sin tur visas i taggar som dataelement, med ett annat reserverat namn i taggar som heter event
. Dataelement i taggar kan nu referera till data från det här händelseobjektet från objektet event
med syntax som event.component['someKey']
.
Om trigger(...)
används utanför kontexten för händelsetypen Custom Code (till exempel i en åtgärd) genereras JavaScript-felet trigger is undefined
på den webbplats som är integrerad med taggegenskapen.
Dataelement
Taggar dataelement mappar data från händelseobjektet som utlöses i den anpassade sidvisningshändelsen till variabler som är tillgängliga i Adobe Target, via Core-tilläggets Elementtyp för anpassade koddata.
Dataelement för sid-ID
if (event && event.id) {
return event.id;
}
Den här koden returnerar Core-komponentens genererade unika ID.
Dataelement för sidsökväg
if (event && event.component && event.component.hasOwnProperty('repo:path')) {
return event.component['repo:path'];
}
Den här koden returnerar AEM sökväg.
Dataelement för sidrubrik
if (event && event.component && event.component.hasOwnProperty('dc:title')) {
return event.component['dc:title'];
}
Den här koden returnerar AEM sidtitel.
Felsökning
Varför skjuter inte mina lådor på mina webbsidor?
Felmeddelande när mboxDisable cookie inte är inställd
> AT: [page-init] Adobe Target content delivery is disabled. Ensure that you can save cookies to your current domain, there is no "mboxDisable" cookie and there is no "mboxDisable" parameter in the query string.
Lösning
Målgrupper använder ibland molnbaserade instanser med Target för testning eller för enkla konceptbevis. Dessa domäner, och många andra, ingår i Public Suffix-listan .
Moderna webbläsare sparar inte cookies om du använder dessa domäner om du inte anpassar inställningen cookieDomain
med targetGlobalSettings()
.
window.targetGlobalSettings = {
cookieDomain: 'your-domain' //set the cookie directly on this subdomain, for example: 'publish-p1234-e5678.adobeaemcloud.com'
};