[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

Händelsekonfiguration som visas på sidan och anpassad kod

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

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.

Sida-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.

Sidsö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.

Sidtitel

Felsökning

Varför skjuter inte mina lådor på mina webbsidor?

Målcookie-domänfel

> 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'
};

Nästa steg

Stödlänkar

recommendation-more-help
bb44cebf-d964-4e3c-b64e-ce882243fe4d