iOS v3 – E-commerce amélioré

Ce guide explique comment implémenter les fonctionnalités d'e-commerce amélioré Universal Analytics à l'aide du SDK Google Tag Manager pour iOS.

Présentation

L'e-commerce amélioré de Google Analytics permet d'envoyer des données sur les impressions, les promotions et les ventes des produits avec vos vues d'écran et événements Google Analytics.

Avant de commencer

Nous vous recommandons de consulter la section Types de données et actions d'e-commerce amélioré du Guide du développeur de l'e-commerce amélioré (Web) Google Analytics pour vous aider à planifier votre implémentation. Il vous aidera à identifier les champs obligatoires et facultatifs pour chacune des interactions d'e-commerce que vous souhaitez mesurer.

Implémentation

Les sections suivantes expliquent comment utiliser la couche de données pour mesurer les activités d'e-commerce amélioré suivantes:

Mesure des impressions des produits

  • Mesure de l'e-commerce: impressions
  • Accepte les données: tableau de impressionFieldObjects

Mesurez les impressions des produits à l'aide de l'action impression et d'une ou plusieurs impressionFieldObjects. L'exemple suivant suppose que les détails des produits affichés sont connus au moment de l'affichage de l'écran:

// Product impressions are sent by pushing an impressions object
// containing one or more impressionFieldObjects.
[dataLayer push:@{@"ecommerce": @{
                    @"currencyCode": @"EUR",                      // Local currency is optional.
                    @"impressions": @[
                      @{@"name": @"Triblend Android T-Shirt",     // Name or ID is required.
                        @"id": @"12345",
                        @"price": @"15.25",
                        @"brand": @"Google",
                        @"category": @"Apparel",
                        @"variant": @"Gray",
                        @"list": @"Search Results",
                        @"position": @1},
                      @{@"name": @"Donut Friday Scented T-Shirt",
                        @"id": @"67890",
                        @"price": @"33.75",
                        @"brand": @"Google",
                        @"category": @"Apparel",
                        @"variant": @"Black",
                        @"list": @"Search Results",
                        @"position": @2}]}}];

Mesure des clics sur les produits/sélections

  • Mesure de l'e-commerce: click
  • Données acceptées: list, tableau de productFieldObjects

Mesurez les sélections de produits en envoyant une action click à la couche de données, ainsi qu'un élément productFieldObject pour représenter le produit sélectionné:

[dataLayer push:@{@"event": @"productClick",
                  @"ecommerce": @{
                    @"click": @{
                      @"actionField": @{
                        @"list": @"Search Results"},              // Optional list property.
                      @"products": @[
                        @{@"name": @"Triblend Android T-Shirt",   // Name or ID is required.
                          @"id": @"12345",
                          @"price": @"15.25",
                          @"brand": @"Google",
                          @"category": @"Apparel",
                          @"variant": @"Gray"}]}}}];

Mesurer les vues des informations détaillées sur les produits

  • Mesure de l'e-commerce: detail
  • Données acceptées: list, tableau de productFieldObjects

Mesurez une vue d'informations détaillées sur un produit en transmettant une action detail à la couche de données, ainsi qu'un ou plusieurs productFieldObjects représentant les produits consultés:

// Measure a view of product details.
[dataLayer push:@{@"ecommerce": @{
                    @"detail": @{
                      @"actionField": @{
                        @"list": @"Apparel Gallery"},             // 'detail' actions have an optional list property.
                      @"products": @[
                        @{@"name": @"Triblend Android T-Shirt",   // Name or ID is required.
                          @"id": @"12345",
                          @"price": @"15.25",
                          @"brand": @"Google",
                          @"category": @"Apparel",
                          @"variant": @"Gray"}]}}}];

Mesurer les ajouts ou les suppressions d'un panier

  • Mesure de l'e-commerce: add, remove
  • Données acceptées: list, tableau de productFieldObjects

Mesurez les ajouts ou les suppressions dans un panier à l'aide d'un actionFieldObject add ou remove, et d'une liste de productFieldObjects:

Ajouter un produit à un panier

// Measure adding a product to a shopping cart by using an "add"
// actionFieldObject and a list of productFieldObjects.
[dataLayer push:@{@"event": @"addToCart",
                  @"ecommerce": @{
                    @"currencyCode": @"EUR",
                    @"add": @{                                  // 'add' actionFieldObject measures.
                      @"products": @[
                        @{@"name": @"Triblend Android T-Shirt",
                          @"id": @"12345",
                          @"price": @"15.25",
                          @"brand": @"Google",
                          @"category": @"Apparel",
                          @"variant": @"Gray",
                          @"quantity": @1}]}}}];

Supprimer un produit d'un panier

// Measure the removal of a product from a shopping cart.
[dataLayer push:@{@"event": @"removeFromCart",
                  @"ecommerce": @{
                    @"remove": @{                               // 'remove' actionFieldObject measures.
                      @"products": @[
                        @{@"name": @"Triblend Android T-Shirt",
                          @"id": @"12345",
                          @"price": @"15.25",
                          @"brand": @"Google",
                          @"category": @"Apparel",
                          @"variant": @"Gray",
                          @"quantity": @1}]}}}];

Mesurer les promotions

Vous pouvez mesurer à la fois les impressions et les sélections pour les promotions d'applications internes (par exemple, des bannières affichées dans l'application pour annoncer une promotion sur un sous-ensemble spécifique de produits ou une offre de livraison gratuite).

Mesure des impressions des publicités

  • Mesure de l'e-commerce: promoView
  • Accepte les données: tableau de promoFieldObjects

Pour mesurer une impression de promotion, définissez la clé promoView dans la couche de données d'e-commerce sur une promoFieldObject décrivant les promotions affichées auprès des utilisateurs à l'écran:

// An example of measuring promotion views. This example assumes that
// information about the promotions displayed is available when the screen is
// displayed.
[dataLayer push:@{@"ecommerce": @{
                    @"promoView": @{
                      @"promotions": @[                     // Array of promoFieldObjects.
                        @{@"id": @"JUNE_PROMO13",           // ID or Name is required.
                          @"name": @"June Sale",
                          @"creative": @"banner1",
                          @"position": @"slot1"},
                        @{@"id": @"FREE_SHIP13",
                          @"name": @"Free Shipping Promo",
                          @"creative": @"skyscraper1",
                          @"position": @"slot2"}]}}}];

Mesurer les clics/sélections publicitaires

Pour mesurer une sélection de promotions, envoyez l'action promoClick à la couche de données avec un tableau contenant un élément promoFieldObject décrivant la promotion sélectionnée:

[dataLayer push:@{@"event": @"promotionClick",
                  @"ecommerce": @{
                    @"promoClick": @{
                      @"promotions": @[
                        @{@"id":  @"JUNE_PROMO13",          // Name or ID is required.
                          @"name": @"June Sale",
                          @"creative": @"banner1",
                          @"position": @"slot1"}]}}}];

Mesurer un processus de paiement

Pour mesurer chaque étape d'un processus de paiement, vous devez:

  1. Mesurez chaque étape du processus de règlement à l'aide de l'action checkout.
  2. Le cas échéant, mesurez les options de paiement à l'aide de l'action checkout_option.
  3. Si vous le souhaitez, vous pouvez définir des noms d'étapes conviviaux pour le rapport sur l'entonnoir de paiement. Pour ce faire, configurez les paramètres d'e-commerce dans la section Administration de l'interface Web.

1. Mesurer les étapes de paiement

  • Mesure de l'e-commerce: checkout
  • Données acceptées: step, tableau de productFieldObjects

Pour mesurer le processus de paiement, qui peut inclure un bouton de paiement et un ou plusieurs écrans de paiement sur lesquels les utilisateurs saisissent des informations de livraison et de paiement, utilisez l'action checkout et le champ step pour indiquer l'étape du processus de paiement mesurée. Vous pouvez également utiliser le champ option pour fournir des données supplémentaires sur le processus de règlement, telles que le type de paiement sélectionné par l'utilisateur.

[dataLayer push:@{@"event": @"checkout",
                  @"ecommerce": @{
                    @"checkout": @{
                      @"actionField": @{
                        @"step": @1,
                        @"option": @"Visa"},
                      @"products": @[
                        @{@"name": @"Triblend Android T-Shirt",
                          @"id": @"12345",
                          @"price": @"15.25",
                          @"brand": @"Google",
                          @"category": @"Apparel",
                          @"variant": @"Gray",
                          @"quantity": @1}]}}}];

2. Mesurer les options de paiement

  • Mesure de l'e-commerce: checkout_option
  • Données acceptées: step, option

L'option de paiement est utile dans les cas où vous avez déjà mesuré une étape de règlement, mais que vous souhaitez obtenir des informations supplémentaires sur cette même étape. Il peut s'agir, par exemple, du mode de livraison sélectionné par un utilisateur. Pour mesurer cela, utilisez l'action checkout_option avec les champs step et option.

[dataLayer push:@{@"event": @"checkoutOption",
                  @"ecommerce": @{
                    @"checkout_option": @{
                      @"actionField": @{
                        @"step": @1,
                        @"option": @"Express"}}}}];

3. Configuration de l'entonnoir de paiement

Vous pouvez attribuer un nom descriptif à chaque étape du processus de paiement à chaque étape du processus de paiement. Pour configurer ces noms, accédez à la section Admin de l'interface Web de Google Analytics, sélectionnez la vue (profil), puis cliquez sur Paramètres d'e-commerce. Suivez les instructions de configuration de l'e-commerce pour ajouter un libellé à chaque étape du règlement dont vous souhaitez effectuer le suivi.

Configuration de l'e-commerce dans l'interface d'administration Google Analytics Un entonnoir de paiement est défini avec quatre étapes: 1. Vérifier le panier, 2. Collecter les informations de paiement
         3. Confirmez les détails de l'achat, 4. Reçu.
Figure 1: Configuration de l'e-commerce, entonnoir de paiement

Mesurer les achats

  • Mesure de l'e-commerce: purchase
  • Accepte les données: id (ID de transaction), tableau de productFieldObjects

Transférez les détails de votre transaction dans la couche de données à l'aide de l'action purchase, avec une event qui déclenchera une balise compatible avec l'e-commerce amélioré. Dans cet exemple, les détails de la transaction sont connus au moment où l'écran s'affiche:

// Send transaction data with a screenview if possible.
// Otherwise, use an event when the transaction data becomes available.
[dataLayer push:@{@"ecommerce": @{
                    @"purchase": @{
                      @"actionField": @{
                        @"id": @"T12345",                         // Transaction ID. Required for purchases and refunds.
                        @"affiliation": @"Online Store",
                        @"revenue": @"35.43",                     // Total transaction value (incl. tax and shipping)
                        @"tax":"4.90",
                        @"shipping": @"5.99",
                        @"coupon": @"SUMMER_SALE"},
                      @"products": @[                             // List of productFieldObjects.
                        @{@"name": @"Triblend Android T-Shirt",   // Name or ID is required.
                          @"id": @"12345",
                          @"price": @"15.25",
                          @"brand": @"Google",
                          @"category": @"Apparel",
                          @"variant": @"Gray",
                          @"quantity": @1,
                          @"coupon": @""},                        // Optional fields may be omitted or set to empty string.
                        @{@"name": @"Donut Friday Scented T-Shirt",
                          @"id": @"67890",
                          @"price": @"33.75",
                          @"brand": @"Google",
                          @"category": @"Apparel",
                          @"variant": @"Black",
                          @"quantity": @1}]}}}];

Mesurer les remboursements

  • Mesure de l'e-commerce: refund
  • Accepte les données: id (ID de transaction), tableau de productFieldObjects

Pour mesurer le remboursement total d'une transaction, transmettez un actionFieldObject refund avec l'ID de la transaction à rembourser:

// Refund an entire transaction by providing the transaction ID. This example
// assumes the details of the completed refund are available when the screen
// is displayed:
[dataLayer push:@{@"ecommerce": @{
                    @"refund": @{
                      @"actionField": @{
                        @"id": @"T12345"}}}}];  // Transaction ID. Required for refunds.

Pour mesurer un remboursement partiel, ajoutez une liste de productFieldObjects, y compris les ID produit et les quantités à rembourser:

// Measure a partial refund by providing an array of productFieldObjects and
// specifying the ID and quantity of each product being returned. This example
// assumes the partial refund details are known at the time the screen is
// displayed:
[dataLayer push:@{@"ecommerce": @{
                    @"refund": @{
                      @"actionField": @{
                        @"id": @"T12345"},      // Transaction ID.
                      @"products": @[
                        @{@"id": @"P4567",
                          @"quantity": @1},     // Product ID & quantity. Required for partial refunds.
                        @{@"id": @"P8901",
                          @"quantity": @2}]}}}];

Combiner les impressions et les actions

Si vous disposez à la fois d'impressions de produits et d'une action, il est possible de les combiner et de les mesurer dans un seul appel.

L'exemple ci-dessous montre comment mesurer l'affichage des informations détaillées sur les produits à l'aide des impressions du produit dans une section de produits associés:

[dataLayer push:@{@"ecommerce": @{
                    @"impressions": @[
                      @{@"name": @"Triblend Android T-Shirt",       // Name or ID is required.
                        @"id": @"12345",
                        @"price": @"15.25",
                        @"brand": @"Google",
                        @"category": @"Apparel",
                        @"variant": @"Gray",
                        @"list": @"Related Products",
                        @"position": @1},
                      @{@"name": @"Donut Friday Scented T-Shirt",
                        @"id": @"67890",
                        @"price": @"33.75",
                        @"brand": @"Google",
                        @"category": @"Apparel",
                        @"variant": @"Black",
                        @"list": @"Related Products",
                        @"position": @2}],
                    @"detail": @{
                      @"actionField": @{
                        @"list": @"Apparel Gallery"},               // 'detail' actions have an optional list property.
                      @"products": @[
                        @{@"name": @"Triblend Android T-Shirt",     // Name or ID is required.
                          @"id": @"12345",
                          @"price": @"15.25",
                          @"brand": @"Google",
                          @"category": @"Apparel",
                          @"variant": @"Gray"}]}}}];