Evénements Produit (Sales Insights)

  • iOS
  • watchOS
  • tvOS
 

Avant-propos

Si vous ne voyez pas le menu « Sales Insights » dans Explorer, contactez-nous pour que nous activions la fonctionnalité pour vous.

 

Evénements Produit

Le tracker met à disposition une instance ecommerce exposant différents objets et méthodes utiles pour la mesure :

  • des affichages de produit,
  • des affichages de fiches produit,

    Il est possible d’activer en plus un marquage automatique de produits vus SalesTracker en surchargeant la variable de configuration « autoSalesTracker » :

    let tracker: Tracker = ATInternet.sharedInstance.defaultTracker
    tracker.ecommerce.setAutoSalesTrackerEnabled(true, sync: true, completionHandler: nil)
    Tracker* tracker = [ATInternet sharedInstance].defaultTracker;
    [tracker.ecommerce setAutoSalesTrackerEnabled:YES sync:YES completionHandler:nil];
    

  • des actions d’ajout ou de retrait du panier.

Le domaine de collecte Ecommerce doit être renseigné via la variable de configuration « collectDomain » :

tracker.ecommerce.setCollectDomain("collect-euw1", sync: true, completionHandler: nil)
[tracker.ecommerce setCollectDomain:@"collect-euw1" sync:YES completionHandler:nil];

Voir la liste complète des variables de configuration Ecommerce pouvant être surchargées en bas de page.

 

Affichage de produit

La mesure d’un affichage de produit se fait par la création d’un objet DisplayProduct auquel est associé :

  • une liste de produits products pouvant contenir un ou plusieurs produits de type ECommerceProduct.

Les propriétés d’un produit se déclarent sous la forme d’une collection de type Dictionary  avec différentes clés :

  • « id » – String : Identifiant du produit (obligatoire).
  • « variant » – String : Variante du produit (taille, couleur, etc.).
  • « name » – String : Nom du produit.
  • « brand » – String : Marque du produit.
  • « discount » – Boolean : Produit remisé (0 pour non ; 1 pour oui).
  • « priceTaxIncluded » – Float : Prix TTC.
  • « priceTaxFree » – Float : Prix HT.
  • « currency » – String : Devise.
  • « stock » – Boolean : Produit en stock (0 pour non ; 1 pour oui).
  • « category1 » – String : Catégorie de niveau 1 du produit (jusqu’à 6 niveaux d’arborescence possibles ; de « category1 » à « category6 »).

Exemple

let tracker: Tracker = ATInternet.sharedInstance.defaultTracker
let dp: DisplayProduct = tracker.ecommerce.displayProducts.add()
dp.products.append(ECommerceProduct(obj: 
    [
        "id": "7",
        "variant": "1",
        "name": "laptop_A56",
        "brand": "ACER",
        "discount": 1,
        "priceTaxIncluded": 549,
        "priceTaxFree": 456.2,
        "currency": "EUR",
        "stock": 1,
        "category1": "Computers_and_Networking",
        "category2": "Computers",
        "category3": "Laptops"
    ]))
tracker.dispatch();
Tracker* tracker = [ATInternet sharedInstance].defaultTracker;
DisplayProduct *dp = [[tracker.ecommerce displayProducts] add];
NSMutableArray *dpproducts = [dp.products mutableCopy];
[dpproducts addObject:[[ECommerceProduct alloc] initWithObj:@{
    @"id": @"7",
    @"variant": @"1",
    @"name": @"laptop_A56",
    @"brand": @"ACER",
    @"discount": @1,
    @"priceTaxIncluded": @549,
    @"priceTaxFree": @456.2,
    @"currency": @"EUR",
    @"stock": @1,
    @"category1": @"Computers_and_Networking",
    @"category2": @"Computers",
    @"category3": @"Laptops"
}]];
[dp setProducts: dpproducts];
[tracker dispatch];

 

Affichage de fiche produit

La mesure d’un affichage de fiche produit se fait par la création d’un objet DisplayPageProduct auquel est associé :

  • un produit de type ECommerceProduct.

Les propriétés d’un produit se déclarent sous la forme d’une collection de type Dictionary  avec différentes clés :

  • « id » – String : Identifiant du produit (obligatoire).
  • « variant » – String : Variante du produit (taille, couleur, etc.).
  • « name » – String : Nom du produit.
  • « brand » – String : Marque du produit.
  • « discount » – Boolean : Produit remisé (0 pour non ; 1 pour oui).
  • « priceTaxIncluded » – Float : Prix TTC.
  • « priceTaxFree » – Float : Prix HT.
  • « currency » – String : Devise.
  • « stock » – Boolean : Produit en stock (0 pour non ; 1 pour oui).
  • « category1 » – String : Catégorie de niveau 1 du produit (jusqu’à 6 niveaux d’arborescence possibles ; de « category1 » à « category6 »).

Exemple

Tracker tracker = let tracker: Tracker = ATInternet.sharedInstance.defaultTracker
let dpp: DisplayPageProduct = tracker.ecommerce.displayPageProducts.add()
_ = dpp.product.setAll(obj: 
    [
        "id": "7",
        "variant": "1",
        "name": "laptop_A56",
        "brand": "ACER",
        "discount": 1,
        "priceTaxIncluded": 549,
        "priceTaxFree": 456.2,
        "currency": "EUR",
        "stock": 1,
        "category1": "Computers_and_Networking",
        "category2": "Computers",
        "category3": "Laptops"
    ])
tracker.dispatch();
Tracker* tracker = [ATInternet sharedInstance].defaultTracker;
DisplayPageProduct *dpp = [[tracker.ecommerce displayPageProducts] add];
(void)[dpp.product setAllWithObj:@{
    @"id": @"7",
    @"variant": @"1",
    @"name": @"laptop_A56",
    @"brand": @"ACER",
    @"discount": @1,
    @"priceTaxIncluded": @549,
    @"priceTaxFree": @456.2,
    @"currency": @"EUR",
    @"stock": @1,
    @"category1": @"Computers_and_Networking",
    @"category2": @"Computers",
    @"category3": @"Laptops"
}];
[tracker dispatch];

 

Ajout de produit

La mesure d’un ajout de produit se fait par la création d’un objet AddProduct auquel sont associés :

  • un panier de type ECommerceCart,
  • un produit de type ECommerceProduct.

Un panier doit contenir une propriété :

  • « id » – String : Identifiant du panier (obligatoire).

Les propriétés d’un produit se déclarent sous la forme d’une collection de type Dictionary  avec différentes clés :

  • « id » – String : Identifiant du produit (obligatoire).
  • « variant » – String : Variante du produit (taille, couleur, etc.).
  • « name » – String : Nom du produit.
  • « brand » – String : Marque du produit.
  • « discount » – Boolean : Produit remisé (0 pour non ; 1 pour oui).
  • « priceTaxIncluded » – Float : Prix TTC.
  • « priceTaxFree » – Float : Prix HT.
  • « currency » – String : Devise.
  • « stock » – Boolean : Produit en stock (0 pour non ; 1 pour oui).
  • « quantity » – Number : Nombre de produits à ajouter.
  • « category1 » – String : Catégorie de niveau 1 du produit (jusqu’à 6 niveaux d’arborescence possibles ; de « category1 » à « category6 »).
  • « cart.creation » – Boolean : Création de panier (true si l’action d’ajout entraîne la création du panier).

Exemple

let tracker: Tracker = ATInternet.sharedInstance.defaultTracker
let ap: AddProduct = tracker.ecommerce.addProducts.add()
_ = ap.cart.set(key: "id", value: "34")
_ = ap.product.setAll(obj:
    [
        "id": "3",
        "variant": "1",
        "name": "laptop_A56",
        "brand": "ACER",
        "discount": 1,
        "priceTaxIncluded": 549,
        "priceTaxFree": 456.2,
        "currency": "EUR",
        "stock": 1,
        "quantity": 1,
        "cartcreation": 1,
        "category1": "Computers_and_Networking",
        "category2": "Computers",
        "category3": "Laptops"
    ]
)
tracker.dispatch();
Tracker* tracker = [ATInternet sharedInstance].defaultTracker;
AddProduct *ap = [[tracker.ecommerce addProducts] add];
(void)[ap.cart setWithKey:@"id" value:@"34"];
(void)[ap.product setAllWithObj:@{
    @"id": @"3",
    @"variant": @"1",
    @"name": @"laptop_A56",
    @"brand": @"ACER",
    @"discount": @1,
    @"priceTaxIncluded": @549,
    @"priceTaxFree": @456.2,
    @"currency": @"EUR",
    @"stock": @1,
    @"quantity": @1,
    @"cartcreation": @1,
    @"category1": @"Computers_and_Networking",
    @"category2": @"Computers",
    @"category3": @"Laptops"
}];
[tracker dispatch];

 

Suppression de produit

La mesure d’une suppression de produit se fait par la création d’un objet RemoveProduct auquel sont associés :

  • un panier de type ECommerceCart,
  • un produit de type ECommerceProduct.

Un panier doit contenir une propriété :

  • « id » – String : Identifiant du panier (obligatoire).

Les propriétés d’un produit se déclarent sous la forme d’une collection de type Dictionary  avec différentes clés :

  • « id » – String : Identifiant du produit (obligatoire).
  • « variant » – String : Variante du produit (taille, couleur, etc.).
  • « name » – String : Nom du produit.
  • « brand » – String : Marque du produit.
  • « discount » – Boolean : Produit remisé (0 pour non ; 1 pour oui).
  • « priceTaxIncluded » – Float : Prix TTC.
  • « priceTaxFree » – Float : Prix HT.
  • « currency » – String : Devise.
  • « stock » – Boolean : Produit en stock (0 pour non ; 1 pour oui).
  • « quantity » – Number : Nombre de produits à ajouter.
  • « category1 » – String : Catégorie de niveau 1 du produit (jusqu’à 6 niveaux d’arborescence possibles ; de « category1 » à « category6 »).

Exemple

let tracker: Tracker = ATInternet.sharedInstance.defaultTracker
let rp: RemoveProduct = tracker.ecommerce.removeProducts.add()
_ = rp.cart.set(key: "id", value: "34")
_ = rp.product.setAll(obj:
    [
        "id": "3",
        "variant": "1",
        "name": "laptop_A56",
        "brand": "ACER",
        "discount": 1,
        "priceTaxIncluded": 549,
        "priceTaxFree": 456.2,
        "currency": "EUR",
        "stock": 1,
        "quantity": 1,
        "category1": "Computers_and_Networking",
        "category2": "Computers",
        "category3": "Laptops"
    ]
)
tracker.dispatch();
Tracker* tracker = [ATInternet sharedInstance].defaultTracker;
RemoveProduct *rp = [[tracker.ecommerce removeProducts] add];
(void)[rp.cart setWithKey:@"id" value:@"34"];
(void)[rp.product setAllWithObj:@{
    @"id": @"3",
    @"variant": @"1",
    @"name": @"laptop_A56",
    @"brand": @"ACER",
    @"discount": @1,
    @"priceTaxIncluded": @549,
    @"priceTaxFree": @456.2,
    @"currency": @"EUR",
    @"stock": @1,
    @"quantity": @1,
    @"category1": @"Computers_and_Networking",
    @"category2": @"Computers",
    @"category3": @"Laptops"
}];
[tracker dispatch];

 

Annexes

 

Variables de configuration

Nom Valeur par défaut Description Version
collectDomain «  » Domaine de collecte Sales Insights  >= 2.12.0
autoSalesTracker false Activer la mesure automatique de contenu de commande SalesTracker sur un événement de confirmation de transaction  >= 2.12.0
 

Cet article vous a-t-il été utile ?

Dernière mise à jour : 21/06/2019