Android v4 – E-commerce amélioré

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

Présentation

L'e-commerce amélioré Google Analytics permet d'imprimer, de promouvoir et les données de vente à envoyer avec vos vues d'écran et événements.

Avant de commencer

Nous vous recommandons de consulter les Amélioré la section "Types de données d'e-commerce et actions" de la page Google Guide du développeur sur l'e-commerce amélioré Analytics (Web) pour vous aider à planifier votre la mise en œuvre. Ce guide vous aidera à comprendre quels champs sont 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 activités d'e-commerce amélioré suivantes:

Mesure des impressions des produits

  • Mesure de l'e-commerce: impressions
  • Données acceptées: tableau de impressionFieldObjects

Mesurez les impressions de produits à l'aide de l'action impression et un ou plusieurs impressionFieldObjects. Dans l'exemple suivant, nous supposons que les détails sur les produits affichés sont connus au moment où l'écran affiché:

// Product impressions are sent by pushing an impressions object
// containing one or more impressionFieldObjects.
dataLayer.push("ecommerce",
    DataLayer.mapOf(
        "currencyCode", "EUR",                                  // Local currency is optional.
        "impressions", DataLayer.listOf(
            DataLayer.mapOf(
                "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),
            DataLayer.mapOf(
                "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/sélections de produits

  • Mesure de l'e-commerce: click
  • Accepte les données: list, tableau de productFieldObjects

Mesurez les sélections de produits en envoyant une action click aux données avec un élément productFieldObject pour représenter produit:

dataLayer.pushEvent("productClick",
    DataLayer.mapOf(
        "ecommerce", DataLayer.mapOf(
            "click", DataLayer.mapOf(
                "actionField", DataLayer.mapOf(
                    "list", "Search Results"),                    // Optional list property.
                "products", DataLayer.listOf(
                    DataLayer.mapOf(
                        "name", "Triblend Android T-Shirt",       // Name or ID is required.
                        "id", "12345",
                        "price", "15.25",
                        "brand", "Google",
                        "category", "Apparel",
                        "variant", "Gray"))))));

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

  • Mesure de l'e-commerce: detail
  • Accepte les données: list, tableau de productFieldObjects

Mesurez une vue des informations détaillées sur le produit en envoyant 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",
    DataLayer.mapOf(
        "detail", DataLayer.mapOf(
            "actionField", DataLayer.mapOf(
                "list", "Apparel Gallery"),               // detail actions have an optional list property.
            "products", DataLayer.listOf(
                DataLayer.mapOf(
                    "name", "Triblend Android T-Shirt",   // Name or ID is required.
                    "id", "12345",
                    "price", "15.25",
                    "brand", "Google",
                    "category", "Apparel",
                    "variant", "Gray")))));

Mesure des ajouts et des suppressions d'articles dans un panier

  • Mesure de l'e-commerce: add, remove
  • Accepte les données: list, tableau de productFieldObjects

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

Ajout d'un produit à un panier

// Measure adding a product to a shopping cart by using an "add"
// actionFieldObject and a list of productFieldObjects.
dataLayer.pushEvent("addToCart",
    DataLayer.mapOf(
        "ecommerce", DataLayer.mapOf(
            "currencyCode", "EUR",
            "add", DataLayer.mapOf(                             // 'add' actionFieldObject measures.
                "products", DataLayer.listOf(
                    DataLayer.mapOf(
                        "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.pushEvent("removeFromCart",
    DataLayer.mapOf(
        "ecommerce", DataLayer.mapOf(
            "remove", DataLayer.mapOf(                      // 'remove' actionFieldObject measures.
                "products", DataLayer.listOf(
                    DataLayer.mapOf(
                        "name", "Triblend Android T-Shirt",
                        "id", "12345",
                        "price", "15.25",
                        "brand", "Google",
                        "category", "Apparel",
                        "variant", "Gray",
                        "quantity", 1))))));

Mesure des promotions

Vous pouvez mesurer les impressions et les sélections concernant les promotions internes d'applications. comme des bannières dans l'application pour annoncer une promotion sur une un sous-ensemble spécifique de produits ou une offre de livraison gratuite.

Mesure des impressions des promotions

  • Mesure de l'e-commerce: promoView
  • Données acceptées: tableau de promoFieldObjects

Pour mesurer une impression de promotion, définissez la clé promoView dans la la couche de données d'e-commerce à un promoFieldObject qui décrit la Promotions présentées aux 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",
    DataLayer.mapOf(
        "promoView", DataLayer.mapOf(
            "promotions", DataLayer.listOf(         // List of promoFieldObjects.
                DataLayer.mapOf(
                    "id", "JUNE_PROMO13",           // ID or Name is required.
                    "name", "June Sale",
                    "creative", "banner1",
                    "position", "slot1"),
                DataLayer.mapOf(
                    "id", "FREE_SHIP13",
                    "name", "Free Shipping Promo",
                    "creative", "skyscraper1",
                    "position", "slot2")))));

Mesure des clics/sélections des promotions

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

dataLayer.pushEvent("promotionClick",
    DataLayer.mapOf(
        "ecommerce", DataLayer.mapOf(
            "promoClick", DataLayer.mapOf(
                "promotions", DataLayer.listOf(
                    DataLayer.mapOf(
                        "id", "JUNE_PROMO13",          // Name or ID is required.
                        "name", "June Sale",
                        "creative", "banner1",
                        "position", "slot1"))))));

Mesure d'un 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'checkout. action.
  2. Le cas échéant, évaluez les options de paiement à l'aide des Action checkout_option.
  3. Vous pouvez éventuellement définir des noms d'étape conviviaux pour le rapport sur l'entonnoir de paiement en configuration des paramètres d'e-commerce dans la Admin de l'interface Web.

1. Mesure des étapes de paiement

  • Mesure de l'e-commerce: checkout
  • Accepte les donné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 dans lesquels les utilisateurs saisissent la livraison et le paiement d'informations, utilisez l'action checkout et la commande step pour indiquer l'étape du processus de paiement mesurée. Vous pouvez également utiliser le champ option pour fournir un élément des données supplémentaires sur le processus de règlement, comme le type de paiement sélectionné par l'utilisateur.

dataLayer.pushEvent("checkout",
    DataLayer.mapOf(
        "ecommerce", DataLayer.mapOf(
            "checkout", DataLayer.mapOf(
                "actionField", DataLayer.mapOf(
                    "step", 1,
                    "option", "Visa"),
                "products", DataLayer.listOf(
                    DataLayer.mapOf(
                        "name", "Triblend Android T-Shirt",
                        "id", "12345",
                        "price", "15.25",
                        "brand", "Google",
                        "category", "Apparel",
                        "variant", "Gray",
                        "quantity", 1))))));

2. Mesure des options de paiement

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

L'option de paiement est utile si vous avez déjà mesuré un à l'étape du règlement, mais que vous souhaitez recueillir des informations supplémentaires l'étape de paiement. (par exemple, le mode de livraison sélectionné par un utilisateur). Pour mesurer cela, utilisez l'action checkout_option. ainsi que les champs step et option.

dataLayer.pushEvent("checkoutOption",
    DataLayer.mapOf(
        "ecommerce", DataLayer.mapOf(
            "checkout_option", DataLayer.mapOf(
                "products", DataLayer.listOf(),     // checkout_option expects a list of products. The workaround is to provide an empty list.
                "actionField", DataLayer.mapOf(
                    "step", 1,
                    "option", "Express")))));

3. Configuration de l'entonnoir de paiement

Si vous le souhaitez, vous pouvez attribuer à chaque étape du processus de paiement qui sera utilisé dans les rapports. Pour configurer ces noms, consultez la Admin de l'interface Web de Google Analytics, sélectionnez la vue (profil), puis cliquez sur Paramètres d'e-commerce. Suivre les instructions de configuration de l'e-commerce pour ajouter un libellé à chaque étape du règlement que vous souhaitez le titre en question.

<ph type="x-smartling-placeholder">
</ph> Configuration de l&#39;e-commerce dans l&#39;interface d&#39;administration de Google Analytics Un paiement
         l&#39;entonnoir de conversion comporte quatre étapes: 1. Vérifiez le panier, 2. Percevoir le paiement
         Infos 3. Confirmer les détails de l&#39;achat 4. Reçu.
Figure 1: Configuration de l'e-commerce et entonnoir de paiement

Mesure des achats

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

Transférez les détails de la transaction vers la couche de données à l'aide de la méthode l'action purchase, ainsi qu'un event qui se déclenchera ; une balise pour laquelle l'e-commerce amélioré est activé. Dans cet exemple, les détails de la transaction sont connues 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",
    DataLayer.mapOf(
        "purchase", DataLayer.mapOf(
            "actionField", DataLayer.mapOf(
                "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", DataLayer.listOf(                   // List of productFieldObjects.
                DataLayer.mapOf(
                    "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.
                DataLayer.mapOf(
                    "name", "Donut Friday Scented T-Shirt",
                    "id", "67890",
                    "price", "33.75",
                    "brand", "Google",
                    "category", "Apparel",
                    "variant", "Black",
                    "quantity", 1)))));

Mesure des remboursements

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

Pour mesurer le remboursement total d'une transaction, envoyez un refund actionFieldObject ainsi que la transaction ID de la transaction remboursée:

// 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",
    DataLayer.mapOf(
        "refund", DataLayer.mapOf(
            "products", DataLayer.listOf(),     // refund expects a list of products. The workaround is to provide an empty list.
            "actionField", DataLayer.mapOf(
                "id", "T12345"))));             // Transaction ID. Required for refunds.

Pour mesurer un remboursement partiel, ajoutez une liste de productFieldObjects, y compris les ID des produits et les quantités remboursé:

// 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",
    DataLayer.mapOf(
        "refund", DataLayer.mapOf(
            "products", DataLayer.listOf(
                DataLayer.mapOf(
                    "id", "P4567",
                    "quantity", 1),                 // Product ID & quantity. Required for partial refunds.
                DataLayer.mapOf(
                    "id", "P8901",
                    "quantity", 2)),
            "actionField", DataLayer.mapOf(
                "id", "T12345"))));                 // Transaction ID.

Combinaison des impressions et des actions

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

L'exemple ci-dessous montre comment mesurer l'attribut product detail [informations sur un produit]. avec des impressions de produit à partir d'un section des produits associés:

dataLayer.push("ecommerce",
    DataLayer.mapOf(
        "impressions", DataLayer.listOf(
            DataLayer.mapOf(
                "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),
            DataLayer.mapOf(
                "name", "Donut Friday Scented T-Shirt",
                "id", "67890",
                "price", "33.75",
                "brand", "Google",
                "category", "Apparel",
                "variant", "Black",
                "list", "Related Products",
                "position", 2)),
        "detail", DataLayer.mapOf(
            "actionField", DataLayer.mapOf(
                "list", "Apparel Gallery"),              // 'detail' actions have an optional list property.
            "products", DataLayer.listOf(
                DataLayer.mapOf(
                    "name", "Triblend Android T-Shirt",   // Name or ID is required.
                    "id", "12345",
                    "price", "15.25",
                    "brand", "Google",
                    "category", "Apparel",
                    "variant", "Gray")))));