Suivi de l'e-commerce amélioré – SDK iOS

Ce document explique comment mesurer les actions et les impressions liées à l'e-commerce dans l'application à l'aide du SDK Google Analytics pour iOS v3.

Présentation

L'e-commerce amélioré permet de mesurer les interactions des utilisateurs avec les produits tout au long de leur expérience d'achat, y compris les impressions et les clics sur les produits, l'affichage des informations détaillées sur les produits, l'ajout d'un produit à un panier, le lancement du processus de paiement, les transactions et les remboursements.

Implémentation

Avant d'implémenter le suivi de l'e-commerce amélioré dans votre application, vous devez y ajouter la bibliothèque d'e-commerce amélioré.

Après avoir configuré votre application pour utiliser l'e-commerce amélioré, vous pouvez:

Mesure des activités d'e-commerce

En général, une implémentation de l'e-commerce amélioré mesure les impressions de produits et les actions suivantes:

  • Sélectionner un produit
  • Affichage des informations détaillées sur le produit.
  • Impressions et sélection de promotions internes
  • Ajouter / supprimer un produit d'un panier
  • Lancer le processus de paiement d'un produit.
  • Achats et remboursements.

Mesure des impressions

Pour mesurer une impression de produit, définissez les valeurs du produit et de l'impression, puis envoyez-la avec un appel:

id tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setCustomDimension:1 value:@"Member"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];

// Sets the product impression for the next available slot, starting with 1.
[builder addProductImpression:product
               impressionList:@"Search Results"
             impressionSource:@"From Search"];
[tracker set:kGAIScreenName value:@"My Impression Screen"];
[tracker send:[builder build]];

Un produit doit avoir un nom ou une valeur d'identifiant. Toutes les autres valeurs sont facultatives et n'ont pas besoin d'être définies.

Mesure des actions

Les actions sont mesurées en définissant des valeurs de produit, puis en définissant des valeurs d'action de produit pour spécifier l'action à effectuer.

Par exemple, le code suivant mesure la sélection d'un produit affiché dans une liste de résultats de recherche:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setCustomDimension:1 value:@"Member"];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPAClick];
[action setProductActionList:@"Search Results"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];
[builder setProductAction:action];

// Sets the product for the next available slot, starting with 1
[builder addProduct:product];
[tracker set:kGAIScreenName value:@"My Impression Screen"];
[tracker send:[builder build]];

Un produit doit avoir un nom ou une valeur d'identifiant. Toutes les autres valeurs sont facultatives et n'ont pas besoin d'être définies.

Combiner les impressions et les actions

Si vous enregistrez à 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 une vue détaillée d'un produit avec une section de produits associés:

// The product from the related products section.
id tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12346"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"White"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];

// Sets the product impression for the next available slot, starting with 1.
[builder addProductImpression:product
               impressionList:@"Related Products"
             impressionSource:@"From Related"];

// The product being viewed.
product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPADetail];
[builder setProductAction:action];
// Sets the product for the next available slot, starting with 1.
[builder addProduct:product];
[tracker set:kGAIScreenName value:@"Related Products Screen"];
[tracker send:[builder build]];

Mesurer les transactions

Mesurez une transaction en définissant des valeurs de produit, puis des valeurs d'action de produit pour spécifier une action d'achat. Les détails au niveau de la transaction, comme le chiffre d'affaires total, les taxes et les frais de port, sont définis avec les valeurs des actions sur les produits.

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setPrice:@29.20];
[product setCouponCode:@"APPARELSALE"];
[product setQuantity:@1];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Purchase"
                                                                        label:nil
                                                                        value:nil];
GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPAPurchase];
[action setTransactionId:@"T12345"];
[action setAffiliation:@"Google Store - Online"];
[action setRevenue:@37.39];
[action setTax:@2.85];
[action setShipping:@5.34];
[action setCouponCode:@"SUMMER2013"];
[builder setProductAction:action];

// Sets the product for the next available slot, starting with 1
[builder addProduct:product];
[tracker send:[builder build]];

Spécifier la devise

Par défaut, vous pouvez configurer une devise commune et globale pour l'ensemble des transactions et des articles via l'interface Web de gestion de Google Analytics.

La devise locale doit être spécifiée dans la norme ISO 4217. Consultez la documentation de référence sur les codes de devise pour obtenir la liste complète des devises de conversion acceptées.

Les devises locales sont spécifiées en définissant la valeur du code de devise sur l'outil de suivi. Par exemple, cet outil de suivi enverra des valeurs de devise en euros:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTracker"];
[tracker set:kGAIScreenName value:@"transaction"];
[tracker set:kGAICurrencyCode value:@"EUR"]; // Set tracker currency to Euros.
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];
[tracker send:[builder build]];

Mesure des remboursements

Pour rembourser l'intégralité d'une transaction, définissez les valeurs de l'action sur le produit de façon à spécifier l'ID de transaction et un type d'action de remboursement:

// Refund an entire transaction.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Refund"
                                                                        label:nil
                                                                        value:nil];
GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPARefund];
[action setTransactionId:@"T12345"];
[builder setProductAction:action];
[tracker send:[builder build]];

Si aucune transaction correspondante n'est trouvée, le remboursement ne sera pas traité.

Pour mesurer un remboursement partiel, définissez les valeurs de l'action sur le produit afin de spécifier l'ID de transaction, les ID produit et les quantités à rembourser:

// Refund a single product.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Refund"
                                                                        label:nil
                                                                        value:nil];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"]; // Product ID is required for partial refund.
[product setQuantity:@1]; // Quanity is required for partial refund.
[builder addProduct:product];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPARefund];
[action setTransactionId:@"T12345"]; // Transaction ID is required for partial refund.
[builder setProductAction:action];
[tracker send:[builder build]];

Utiliser des événements sans interaction pour les remboursements

Si vous devez envoyer des données de remboursement à l'aide d'un événement et que celui-ci ne fait pas partie du comportement de l'utilisateur normalement mesuré (c'est-à-dire non déclenché par l'utilisateur), nous vous recommandons d'envoyer un événement indépendant de toute interaction. Ainsi, certaines métriques ne seront pas affectées par l'événement. Exemple :

// Refund an entire transaction.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Refund"
                                                                        label:nil
                                                                        value:nil];

[builder set:@"1" forKey:kGAINonInteraction];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPARefund];
[action setTransactionId:@"T12345"];

[builder setProductAction:action];
[tracker send:[builder build]];

Mesure du processus de paiement

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

  1. Ajoutez un code de suivi pour mesurer chaque étape du processus de règlement.
  2. Le cas échéant, ajoutez un code de suivi pour mesurer les options de paiement.
  3. Si vous le souhaitez, vous pouvez définir des noms d'étapes conviviaux pour le rapport sur les entonnoirs de paiement. Pour ce faire, configurez les paramètres d'e-commerce dans la section "Administration" de l'interface Web.

1. Mesurer les étapes du règlement

Pour chaque étape du processus de règlement, vous devez intégrer le code de suivi correspondant afin d'envoyer des données à Google Analytics.

Champ Step

Pour chaque étape de règlement que vous mesurez, vous devez inclure une valeur step. Cette valeur permet de mettre en correspondance vos actions de règlement avec les libellés que vous avez configurés pour chaque étape dans Paramètres d'e-commerce.

Champ Option

Si vous disposez d'informations supplémentaires sur l'étape de règlement donnée au moment où elle est mesurée, vous pouvez définir le champ de l'option de paiement avec une action de paiement pour capturer ces informations. Il peut s'agir, par exemple, du type de paiement par défaut de l'utilisateur (par exemple, "Visa").

Mesurer une étape de paiement

Pour mesurer une étape de règlement, définissez les valeurs des produits, puis les valeurs des actions sur les produits afin d'indiquer une action de règlement. Le cas échéant, vous pouvez également définir une étape et une option de paiement avec la page de paiement.

L'exemple suivant montre comment mesurer la première étape d'un processus de paiement avec un seul produit et fournit des informations supplémentaires sur le type de paiement:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setPrice:@29.20];
[product setCouponCode:@"APPARELSALE"];
[product setQuantity:@1];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Checkout"
                                                                        label:nil
                                                                        value:nil];

// Add the step number and additional info about the checkout to the action.
GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPACheckout];
[action setCheckoutStep:@1];
[action setCheckoutOption:@"Visa"];

[builder addProduct:product];
[builder setProductAction:action];
[tracker send:[builder build]];

2. Mesure des options de paiement

Les options de paiement vous permettent de mesurer des informations supplémentaires sur l'état du règlement. Cela s'avère utile si vous avez mesuré une étape de règlement, mais que des informations supplémentaires sur la même étape de paiement sont disponibles une fois que l'option sélectionnée par l'utilisateur a été définie. Par exemple, l'utilisateur sélectionne un mode de livraison.

Pour mesurer une option de paiement, définissez des valeurs d'action sur le produit pour indiquer une option de paiement, et incluez le numéro de l'étape et la description de l'option.

Vous souhaiterez probablement mesurer cette action une fois que l'utilisateur aura effectué une action pour passer à l'étape suivante du processus de paiement. Exemple :

// (On "Next" button click.)
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"CheckoutOption"
                                                                        label:nil
                                                                        value:nil];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPACheckoutOption];
[action setCheckoutStep:@1];
[action setCheckoutOption:@"Fedex"];

[builder setProductAction:action];
[tracker send:[builder build]];
// Advance to next page.

3. Configuration de l'entonnoir de paiement

Vous pouvez attribuer un nom descriptif à chaque étape du processus de paiement. Celui-ci sera utilisé dans les rapports. Pour configurer ces noms, accédez à la section Administration de l'interface Web 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 attribuer un libellé à chaque étape de règlement dont vous souhaitez effectuer le suivi.

Paramètres d&#39;e-commerce dans la section &quot;Administration&quot; de l&#39;interface Web Google Analytics L&#39;e-commerce est activé, et quatre libellés d&#39;étape de l&#39;entonnoir de paiement ont été ajoutés: 1. Vérifier le panier 2. Collecter les informations de paiement, 3. Confirmez les détails de l&#39;achat, 4. Reçu
Figure 1: Configuration de l'e-commerce - Entonnoir de paiement

Mesure des promotions internes

L'e-commerce amélioré permet de mesurer les impressions et les sélections de promotions internes (bannières affichées pour promouvoir une promotion, par exemple).

Impressions de la promotion

Les impressions de promotions internes sont généralement mesurées avec le premier visionnage de l'écran ou un événement en définissant des valeurs de promotion. Exemple :

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommercePromotion *promotion = [[GAIEcommercePromotion alloc] init];
[promotion setId:@"PROMO_1234"];
[promotion setName:@"Summer Sale"];
[promotion setCreative:@"summer_banner2"];
[promotion setPosition:@"banner_slot1"];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Promotion"
                                                                        label:nil
                                                                        value:nil];

[builder addPromotion:promotion];
[tracker send:[builder build]];

Nombre de clics sur la promotion

Vous pouvez mesurer les clics sur les promotions internes en utilisant les valeurs des promotions, puis en définissant les valeurs des actions sur les produits pour indiquer un clic sur la promotion. Exemple :

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommercePromotion *promotion = [[GAIEcommercePromotion alloc] init];
[promotion setId:@"PROMO_1234"];
[promotion setName:@"Summer Sale"];
[promotion setCreative:@"summer_banner2"];
[promotion setPosition:@"banner_slot1"];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Internal Promotions"
                                                                       action:@"click"
                                                                        label:@"Summer Sale"
                                                                        value:nil];

[builder set:kGAIPromotionClick forKey:kGAIPromotionAction];
[builder addPromotion:promotion];
[tracker send:[builder build]];