Evénements Produit

  • iOS
  • watchOS
  • tvOS
 

Avant-propos

Cette documentation de marquage ne s’applique qu’à partir de la version 2.17.0 du Tracker.

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,
  • des actions d’ajout ou de retrait du panier.
 

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.).
  • « article » – String : Niveau de détail supplémentaire à la variante du produit.
  • « placement » – String : Emplacement du produit.
  • « promocode » – Array : Tableau de codes promotionnels pouvant contenir un ou plusieurs codes. Un code promotionnel se déclare sous la forme d’un libellé.
  • « $ » – String : Nom du produit.
  • « brand » – String : Marque du produit.
  • « discount » – Boolean : Produit remisé.
  • « pricetaxincluded » – Float : Prix TTC.
  • « pricetaxfree » – Float : Prix HT.
  • « stock » – Boolean : Produit en stock.
  • « 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",
        "article": "21",
        "placement": "homepage",
        "promocode": ["AQQYRTGJ"],
        "$": "laptop_A56",
        "brand": "ACER",
        "discount": true,
        "pricetaxincluded": 549,
        "pricetaxfree": 456.2,
        "stock": true,
        "category1": "Computers_and_Networking",
        "category2": "Computers",
        "category3": "Laptops"
    ]))
tracker.dispatch()

Vous pouvez si vous le souhaitez utiliser la méthode indépendante « tracker.events.send() » pour envoyer exclusivement vos données Ecommerce.

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",
    @"article": @"21",
    @"placement": @"homepage",
    @"promocode": @[@"AQQYRTGJ"],
    @"$": @"laptop_A56",
    @"brand": @"ACER",
    @"discount": @true,
    @"pricetaxincluded": @549,
    @"pricetaxfree": @456.2,
    @"stock": @true,
    @"category1": @"Computers_and_Networking",
    @"category2": @"Computers",
    @"category3": @"Laptops"
}]];
[dp setProducts: dpproducts];
[tracker dispatch];

Vous pouvez si vous le souhaitez utiliser la méthode indépendante « [tracker.events send]; » pour envoyer exclusivement vos données Ecommerce.

 

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.).
  • « article » – String : Niveau de détail supplémentaire à la variante du produit.
  • « placement » – String : Emplacement du produit.
  • « promocode » – Array : Tableau de codes promotionnels pouvant contenir un ou plusieurs codes. Un code promotionnel se déclare sous la forme d’un libellé.
  • « $ » – String : Nom du produit.
  • « brand » – String : Marque du produit.
  • « discount » – Boolean : Produit remisé.
  • « pricetaxincluded » – Float : Prix TTC.
  • « pricetaxfree » – Float : Prix HT.
  • « stock » – Boolean : Produit en stock.
  • « category1 » – String : Catégorie de niveau 1 du produit (jusqu’à 6 niveaux d’arborescence possibles ; de « category1 » à « category6 »).

Dans le cas d’une activation de marquage SalesTracker, vous pouvez ajouter des informations d’écran en passant une instance de Screen en paramètre.

Exemple

Tracker tracker = let tracker: Tracker = ATInternet.sharedInstance.defaultTracker
let myScreen: Screen = tracker.screens.add("product")
let dpp: DisplayPageProduct = tracker.ecommerce.displayPageProducts.add(screen: myScreen)
_ = dpp.product.setAll(obj: 
    [
        "id": "7",
        "variant": "1",
        "article": "21",
        "placement": "homepage",
        "promocode": ["AQQYRTGJ"],
        "$": "laptop_A56",
        "brand": "ACER",
        "discount": true,
        "pricetaxincluded": 549,
        "pricetaxfree": 456.2,
        "stock": true,
        "category1": "Computers_and_Networking",
        "category2": "Computers",
        "category3": "Laptops"
    ])
tracker.dispatch()

Vous pouvez si vous le souhaitez utiliser la méthode indépendante « tracker.events.send() » pour envoyer exclusivement vos données Ecommerce.

Tracker* tracker = [ATInternet sharedInstance].defaultTracker;
// With SalesTracker
[tracker.ecommerce setAutoSalesTrackerEnabled:YES sync:YES completionHandler:nil];
Screen *myScreen = [tracker.screens add:@"product"];
DisplayPageProduct *dpp = [[tracker.ecommerce displayPageProducts] addWithScreen:myScreen];
(void)[dpp.product setAllWithObj:@{
    @"id": @"7",
    @"variant": @"1",
    @"article": @"21",
    @"placement": @"homepage",
    @"promocode": @[@"AQQYRTGJ"],
    @"$": @"laptop_A56",
    @"brand": @"ACER",
    @"discount": @true,
    @"pricetaxincluded": @549,
    @"pricetaxfree": @456.2,
    @"stock": @true,
    @"category1": @"Computers_and_Networking",
    @"category2": @"Computers",
    @"category3": @"Laptops"
}];
[tracker.dispatch];

Vous pouvez si vous le souhaitez utiliser la méthode indépendante « [tracker.events send]; » pour envoyer exclusivement vos données Ecommerce.

 

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.).
  • « article » – String : Niveau de détail supplémentaire à la variante du produit.
  • « placement » – String : Emplacement du produit.
  • « promocode » – Array : Tableau de codes promotionnels pouvant contenir un ou plusieurs codes. Un code promotionnel se déclare sous la forme d’un libellé.
  • « $ » – String : Nom du produit.
  • « brand » – String : Marque du produit.
  • « discount » – Boolean : Produit remisé.
  • « pricetaxincluded » – Float : Prix TTC.
  • « pricetaxfree » – Float : Prix HT.
  • « stock » – Boolean : Produit en stock.
  • « quantity » – Number : Nombre de produits à ajouter.
  • « category1 » – String : Catégorie de niveau 1 du produit (jusqu’à 6 niveaux d’arborescence possibles ; de « category1 » à « category6 »).
  • « cartcreation » – Boolean : Création de panier (true si l 'action d 'ajout de produit a entraîné la création d 'un panier, false sinon).

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",
        "article": "21",
        "placement": "homepage",
        "promocode": ["AQQYRTGJ"],
        "$": "laptop_A56",
        "brand": "ACER",
        "discount": true,
        "pricetaxincluded": 549,
        "pricetaxfree": 456.2,
        "stock": true,
        "quantity": 1,
        "cartcreation": true,
        "category1": "Computers_and_Networking",
        "category2": "Computers",
        "category3": "Laptops"
    ]
)
tracker.dispatch()

Vous pouvez si vous le souhaitez utiliser la méthode indépendante « tracker.events.send() » pour envoyer exclusivement vos données Ecommerce.

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",
    @"article": @"21",
    @"placement": @"homepage",
    @"promocode": @[@"AQQYRTGJ"],
    @"$": @"laptop_A56",
    @"brand": @"ACER",
    @"discount": @true,
    @"pricetaxincluded": @549,
    @"pricetaxfree": @456.2,
    @"stock": @true,
    @"quantity": @1,
    @"cartcreation": @true,
    @"category1": @"Computers_and_Networking",
    @"category2": @"Computers",
    @"category3": @"Laptops"
}];
[tracker.dispatch];

Vous pouvez si vous le souhaitez utiliser la méthode indépendante « [tracker.events send]; » pour envoyer exclusivement vos données Ecommerce.

 

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.).
  • « article » – String : Niveau de détail supplémentaire à la variante du produit.
  • « placement » – String : Emplacement du produit.
  • « promocode » – Array : Tableau de codes promotionnels pouvant contenir un ou plusieurs codes. Un code promotionnel se déclare sous la forme d’un libellé.
  • « $ » – String : Nom du produit.
  • « brand » – String : Marque du produit.
  • « discount » – Boolean : Produit remisé.
  • « pricetaxincluded » – Float : Prix TTC.
  • « pricetaxfree » – Float : Prix HT.
  • « stock » – Boolean : Produit en stock.
  • « 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",
        "article": "21",
        "placement": "homepage",
        "promocode": ["AQQYRTGJ"],
        "$": "laptop_A56",
        "brand": "ACER",
        "discount": true,
        "pricetaxincluded": 549,
        "pricetaxfree": 456.2,
        "stock": true,
        "quantity": 1,
        "category1": "Computers_and_Networking",
        "category2": "Computers",
        "category3": "Laptops"
    ]
)
tracker.dispatch()

Vous pouvez si vous le souhaitez utiliser la méthode indépendante « tracker.events.send() » pour envoyer exclusivement vos données Ecommerce.

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",
    @"article": @"21",
    @"placement": @"homepage",
    @"promocode": @[@"AQQYRTGJ"],
    @"$": @"laptop_A56",
    @"brand": @"ACER",
    @"discount": @true,
    @"pricetaxincluded": @549,
    @"pricetaxfree": @456.2,
    @"stock": @true,
    @"quantity": @1,
    @"category1": @"Computers_and_Networking",
    @"category2": @"Computers",
    @"category3": @"Laptops"
}];
[tracker.dispatch];

Vous pouvez si vous le souhaitez utiliser la méthode indépendante « [tracker.events send]; » pour envoyer exclusivement vos données Ecommerce.