Annonceurs - Intégrations

Tracking – Catégorisation de produits

Notes : ⚠️⚠️⚠️
  • Intégration avancée 
  • Maîtrise du DataLayer e-commerce
  • Connaissance des variables GTM et de leur structure
  • Compétences en JavaScript pour la personnalisation
  • Accès aux IDs produits dans le système e-commerce

 

L’intégration par catégories de produits est une solution avancée permettant de segmenter et tracker les conversions en fonction du type de produits achetés. 

 

Qu’est-ce qu’une intégration en catégorisation de produits ?

Cette intégration consiste à :

  • Segmenter les produits par catégories métier (ex: É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

 

 

Prérequis techniques

 

 

Configuration requise
  • Data Layer e-commerce correctement configuré
  • Variables disponibles

 

Intégration possible en intégration manuelle et via GTM. 
  • 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);
}
}

 

 

Configuration personnalisée

 

 

Définir vos catégories selon vos besoins. 

Exemple : Livres, mode, jeux, mobilier, ect.

 

Mapper vos IDs produits
  • Listez tous les IDs produits de chaque catégorie
  • Utilisez les IDs tels qu’ils apparaissent dans votre DataLayer
  • Vérifiez la cohérence avec vos variables disponibles dans le dataLayer

 

Configurer vos clés Affilae
  • Une clé unique par catégorie
  • Format fourni par votre account manager Affilae
  • Test obligatoire avant mise en production

Pour retrouver ces éléments, allez dans la configuration de votre programme tracking intégration via un module Affilae. 

 

 

 

Points d’attention

 

 

Validation des données
  • Vérifiez la structure de votre DataLayer.
  • Testez avec des commandes réelles.
  • Contrôlez les montants calculés et les différents déclenchements des catégories. 

 

 

Aide 

 

 
Le tracking ne fonctionne pas ?
  • Clics non trackés : vérifiez le Program_ID 
  • Conversions manquantes : vérifiez les variables dataLayer, les ids de produits et les KEYS.

 

Support
  • Testez étape par étape
  • Contactez le support Affilae avec le détails de vos configurations.