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:
- Impressions du produit
- Clics/Sélections des produits
- Impressions des informations détaillées sur le produit
- Ajouter / Supprimer du panier
- Impressions générées par la promotion
- Clics/Sélections sur la promotion
- Règlement des achats
- Achats
- Remboursements
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 deproductFieldObjects
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 deproductFieldObjects
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 deproductFieldObjects
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:
- Mesurez chaque étape du processus de règlement à l'aide de l'
checkout
. action. - Le cas échéant, évaluez les options de paiement à l'aide des
Action
checkout_option
. - 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 deproductFieldObjects
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">Mesure des achats
- Mesure de l'e-commerce:
purchase
- Données acceptées:
id
(ID de transaction), tableau deproductFieldObjects
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 deproductFieldObjects
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")))));