Infrastructure de la liste de classement des actions marketing
L'infrastructure de la liste de classement des actions marketing permet le suivi des actions des clients sur la boutique en ligne. Par exemple, par défaut, HCL Commerce suit la fréquence d'achat des produits et la fréquence de consultation des catégories.
Modèles d'activité
- Afficher les meilleures ventes
- Afficher les plus consultés sur le Web
- Afficher les produits visualisés récemment
- Afficher les catégories visualisées récemment
Pour plus d'informations, voir Création d'une activité Web.
Commandes de tâche d'élément de campagne et paramètres de modèle
Chaque déclencheur, cible et action comporte une commande de tâche associée dénommée commande de tâche d'élément de campagne. Cette commande de tâche effectue les travaux associés à l'élément de campagne. La définition du modèle d'élément de campagne doit spécifier la commande de tâche à utiliser.
La méthode validateParameters valide les paramètres de l'élément de campagne lorsque l'activité marketing est activée. Elle vérifie que le professionnel a bien défini toutes les paires nom-valeur requises pour l'élément de campagne dans l'interface utilisateur et peut éventuellement lui renvoyer des messages d'erreur. Vous pouvez utiliser d'autres méthodes dans la méthode validateParameters afin de faciliter la validation de l'élément de campagne (par exemple, validateCategory ou validateProduct).
Par exemple, si vous étendez DisplayProductRankingActionTaskCmdImpl, la méthode validateCategory dans DisplayProductRankingActionTaskCmdImpl.validateParameters est appelée pour vérifier que la catégorie objectGroupId est valide.
Pour plus d'informations, voir Commandes de tâche d'élément de campagne.
- repeatSchedule
- Indique que l'élément de campagne doit être traité par le travail planifié SendMarketingTriggers. La méthode forwardTriggersForProcessing est appelée sur la commande de tâche de l'élément de campagne. La valeur
runDailyconfigure un traitement quotidien. La valeurrunOncespécifie que le traitement ne doit être effectué que la première fois que le travail planifié SendMarketingTriggers est exécuté une fois que l'activité est devenue active et que la date de début de l'activité a été dépassée. - rankingBasedOnOrders
- Indique que cet élément de campagne est destiné à une liste des meilleures ventes et que les données de l'élément de campagne doivent être utilisées lorsqu'une commande a été passée pour créer les entrées appropriées dans la table de base de données DMRANKINGSTAT.
Pour plus d'informations, voir Paramètres de modèle d'élément de campagne.
Nouvelles actions fournies avec Management Center
Les actions suivantes sont fournies avec le Management Center pour prendre en charge l'infrastructure de liste de classement des actions marketing :| Nom de l'action dans Management Center | Nom du modèle d'élément de campagne | Commande de tâche de l'élément de campagne | Nom de commande à rechercher dans la règle de comportement |
|---|---|---|---|
| Afficher les meilleures ventes | ranking_MostSold | DisplayProductRankingActionTaskCmd | aucun |
| Afficher les plus consultés sur le Web | ranking_MostBrowsed | DisplayProductRankingActionTaskCmd | ProductDisplay |
Pour plus d'informations, voir Liste des commandes de tâche et des modèles d'élément de campagne fournis.
Stratégies métier et listes de classement
Les actions meilleures ventes et les plus consultés utilisent toutes deux une stratégie métier qui évalue les statistiques collectées et génère les listes de classement. Il est également possible de personnaliser et de créer une liste de classement pour d'autres objets métier ou pour les dix premiers termes de recherche. Une option consiste à ce que la personnalisation alimente la table DMRANKINGSTAT avec les statistiques appropriées des événements de recherche et utilise la stratégie de classement fournie pour évaluer ces statistiques. Toutefois, si la stratégie de classement fournie n'est pas applicable au scénario de personnalisation, une stratégie métier personnalisée peut être créée ou les stratégies fournies peuvent être configurées avec des paramètres différents.
Une règle métier permet de définir la manière de générer les classements. Un type de classement fait référence à une stratégie de classement qui contient deux commandes BusinessPolicyCommand. Une commande permet de nettoyer et de résumer les données des statistiques de classement. Cette commande a pour objectif de supprimer les données obsolètes qui ne sont plus nécessaires et de regrouper les données en un nombre moins important de lignes de base de données, afin de pouvoir plus facilement contrôler la taille de la table de statistiques DMRANKINGSTAT. La commande de nettoyage doit implémenter l'interface CleanupRankingPolicyCmd. L'autre commande permet d'évaluer les données statistiques et de générer la liste de classement. Cette commande a pour objectif d'analyser les statistiques existantes et d'alimenter la table de base de données DMRANKINGITEM. La commande de génération doit implémenter l'interface GenerateRankingPolicyCmd.
Chaque modèle d'élément de campagne de classement doit définir la règle qu'il utilise dans l'argument policyId de la définition d'implémentation de modèle d'élément de campagne.
- Développez une commande de stratégie de génération de classement.Le processus de génération d'une liste de classement est implémenté sous forme d'interface BusinessPolicyCommand. La commande de stratégie métier doit étendre la classe AbstractGenerateRankingPolicyCommandImpl qui implémente l'interface GenerateRankingPolicyCommand. Les méthodes suivantes doivent être fournies :
- preGenerate()
- Configure les paramètres de commande.
- generate()
- Génère la liste de classement.
- postGenerate()
- Ajuste la liste de classement générée.

- Développez une commande de stratégie de nettoyage des données de classement.Le processus de nettoyage de classement des statistiques est implémenté sous forme d'interface BusinessPolicyCommand. La commande de stratégie métier doit étendre la classe AbstractCleanupRankingPolicyCommandImpl qui implémente l'interface CleanupRankingPolicyCommand. Les méthodes suivantes doivent être fournies :
- cleanup()
- Nettoie les données obsolètes et récapitule les données existantes pour réduire le nombre d'entrées dans la table des statistiques.

- Enregistrez la stratégie de classement.La nouvelle règle métier doit être de type
Ranking. Le paramètre de chaque règle est défini danspropertiescomme liste de paires nom-valeur séparées par un symbole de perluète (&). Le code suivant est un exemple de définition de stratégie :
Les commandes de stratégie de génération et de nettoyage doivent également être configurées. Le code suivant est un exemple de définition de commande de stratégie :<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" />
- Utilisez les services marketing pour détecter si des utilisateurs accèdent à l'objet ou l'explorent. Pour cela, définissez la règle de comportement appropriée pour le nouvel élément de campagne. Pour plus d'informations, voir Définition de règle de comportement.
- Utilisez les services marketing pour enregistrer les statistiques. Pour cela, placez l'ID règle approprié dans les paramètres d'élément de campagne :
Les paramètres de stratégie définissent un nouvel élément ObjectType pour le nouveau type d'objet métier classé :<Argument name="policyId" value="XXX"/>
Où 0 = meilleures ventes et 1 = les plus consultés.properties="ObjectType=X" - Vous pouvez généralement utiliser les commandes de stratégie existantes :
- CleanupProductRankingPolicyCmdImpl
- GenerateProductRankingPolicyCmdImpl
Affichage des totaux dans les listes de classement
${marketingSpotData.properties['amount']}
Mises à jour quotidiennes des meilleures ventes
Lors de la création d'activités Web qui incluent les meilleures ventes, les données de commande sont analysées et la liste des meilleures ventes est mise à jour une fois par jour, l'heure de mise à jour étant configurable dans le fichier wc-admin-component.xml :
<_config:property name="dailyScheduledJobTimeForTriggers" value="hh:mm"/>
- hh = deux chiffres représentant l'heure (de 00 à 23)
- mm = deux chiffres représentant les minutes (de 00 à 59)
A l'heure configurée, la liste des meilleures ventes est mise à jour pour les catégories spécifiées dans toute action meilleures ventes pour toutes les activités en cours Ce paramètre doit être configuré pour correspondre à une heure creuse du site.
Stratégie de mise en cache des meilleures ventes
La liste des meilleures ventes n'étant mise à jour qu'une fois par jour, il est fortement recommandé de placer en mémoire cache le fragment de fichier JSM d'emplacement e-Marketing affichant la liste des meilleures ventes, à l'aide de la mise en cache dynamique.
Par exemple, un ID de dépendance, RankingEMarketingSpot, est émis lorsque la commande InvalidateRankingServletCmdImpl est appelée. Le fichier JSP est ainsi actualisé lorsque la liste est mise à jour. La commande d'invalidation est appelée une fois par jour, une fois que les listes des meilleures ventes ont été mises à jour :
<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>
Pour plus d'informations, voir Mise en mémoire cache dynamique.
Classements des sites étendus
Si une activité contenant l'action meilleures ventes est définie dans un magasin de ressources de boutique en ligne, une autre liste des meilleures ventes distincte est créée pour chaque magasin de site étendu qui fait référence au magasin de ressources de boutique en ligne. Les listes des meilleures ventes de chaque boutique en ligne contient donc les données de commande de leur boutique en ligne individuelle pour compiler les classements.
Configuration des classements des meilleures ventes
<component compClassName="com.ibm.commerce.marketingcenter.events.runtime.ExperimentEvaluationECEventListenerImpl"
enable="true" name="Experiment Evaluation Event Listener">
<property display="false">
<start enabled="true"/>
</property>
</component>
Pour créer la liste des meilleures ventes, les statistiques des événements sont enregistrées dans la table de base de données DMRANKINGSTAT. Ces événements sont d'abord enregistrés en mémoire, puis stockés dans une insertion par lot pour obtenir des performances optimales. La taille des données enregistrées en mémoire est contrôlée par le paramètre userBehaviorBatchUpdateCacheSize du fichier wc-admin-component.xml.
Pour plus d'informations, voir Fichier de configuration de composant de promotion (wc-admin-component.xml).
- DMRANKINGSTAT
- Cette table stocke des informations collectées permettant de générer une liste de classement. Par exemple, lorsqu'un produit pertinent est acheté ou consulté, les données sont enregistrées dans cette table.
- DMRANKINGITEM
- Cette table stocke les informations de classement calculées. Par exemple, les 10 premiers produits achetés dans une catégorie ou les cinq premiers produits consultés dans une catégorie. Chaque élément de classement sous un groupe de classement contient une séquence.
Configuration des classements des plus consultés
Les listes de classement des plus consultés affiche les produits les plus consultés d'une catégorie.
<component compClassName="com.ibm.commerce.marketing.dialog.trigger.SensorEventListener"
enable="true" name="SensorEventListener">
<property display="false">
<start enabled="true"/>
</property>
</component>