Infraestructura de la lista de clasificación para acciones de marketing
La infraestructura de la lista de clasificación para acciones de marketing permite realizar un seguimiento de las acciones del cliente en el escaparate. Por ejemplo, de forma predeterminada, HCL Commerce realiza un seguimiento del número de veces que se compran los productos y las categorías que se visualizan.
Plantillas de actividad
- Mostrar los más vendidos
- Mostrar los más visitados
- Mostrar productos vistos recientemente
- Mostrar categorías vistas recientemente
Para obtener más información, consulte Creación de una actividad web.
Mandatos de tarea de elementos de campaña y parámetros de plantilla
Cada desencadenante, destino y acción tiene un mandato de tarea asociado denominado mandato de tarea de elemento de campaña. El mandato de tarea realiza el trabajo asociado al elemento de campaña. La definición de plantilla de elemento de campaña debe especificar el mandato de tarea a utilizar.
El método validateParameters valida los parámetros del elemento de campaña cuando se activa la actividad de marketing. Valida que el usuario de empresa ha establecido todos los pares nombre-valor necesarios en la interfaz de usuario y puede devolver mensajes de error al usuario de empresa. Puede utilizar otros métodos en el método validateParameters para ayudar a validar el elemento de campaña, por ejemplo, validateCategory o validateProduct.
Por ejemplo, si amplía DisplayProductRankingActionTaskCmdImpl, se invoca el método validateCategory de DisplayProductRankingActionTaskCmdImpl.validateParameters para comprobar que objectGroupId es una categoría válida.
Para obtener más información, consulte Mandatos de tarea de elementos de campaña.
- repeatSchedule
- Indica que el elemento de campaña debe procesarse mediante el trabajo planificado SendMarketingTriggers. El método forwardTriggersForProcessing se invocará en el mandato de tarea de elementos de campaña. El valor
runDailyestablece que el procesamiento debe tener lugar cada día. Un valor derunOnceestablece que el procesamiento debe tener lugar la primera vez que se ejecuta el trabajo planificado SendMarketingTriggers después de que la actividad pase a ser activa y que la hora actual sea posterior a la fecha de inicio de la actividad. - rankingBasedOnOrders
- Indica que este elemento de campaña es para una lista de más vendidos, y que los datos del elemento de campaña deben utilizares cuando se ha realizado un pedido para crear las entradas apropiadas en la tabla de base de datos DMRANKINGSTAT.
Para obtener más información, consulte Parámetros de plantilla de elementos de campaña.
Nuevas acciones enviadas conManagement Center
A continuación se indican las acciones entregadas con el Management Center para dar soporte a la infraestructura de lista de clasificación para las acciones de marketing:| Nombre de acción en Management Center | Nombre de plantilla de elemento de campaña | Mandato de tarea de elemento de campaña | Nombre de mandato de coincidencia en la regla de comportamiento |
|---|---|---|---|
| Mostrar los más vendidos | ranking_MostSold | DisplayProductRankingActionTaskCmd | ninguna |
| Mostrar los más visitados | ranking_MostBrowsed | DisplayProductRankingActionTaskCmd | ProductDisplay |
Para obtener más información, consulte Lista de plantillas de elementos de campaña y mandatos de tarea proporcionados.
Políticas de negocio y listas de clasificación
Tanto la acción Los más vendidos como la acción Los más visitados utilizan una política de negocio que evalúa las estadísticas recopiladas y genera las listas de clasificación. También es posible personalizar y crear una nueva lista de clasificación para otros proyectos de negocio, los 10 términos de búsqueda más buscados. Una opción es que la personalización llene la tabla DMRANKINGSTAT con las estadísticas apropiadas de los sucesos de búsqueda y utilice la política de clasificación proporcionada para evaluar las estadísticas. No obstante, si la política de clasificación proporcionada no puede aplicarse al escenario de personalización, puede crearse una política de negocio personalizada o las políticas proporcionadas pueden configurarse con otros parámetros.
Se utiliza una política de negocio para definir cómo generar clasificaciones. Un tipo de clasificación se relaciona con una política de clasificación que contiene dos mandatos BusinessPolicyCommands. Un mandato es para limpiar y resumir los datos de estadísticas de clasificación. El objetivo de este mandato es eliminar los datos obsoletos que ya no son necesarios y resumir los datos en menos de dos filas de base de datos, ayudando a controlar el tamaño de la tabla de estadísticas DMRANKINGSTAT, El mandato cleanup debe implementar la interfaz CleanupRankingPolicyCmd. El otro mandato es para evaluar los datos estadísticos y generar la lista de clasificación. El objetivo de este mandato es analizarlas estadísticas existentes e completar la tabla de base de datos DMRANKINGITEM. El mandato generate debe implementar la interfaz GenerateRankingPolicyCmd.
Cada plantilla de elementos de campaña de clasificación debe definir qué política utiliza en el argumento policyId en la definición de implementación de la plantilla de elementos de campaña.
- Desarrolle un mandato de política de generación de una clasificación.El proceso sobre cómo generar una lista de clasificación se implementa como mandato BusinessPolicyCommand. El mandato de política de negocio debe ampliar la clase AbstractGenerateRankingPolicyCommandImpl que implementa la interfaz GenerateRankingPolicyCommand. Deben proporcionarse estos métodos:
- preGenerate()
- Configura los parámetros del mandato.
- generate()
- Genera la lista de clasificación.
- postGenerate()
- Ajusta la lista de clasificación generada.

- Desarrolle un mandato de política de limpieza de datos de clasificación.El proceso sobre cómo limpiar las estadísticas de clasificación se implementa como un mandato BusinessPolicyCommand. El mandato de política de negocio debe ampliar la clase AbstractCleanupRankingPolicyCommandImpl que implementa la interfaz CleanupRankingPolicyCommand. Deben proporcionarse estos métodos:
- cleanup()
- Limpia los datos obsoletos y resume los datos existentes para reducir el número de entradas de la tabla de estadísticas.

- Registre la política de clasificación.La nueva política de negocio debe ser de tipo
Ranking. El parámetro para cada política se define enpropertiescomo lista de pares nombre-valor separados por un símbolo ampersand&. El código siguiente muestra un ejemplo de definición de una política:
Los mandatos generate y cleanup también deben configurarse. El código siguiente muestra un ejemplo de definición de mandato de política:<policy policy_id="10001" policyname="SalesRankingPolicy" policytype_id="Ranking" storeent_id="10010" properties="ObjectType=0" /><policycmd policy_id="10001" businesscmdclass="MyGenerateRankingPolicyCmdImpl" /> <policycmd policy_id="10001" businesscmdclass="MyCleanupRankingPolicyCmdImpl" />
- Utilice los servicios de marketing para detectar si se accede al objeto o se visita. Esta detección se realiza definiendo la regla de comportamiento apropiada para el nuevo elemento de campaña. Para obtener más información, consulte Definición de norma de comportamiento.
- Utilice los servicios de marketing para registrar las estadísticas. Esto se logra colocando el policyId apropiado en los parámetros de elementos de campaña:
Los parámetros de política definen un nuevo ObjectType para el nuevo tipo de objeto de negocio que se clasifica:<Argument name="policyId" value="XXX"/>
Donde 0= más vendidos y 1= más visitados.properties="ObjectType=X" - Por lo general, utilice los mandatos de política existentes:
- CleanupProductRankingPolicyCmdImpl
- GenerateProductRankingPolicyCmdImpl
Mostrar los recuentos totales en listas de clasificación
${marketingSpotData.properties['amount']}
Mostrar actualizaciones para los más vendidos
Cuando se crean actividades web que incluyen los más vendidos, se analizan los datos de pedido y la lista de los más vendidos se actualiza una vez al día, donde la hora de actualización se puede configurar en el archivo wc-admin-component.xml:
<_config:property name="dailyScheduledJobTimeForTriggers" value="hh:mm"/>
- hh = dos dígitos que representan la hora (00 - 23)
- mm = dos dígitos que representan los minutos (00 - 59)
A la hora configurada, la lista de los más vendidos se actualiza para las categorías especificadas en cualquier acción que afecte a los artículos más vendidos para todas las actividades activas en ese momento. Este valor se debe configurar en las horas de menor actividad del sitio.
Estrategia de almacenamiento en caché para los más vendidos
Dado que la lista de los más vendidos sólo se actualiza una vez al día, es muy recomendable que el fragmento de código del archivo JSP de la zona de e-Marketing que muestra la lista de los más vendidos se almacene en la memoria caché utilizando el almacenamiento dinámico en memoria caché.
Por ejemplo, un ID de dependencia, RankingEMarketingSpot se emite cuando se llama al mandato InvalidateRankingServletCmdImpl. Este ID hace que el archivo JSP se renueve cuando se actualiza la lista. El mandato invalidate se invoca una vez al día, después de que se actualicen las listas de los más vendidos:
<cache-entry>
<class>servlet</class>
<name>/Madisons/Snippets/Marketing/RightSidebarRankingESpotDisplay.jsp</name>
<property name="do-not-consume">true</property>
<property name="save-attributes">false</property>
<cache-id>
<component id="emsName" type="parameter">
<required>true</required>
</component>
<component id="categoryId" type="parameter">
<required>true</required>
</component>
<component id="DC_storeId" type="attribute">
<required>true</required>
</component>
<component id="catalogId" type="parameter">
<required>true</required>
</component>
<component id="categoryId" type="parameter">
<required>true</required>
</component>
<component id="pageView" type="parameter">
<required>false</required>
</component>
<component id="currentPage" type="parameter">
<required>false</required>
</component>
<component id="DC_lang" type="attribute">
<required>true</required>
</component>
<component id="DC_curr" type="attribute">
<required>true</required>
</component>
<component id="DC_cont" type="attribute">
<required>true</required>
</component>
<component id="DC_mg" type="attribute">
<required>true</required>
</component>
</cache-id>
<dependency-id>RankingEMarketingSpot</dependency-id>
<dependency-id>dialogMarketingJsp</dependency-id>
</cache-entry>
<cache-entry>
<class>command</class>
<name>com.ibm.commerce.marketing.commands.ranking.InvalidateRankingServletCmdImpl</name>
<invalidation>RankingEMarketingSpot</invalidation>
</cache-entry>
Para obtener más información, consulte Almacenamiento en memoria caché dinámica.
Clasificaciones de sitios ampliados
Si una actividad que contiene la acción de los más vendidos se define en una tienda con elementos de escaparate, se crea una lista distinta de los más vendidos para cada tienda de sitio ampliado que haga referencia a la tienda con elementos de escaparate. Es decir, la lista de los más vendidos de cada escaparate contiene los datos de pedido que corresponden al escaparate para compilar las clasificaciones.
Configuración de clasificaciones de los más vendidos
<component compClassName="com.ibm.commerce.marketingcenter.events.runtime.ExperimentEvaluationECEventListenerImpl"
enable="true" name="Experiment Evaluation Event Listener">
<property display="false">
<start enabled="true"/>
</property>
</component>
Para crear la lista de los más vendidos, las estadísticas de los sucesos se registran en la tabla de base de datos DMRANKINGSTAT. Estos sucesos se registran primero en memoria y luego se mantienen en una inserción de lote para lograr un rendimiento óptimo. El tamaño de los datos que se registran en memoria se controla mediante el parámetro userBehaviorBatchUpdateCacheSize del archivo wc-admin-component.xml.
Para obtener más información, consulte Archivo de configuración del componente de promociones (wc-admin-component.xml).
- DMRANKINGSTAT
- Esta tabla almacena la información recopilada que se utiliza para generar una lista de clasificación. Por ejemplo, cuando se compra o visita un producto relevante, los datos se registran en esta tabla.
- DMRANKINGITEM
- Esta tabla almacena la información de clasificación calculada. Por ejemplo, los 10 productos más vendidos de una categoría o los 5 productos más visitados de una categoría. Cada elemento de la clasificación de un grupo de clasificación contiene una secuencia.
Configuración de clasificaciones de los más visitados
Las listas de clasificación de los más visitados muestran los productos más visitados de una categoría.
<component compClassName="com.ibm.commerce.marketing.dialog.trigger.SensorEventListener"
enable="true" name="SensorEventListener">
<property display="false">
<start enabled="true"/>
</property>
</component>