Article

Tracking – Catégorisation de produits

La catégorisation de produits est une intégration avancée qui répartit vos conversions par type de produit acheté. Chaque catégorie reçoit sa propre clé Affilae, et le script déclenche la conversion correspondant aux produits réellement présents dans le panier.

Vous pouvez ainsi rémunérer différemment une vente de mobilier et une vente de livres, avec une règle de commissionnement par catégorie.

Prérequis : c’est une intégration avancée. Elle demande la maîtrise du DataLayer e-commerce, la connaissance des variables GTM et de leur structure, des compétences en JavaScript pour la personnalisation, et l’accès aux identifiants produits dans votre système e-commerce.

Ce que fait une intégration en catégorisation de produits

Cette intégration consiste à :

  • segmenter les produits par catégories métier (par exemple électronique, vêtements, livres) ;
  • attribuer des clés Affilae spécifiques à chaque catégorie ;
  • calculer automatiquement les montants par catégorie lors d’une commande ;
  • déclencher les conversions appropriées selon les produits présents dans le panier.
À ne pas confondre : cette page traite du tracking des conversions par catégorie. Elle ne concerne pas le flux produits, qui est le fichier catalogue (CSV, XML ou JSON) mis à disposition de vos éditeurs. Pour ce sujet, voyez Flux produits : à quoi ça sert et ce que doit contenir votre fichier.

Prérequis techniques

Configuration requise

  • Un DataLayer e-commerce correctement configuré.
  • Les variables produits disponibles dans ce DataLayer.

Deux façons de poser l’intégration

  • Intégration GTM (client-side) : avec un tag HTML personnalisé.
  • Intégration custom (code natif) : intégration directe dans le code de la page de confirmation.

Code d’exemple

Voici un exemple d’implémentation pour 4 catégories de produits.

// Check if certain products are present in the shopping cart and trigger the corresponding Affilae KEY.

// Variables GTM
var items = {{dl_ecommerce.items}} || [];
var orderId = '{{dl_ecommerce.transaction_id}}';
var coupon = '{{dl_ecommerce.coupon}}' || '';
var currency = 'EUR';

// Mapping product -> KEY Affilae
var amountCategorie1 = 0;
var amountCategorie2 = 0;
var amountCategorie3 = 0;
var amountCategorie4 = 0;

var productIdsCategorie1 = [];
var productIdsCategorie2 = [];
var productIdsCategorie3 = [];
var productIdsCategorie4 = [];

var keysMap = {
"Categorie1": {
ids: ["PROD001", "PROD002", "PROD003"],
key: "example-key-categorie1-affiliate-id"
},
"Categorie2": {
ids: ["PROD101", "PROD102", "PROD103"],
key: "example-key-categorie2-affiliate-id"
},
"Categorie3": {
ids: ["PROD201", "PROD202", "PROD203"],
key: "example-key-categorie3-affiliate-id"
},
"Categorie4": {
ids: ["PROD301", "PROD302", "PROD303"],
key: "example-key-categorie4-affiliate-id"
}
};

// Update amount and product ids
items.forEach(function (product) {
var product_id = String(product.item_id);

// Check each group of IDs
if (keysMap.Categorie1.ids.includes(product_id)) {
amountCategorie1 = product.price * product.quantity;
productIdsCategorie1.push(product_id);
//sendAffilae(keysMap.Categorie1.key, product);
} else if (keysMap.Categorie2.ids.includes(product_id)) {
amountCategorie2 = product.price * product.quantity;
productIdsCategorie2.push(product_id);
//sendAffilae(keysMap.Categorie2.key, product);
} else if (keysMap.Categorie3.ids.includes(product_id)) {
amountCategorie3 = product.price * product.quantity;
productIdsCategorie3.push(product_id);
//sendAffilae(keysMap.Categorie3.key, product);
} else if (keysMap.Categorie4.ids.includes(product_id)) {
amountCategorie4 = product.price * product.quantity;
productIdsCategorie4.push(product_id);
//sendAffilae(keysMap.Categorie4.key, product);
}
});

if (amountCategorie1 > 0) {
sendAffilae(keysMap.Categorie1.key, productIdsCategorie1, amountCategorie1);
}
if (amountCategorie2 > 0) {
sendAffilae(keysMap.Categorie2.key, productIdsCategorie2, amountCategorie2);
}
if (amountCategorie3 > 0) {
sendAffilae(keysMap.Categorie3.key, productIdsCategorie3, amountCategorie3);
}
if (amountCategorie4 > 0) {
sendAffilae(keysMap.Categorie4.key, productIdsCategorie4, amountCategorie4);
}

// Push conversion to Affilae
function sendAffilae(key, products, amount) {
var aeEvent = {
key: key,
Conversion: {
id: orderId,
amount: amount.toFixed(2),
payment: 'online',
voucher: coupon,
currency: currency,
product: products.join(';')
}
};

if (('AeTracker' in window) && typeof AeTracker.sendConversion === 'function') {
AeTracker.sendConversion(aeEvent);
} else {
(window.AE = window.AE || []).push(aeEvent);
}
}

Adapter le code à votre boutique

  1. Définissez vos catégories selon vos besoins, par exemple livres, mode, jeux, mobilier.
  2. Mappez vos identifiants produits. Listez tous les identifiants produits de chaque catégorie, utilisez-les tels qu’ils apparaissent dans votre DataLayer, et vérifiez la cohérence avec les variables disponibles.
  3. Configurez vos clés Affilae. Une clé unique par catégorie, au format fourni par votre account manager Affilae. Le test est obligatoire avant la mise en production.

Où trouver vos clés et vos identifiants

  1. Dans la barre latérale, ouvrez Gestion des programmes, puis cliquez sur le nom de votre programme.
  2. Cliquez sur Configuration.
  3. Ouvrez l’onglet Tracking.
  4. Dépliez la section Intégration via un module Affilae : vous y trouvez le Program ID, le Rule ID, la Devise et la Clé/Key de chaque règle.
La section Intégration via un module Affilae avec les valeurs Program ID, Rule ID, Devise et Clé/Key
La section « Intégration via un module Affilae » de l’onglet Tracking, où se trouvent les valeurs à reporter dans le code.
Astuce : créez d’abord vos règles de commissionnement, une par catégorie, puis relevez leur clé. Une clé correspond à une règle : si vous ajoutez une catégorie plus tard, il vous faudra une nouvelle règle et une nouvelle clé.

Points d’attention

  • Vérifiez la structure de votre DataLayer avant de poser le tag.
  • Testez avec des commandes réelles.
  • Contrôlez les montants calculés et les différents déclenchements des catégories.
  • Un produit absent de vos listes d’identifiants ne déclenche aucune conversion : maintenez ces listes à jour à chaque ajout au catalogue.

Articles liés

Questions
fréquentes

Vérifiez le Program ID. C’est la valeur qui rattache le script de clics à votre programme. Vous la retrouvez dans Gestion des programmes, votre programme, Configuration, onglet Tracking, section Intégration via un module Affilae.

Vérifiez trois choses dans cet ordre. Les variables de votre dataLayer, les identifiants de produits que vous avez listés dans le code, et les clés Affilae utilisées pour chaque catégorie. Une seule de ces trois valeurs fausse suffit à faire disparaître la conversion sans aucun message d’erreur.

Dans la configuration de votre programme, onglet Tracking, section Intégration via un module Affilae. Vous y lisez le Program ID, le Rule ID, la Devise et la Clé/Key. Le format de la clé est fourni par votre account manager Affilae.

Oui. Sur Affilae, un événement, ici la vente d’un produit d’une catégorie donnée, correspond à une règle de commissionnement, donc à une clé. Vous créez donc autant de règles que de catégories à traquer.

Aucune conversion n’est déclenchée pour ce produit, puisque son identifiant ne correspond à aucune des listes du code. Pensez à mettre ces listes à jour chaque fois que vous ajoutez des références à votre catalogue.

Non, le test est obligatoire avant la mise en production. Passez une commande réelle par catégorie, puis contrôlez les montants calculés et le déclenchement de chaque conversion. En cas de doute, contactez le support Affilae avec le détail de vos configurations.

Besoin d’aide ?

Restez informés des dernières tendances en affiliation marketing et ne manquez aucun de nos articles.

Contactez-nous