[Integración]{class="badge positive"}
Carga y activación de una llamada de Target load-fire-target
[AEM Sites as a Cloud Service, AEM Sites 6.5]{class="badge informative"}
Obtenga información sobre cómo cargar, pasar parámetros a una solicitud de página y activar una llamada de Target desde la página del sitio mediante una regla de etiquetas. La información de la página web se recupera y pasa como parámetros mediante la capa de datos del cliente de Adobe, que permite recopilar y almacenar datos sobre la experiencia de los visitantes en una página web y, a continuación, facilitar el acceso a estos datos.
Regla de carga de página
La capa de datos del cliente de Adobe es una capa de datos impulsada por evento. AEM Cuando se carga la capa de datos de la página de datos de la página de la, se déclencheur un evento cmp:show
En el vídeo, la regla tags Library Loaded
se invoca mediante un evento personalizado. A continuación, se pueden encontrar los fragmentos de código utilizados en el vídeo para el evento personalizado y para los elementos de datos.
Evento personalizado de página mostrada page-event
En la propiedad de etiquetas, agregue un nuevo Evento a la Regla
- Extensión: Core
- Tipo de evento: Código personalizado
- Nombre: controlador de eventos de muestra de página (o algo descriptivo)
Pulse el botón Abrir editor y pegue el siguiente fragmento de código. Este código debe agregarse a la Configuración de evento y a una Acción posterior.
// 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);
});
AEM Una función personalizada define pageShownEventHandler
y escucha los eventos emitidos por los componentes principales, deriva la información relevante del componente principal, lo empaqueta en un objeto de evento y déclencheur el evento con la información de evento derivada en su carga útil.
La regla de etiquetas se activa usando la función trigger(...)
de las etiquetas, que es solo disponible dentro de la definición de fragmento de código personalizado de un evento de regla.
La función trigger(...)
toma un objeto de evento como parámetro que, a su vez, se expone en elementos de datos de etiquetas con otro nombre reservado en etiquetas denominadas event
. Los elementos de datos de las etiquetas ahora pueden hacer referencia a los datos de este objeto de evento del objeto event
mediante sintaxis como event.component['someKey']
.
Si se usa trigger(...)
fuera del contexto del tipo de evento Custom Code de un evento (por ejemplo, en una acción), se generará el error de JavaScript trigger is undefined
en el sitio web integrado con la propiedad tags.
Elementos de datos
Los elementos de datos de etiquetas asignan los datos del objeto de evento activado en el evento personalizado Página mostrada a las variables disponibles en Adobe Target, a través del tipo de elemento de datos de código personalizado de la extensión principal.
Elemento de datos de ID de página
if (event && event.id) {
return event.id;
}
Este código devuelve el ID único generado del componente principal.
Elemento de datos de ruta de página
if (event && event.component && event.component.hasOwnProperty('repo:path')) {
return event.component['repo:path'];
}
AEM Este código devuelve la ruta de acceso de la página de la.
Elemento de datos Page Title
if (event && event.component && event.component.hasOwnProperty('dc:title')) {
return event.component['dc:title'];
}
AEM Este código devuelve el título de la página de la.
Resolución de problemas
¿Por qué no se activan los mboxes en mis páginas web?
Mensaje de error cuando no se establece la cookie mboxDisable
> 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.
Solución
Los clientes de utilizan en ocasiones instancias basadas en la nube con Target para realizar pruebas o simplemente exponer conceptos. Estos dominios, y muchos otros, son parte de la Lista pública de sufijos .
Los exploradores modernos no guardarán las cookies si utiliza estos dominios a menos que personalice la configuración de cookieDomain
mediante targetGlobalSettings()
.
window.targetGlobalSettings = {
cookieDomain: 'your-domain' //set the cookie directly on this subdomain, for example: 'publish-p1234-e5678.adobeaemcloud.com'
};