Le plug-in d'e-commerce amélioré pour analytics.js permet de mesurer les interactions des utilisateurs avec les produits sur des sites Web d'e-commerce dans l'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 au panier, le lancement du processus de paiement, les transactions et les remboursements.
Migration et compatibilité avec le plug-in d'e-commerce (ecommerce.js)
Si vous avez déjà implémenté la mesure de l'e-commerce et que vous souhaitez commencer à utiliser l'e-commerce amélioré, deux options principales s'offrent à vous:
Utiliser une nouvelle propriété
Vous pouvez ajouter un outil de suivi supplémentaire à une propriété nouvellement créée et taguer/activer l'e-commerce amélioré pour la nouvelle propriété. Pour en savoir plus sur l'envoi de données à plusieurs propriétés à partir d'une même page, consultez la page Utiliser plusieurs objets de suivi.
Migrer une propriété existante
Pour passer du plug-in d'e-commerce au plug-in d'e-commerce amélioré, les utilisateurs actuels d'analytics.js doivent supprimer et remplacer les références par du code d'e-commerce amélioré.
Si vous utilisez actuellement ga.js, vous devez d'abord migrer vers analytics.js avant d'utiliser le plug-in d'e-commerce amélioré.
Les données sur les transactions et les articles collectées précédemment à l'aide du plug-in ecommerce.js ne seront pas affectées par la migration et resteront disponibles dans les propriétés et les profils auxquels elles ont été envoyées à l'origine.
Types de données et actions d'e-commerce amélioré
Vous pouvez envoyer plusieurs types de données d'e-commerce:
Données sur les impressions
Représente les informations relatives à un produit consulté. Il est appelé impressionFieldObject
et contient les valeurs suivantes:
Clé | Type de valeur | Obligatoire | Description |
---|---|---|---|
id |
text | *Oui |
Identifiant produit ou SKU (par exemple, P67890).
* Vous devez définir |
name |
text | *Oui |
Nom du produit (par exemple, "T-shirt Android").
* Vous devez définir |
list |
text | Non | Liste ou collection à laquelle appartient le produit (par exemple, les résultats de recherche) |
list_name |
text | Non | Liste ou collection à laquelle appartient le produit (par exemple, les résultats de recherche) |
brand |
text | Non | Marque associée au produit (par exemple, Google). |
category |
text | Non |
Catégorie à laquelle appartient le produit (par exemple, "Vêtements"). Utilisez / comme délimiteur pour spécifier jusqu'à cinq niveaux de hiérarchie (par exemple, Vêtements/Hommes/T-shirts).
|
variant |
text | Non | Variante du produit (par exemple, noir). |
position |
integer | Non | Position du produit dans une liste ou une collection (par exemple, 2). |
list_position |
integer | Non | Position du produit dans une liste ou une collection (par exemple, 2). |
price |
Nombre | Non | Prix d'un produit (par exemple, 29.20). |
Données relatives aux produits
Les données produit représentent des produits individuels qui ont été consultés, ajoutés au panier, etc. Elles sont appelées productFieldObject
et contiennent les valeurs suivantes:
Clé | Type de valeur | Obligatoire | Description |
---|---|---|---|
id |
text | *Oui |
Identifiant produit ou SKU (par exemple, P67890).
* Vous devez définir l'ID ou |
name |
text | *Oui |
Nom du produit (par exemple, "T-shirt Android").
* Vous devez définir l'ID ou |
brand |
text | Non | Marque associée au produit (par exemple, Google). |
category |
text | Non | Catégorie à laquelle appartient le produit (par exemple, "Vêtements"). Utilisez / comme délimiteur pour spécifier jusqu'à cinq niveaux de hiérarchie (par exemple, Vêtements/Hommes/T-shirts). |
variant |
text | Non | Variante du produit (par exemple, noir). |
price |
Nombre | Non | Prix d'un produit (par exemple, 29.20). |
quantity |
integer | Non | Quantité d'un produit (par exemple, 2). |
coupon |
text | Non | Code promotionnel associé à un produit (par exemple, SUMMER_SALE13). |
position |
integer | Non | Position du produit dans une liste ou une collection (par exemple, 2). |
list_position |
integer | Non | Position du produit dans une liste ou une collection (par exemple, 2). |
Données de promotion
Représente les informations sur une promotion ayant été consultée. Il est appelé promoFieldObject
et contient les valeurs suivantes:
Clé | Type de valeur | Obligatoire | Description |
---|---|---|---|
id |
text | *Oui |
Identifiant de la promotion (par exemple, PROMO_1234).
* Vous devez définir |
name |
text | *Oui |
Nom de la promotion (par exemple, "Soldes d'été").
* Vous devez définir |
creative |
text | Non | Création associée à la promotion (par exemple, bannière_été2). |
creative_name |
text | Non | Nom de la création (par exemple, bannière_été2). |
position |
text | Non | Position de la création (par exemple, "Banner_slot_1"). |
creative_slot |
text | Non | Nom de l'emplacement de la création (par exemple, espace_bannière_1). |
Données d'action
Représente les informations sur une action effectuée concernant l'e-commerce.
Il est appelé actionFieldObject
et contient les valeurs suivantes:
Clé | Type de valeur | Obligatoire | Description |
---|---|---|---|
id |
text | *Oui |
ID de la transaction (par exemple, T1234).
* Obligatoire si le type d'action est |
affiliation |
text | Non | Magasin ou affiliation à partir duquel la transaction a été effectuée (par exemple, Google Store). |
revenue |
Nombre | Non |
Spécifie le revenu total ou le total général associé à la transaction (par exemple, 11,99). Cette valeur peut inclure les frais de livraison, les frais fiscaux ou d'autres ajustements au revenu total que vous souhaitez inclure dans votre calcul de revenus. |
valeur | Nombre | Non | Valeur (revenus) associée à l'événement. |
tax |
Nombre | Non | Montant total des taxes associées à la transaction. |
shipping |
Nombre | Non | Frais de port associés à la transaction. |
coupon |
text | Non | Bon de réduction utilisé lors de la transaction. |
list |
text | Non | Liste à laquelle appartiennent les produits associés. Facultatif. |
items |
tableau | Non | Tableau contenant les produits associés. |
step |
integer | Non | Numéro représentant une étape du processus de règlement. Facultatif pour les actions de paiement. |
checkout_step |
integer | Non | Numéro représentant une étape du processus de règlement. |
option |
text | Non |
Champ supplémentaire pour les actions checkout et checkout_option pouvant décrire les informations des options sur la page de paiement, comme le mode de paiement sélectionné.
|
checkout_option |
text | Non | Option de paiement (mode de paiement sélectionné). |
Actions liées aux produits et à la promotion
Les actions spécifient comment interpréter les données sur les produits et les promotions que vous envoyez à Google Analytics.
Action | Événement | Description |
---|---|---|
click |
Clic sur un produit ou un lien de produit pour un ou plusieurs produits. | |
detail |
Affichage des informations détaillées sur le produit. | |
add |
Ajout d'un ou plusieurs produits à un panier | |
remove |
Supprimer un ou plusieurs produits d'un panier | |
checkout |
Lancement du processus de règlement pour un ou plusieurs produits... | |
checkout_option |
Envoi de la valeur de l'option pour une étape de règlement donnée. | |
purchase |
La vente d'un ou de plusieurs produits | |
refund |
Remboursement d'un ou de plusieurs produits. | |
promo_click |
Clic sur une promotion interne. | |
add_to_cart |
Un utilisateur ajoute un ou plusieurs produits à son panier. | |
begin_checkout |
Un utilisateur commence le processus de paiement pour un ou plusieurs produits. | |
checkout_progress |
Un utilisateur finalise le règlement après la première étape. | |
purchase |
Un utilisateur effectue un achat. | |
refund |
Un ou plusieurs produits sont remboursés à l'utilisateur. | |
remove_from_cart |
Un utilisateur supprime un ou plusieurs produits d'un panier. | |
select_content |
Un utilisateur clique sur un produit ou un lien de produit. | |
set_checkout_option |
Étape de règlement effectuée par un utilisateur. | |
view_item |
Un utilisateur consulte les détails d'un produit. | |
view_item_list |
Un utilisateur consulte une liste d'un ou plusieurs produits. | |
view_promotion |
Un utilisateur clique sur une promotion interne. | |
view_refund |
Un utilisateur consulte un remboursement pour un ou plusieurs produits. |
Implémentation
Les sections suivantes décrivent comment implémenter le plug-in d'e-commerce amélioré pour mesurer l'activité d'e-commerce sur un site Web avec la bibliothèque analytics.js.
Charger le plug-in d'e-commerce
Pour réduire la taille de la bibliothèque analytics.js, l'e-commerce amélioré n'est pas fourni dans la bibliothèque par défaut. Au lieu de cela, il est fourni sous la forme d'un module de plug-in qui doit être chargé avant d'être utilisé.
Pour charger le plug-in d'e-commerce amélioré, utilisez la commande suivante:
ga('require', 'ec');
Cette commande doit avoir lieu après la création de l'objet de suivi et avant l'utilisation d'une fonctionnalité spécifique de l'e-commerce amélioré.
Envoyer des données d'e-commerce amélioré
Une fois chargées, deux nouvelles commandes spécifiques à l'e-commerce amélioré sont ajoutées à l'outil de suivi par défaut et vous pouvez commencer à envoyer des données d'e-commerce.
- Mesurer les activités d'e-commerce
- Mesurer les transactions
- Mesurer les remboursements
- Mesurer le processus de paiement
- Mesurer les promotions internes
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:
- Clics sur une association de produits.
- Affichage des informations détaillées sur le produit.
- Impressions et clics de promotions internes.
- Ajouter/supprimer un produit d'un panier
- Lancer le processus de paiement d'un produit.
- Achats et remboursements.
Mesure des impressions
Les impressions de produits sont mesurées à l'aide de la commande ec:addImpression
. Les informations sur le produit sont ajoutées dans un impressionFieldObject
.
Par exemple, le code suivant mesure l'impression d'un produit dans une liste de résultats de recherche:
ga('ec:addImpression', { // Provide product details in an impressionFieldObject.
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel/T-Shirts', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'list': 'Search Results', // Product list (string).
'position': 1, // Product position (number).
'dimension1': 'Member' // Custom dimension (string).
});
Un élément impressionFieldObject
doit avoir une valeur name
ou id
. Toutes les autres valeurs sont facultatives et n'ont pas besoin d'être définies.
Mesure des actions
Les actions sont mesurées à l'aide de la commande ec:addProduct
avec productFieldObject
pour ajouter des informations détaillées sur le produit et de la commande ec:setAction
pour spécifier l'action à effectuer.
Par exemple, le code suivant mesure un clic sur un lien de produit affiché dans une liste de résultats de recherche:
ga('ec:addProduct', { // Provide product details in a productFieldObject.
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'position': 1, // Product position (number).
'dimension1': 'Member' // Custom dimension (string).
});
ga('ec:setAction', 'click', { // click action.
'list': 'Search Results' // Product list (string).
});
Un élément productFieldObject
doit avoir une valeur name
ou id
. 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 impression from a Related Products section.
ga('ec:addImpression', { // Provide product details in an impressionFieldObject.
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel/T-Shirts', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'list': 'Related Products', // Product list (string).
'position': 1 // Product position (number).
});
// The product being viewed.
ga('ec:addProduct', { // Provide product details in an productFieldObject.
'id': 'P67890', // Product ID (string).
'name': 'YouTube Organic T-Shirt', // Product name (string).
'category': 'Apparel/T-Shirts', // Product category (string).
'brand': 'YouTube', // Product brand (string).
'variant': 'gray', // Product variant (string).
'position': 2 // Product position (number).
});
ga('ec:setAction', 'detail'); // Detail action.
Mesurer les transactions
Mesurez une transaction en utilisant la commande ec:setAction
et en définissant le type d'action sur purchase
. Les détails au niveau de la transaction, comme le revenu total, les taxes et la livraison, sont fournis dans un actionFieldObject
:
ga('ec:addProduct', { // Provide product details in an productFieldObject.
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'black', // Product variant (string).
'price': '29.20', // Product price (number).
'coupon': 'APPARELSALE', // Product coupon (string).
'quantity': 1 // Product quantity (number).
});
ga('ec:setAction', 'purchase', { // Transaction details are provided in an actionFieldObject.
'id': 'T12345', // (Required) Transaction id (string).
'affiliation': 'Google Store - Online', // Affiliation (string).
'revenue': '37.39', // Revenue (number).
'tax': '2.85', // Tax (number).
'shipping': '5.34', // Shipping (number).
'coupon': 'SUMMER2013' // Transaction coupon (string).
});
Un élément actionFieldObject
doit avoir une valeur id
si le type d'action est purchase
ou refund
. Les autres valeurs sont facultatives et n'ont pas besoin d'être définies.
Mesure des remboursements
Pour rembourser l'intégralité d'une transaction, définissez une action refund
et fournissez l'ID de transaction:
// Refund an entire transaction.
ga('ec:setAction', 'refund', {
// Transaction ID is only required field for full refund.
'id': 'T12345'
});
Si aucune transaction correspondante n'est trouvée, l'appel de fichier refund
ne sera pas traité.
Pour mesurer un remboursement partiel, définissez une action refund
et spécifiez l'ID de transaction, les ID produit et les quantités à rembourser:
// Refund a single product.
ga('ec:addProduct', {
'id': 'P12345', // Product ID is required for partial refund.
'quantity': 1 // Quantity is required for partial refund.
});
ga('ec:setAction', 'refund', {
'id': 'T12345', // Transaction ID is required for partial refund.
});
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 d'un comportement normalement mesuré sur site (c'est-à-dire non déclenché par l'utilisateur), nous vous recommandons d'envoyer un événement non-interaction. Cela permet d'éviter que des métriques telles que le taux de rebond, le temps passé sur le site, etc. ne soient affectées par l'événement. Exemple :
ga('send', 'event', 'Ecommerce', 'Refund', {'nonInteraction': 1});
Mesure du processus de paiement
Pour mesurer chaque étape d'un processus de paiement:
- Ajoutez du code pour mesurer chaque étape du processus de règlement.
- Le cas échéant, ajoutez du code pour mesurer les options de paiement.
- Si vous le souhaitez, vous pouvez définir des noms d'étape 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 insérer le code 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 paiement donnée au moment où elle est mesurée, vous pouvez définir le champ
option
avec une actioncheckout
pour capturer ces informations. Par exemple, le type de paiement par défaut pour l'utilisateur (par exemple,Visa
).Mesurer une étape de paiement
Pour mesurer une étape de règlement, utilisez
ec:addProduct
pour chaque produit etec:setAction
pour un paiement. Le cas échéant,ec:setAction
peut utiliser unactionFieldObject
supplémentaire pour décrire l'étape de paiement avec unstep
et unoption
.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:
ga('ec:addProduct', { // Provide product details in an productFieldObject. 'id': 'P12345', // Product ID (string). 'name': 'Android Warhol T-Shirt', // Product name (string). 'category': 'Apparel', // Product category (string). 'brand': 'Google', // Product brand (string). 'variant': 'black', // Product variant (string). 'price': '29.20', // Product price (number). 'quantity': 1 // Product quantity (number). }); // Add the step number and additional info about the checkout to the action. ga('ec:setAction','checkout', { 'step': 1, 'option': 'Visa' });
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 est utile si vous avez mesuré une étape de règlement lors de la page vue initiale, mais que des informations supplémentaires sur la même étape de paiement sont disponibles une fois qu'une 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, utilisez ec:setAction
pour indiquer un checkout_option
, 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 cliqué pour passer à l'étape suivante du processus de paiement. Exemple :
// (On "Next" button click)
ga('ec:setAction', 'checkout_option', {'step': 2, 'option': 'FedEx'});
ga('send', 'event', 'Checkout', 'Option', {
hitCallback: function() {
// advance to next page
},
});
3. Configuration de l'entonnoir de paiement
Vous pouvez attribuer un nom descriptif à chaque étape de votre 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 étiqueter chaque étape de règlement que vous souhaitez mesurer.
Mesure des promotions internes
Le plug-in d'e-commerce amélioré permet de mesurer les impressions et les clics associés à des promotions internes (bannières affichées pour promouvoir une vente sur une autre section d'un site Web, par exemple).
Impressions de la promotion
Les impressions de promotion interne sont généralement mesurées lors du chargement de la page et sont envoyées avec la page vue initiale à l'aide de la commande ec:addPromo
. Exemple :
ga('ec:addPromo', { // Promo details provided in a promoFieldObject.
'id': 'PROMO_1234', // Promotion ID. Required (string).
'name': 'Summer Sale', // Promotion name (string).
'creative': 'summer_banner2', // Creative (string).
'position': 'banner_slot1' // Position (string).
});
Nombre de clics sur la promotion
Vous pouvez mesurer les clics sur les promotions internes en définissant l'action promo_click
. Exemple :
// Identify the promotion that was clicked.
ga('ec:addPromo', {
'id': 'PROMO_1234',
'name': 'Summer Sale',
'creative': 'summer_banner2',
'position': 'banner_slot1'
});
// Send the promo_click action with an event.
ga('ec:setAction', 'promo_click');
ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');
Par exemple, pour mesurer une page d'informations détaillées sur un produit avec une impression et un clic promotionnel, commencez par envoyer les données sur le produit et l'impression avec la page vue initiale, puis envoyez les données concernant les clics promotionnels dans un événement distinct:
// 1. Send product and impression data with pageview.
ga('ec:addProduct', {
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'position': 1, // Product position (number).
});
// The impression from the Related Products section.
ga('ec:addImpression', {
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel/T-Shirts', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'list': 'Related Products', // Product list (string).
'position': 1, // Product position (number).
});
ga('ec:setAction', 'detail'); // Detail action.
ga('send', 'pageview'); // Send the product data with initial pageview.
// 2. Send the promo click data when the promo click occurs.
// Call this function when promo click occurs.
function onPromoClick() {
ga('ec:addPromo', {
'id': 'PROMO_1234',
'name': 'Summer Sale',
'creative': 'summer_banner2',
'position': 'banner_slot1'
});
// Send the promo_click action with an event.
ga('ec:setAction', 'promo_click');
ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');
}
Un élément promoFieldObject
doit avoir une valeur name
ou id
. Toutes les autres valeurs sont facultatives et n'ont pas besoin d'être définies.
Exemple complet
Les extraits de code ci-dessous montrent comment mesurer le cycle de vie de l'e-commerce d'un seul produit, de l'impression initiale à la transaction, à l'aide du plug-in d'e-commerce amélioré.
Mesure d'une impression de produit
Dans cet exemple, un utilisateur consulte d'abord le produit dans une liste de résultats de recherche. Pour mesurer cette impression de produit, utilisez la commande ec:addImpression
et fournissez les informations détaillées sur le produit dans un impressionFieldObject
:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('ec:addImpression', {
'id': 'P12345', // Product details are provided in an impressionFieldObject.
'name': 'Android Warhol T-Shirt',
'category': 'Apparel/T-Shirts',
'brand': 'Google',
'variant': 'black',
'list': 'Search Results',
'position': 1 // 'position' indicates the product position in the list.
});
ga('ec:addImpression', {
'id': 'P67890',
'name': 'YouTube Organic T-Shirt',
'category': 'Apparel/T-Shirts',
'brand': 'YouTube',
'variant': 'gray',
'list': 'Search Results',
'position': 2
});
ga('send', 'pageview'); // Send product impressions with initial pageview.
Mesurer un clic sur un produit
Ensuite, un utilisateur exprime son intérêt pour ce produit particulier en cliquant sur la fiche produit pour afficher plus de détails.
Pour mesurer ce clic sur un produit, utilisez ec:addProduct
et ec:setAction
:
// Called when a link to a product is clicked.
function onProductClick() {
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black',
'position': 1
});
ga('ec:setAction', 'click', {list: 'Search Results'});
// Send click with an event, then send user to product page.
ga('send', 'event', 'UX', 'click', 'Results', {
hitCallback: function() {
document.location = '/product_details?id=P12345';
}
});
}
L'association de produits pourrait alors être implémentée comme suit:
<a href="/next-page.html"
onclick="onProductClick(); return !ga.loaded;">
Android Warhol T-Shirt
</a>
Mesurer la vue détaillée d'un produit
Après avoir cliqué sur la fiche produit, l'utilisateur accède à la page d'informations détaillées sur le produit.
Pour mesurer cette vue d'informations détaillées sur le produit, utilisez ec:addProduct
et ec:setAction
pour spécifier une action detail
:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black'
});
ga('ec:setAction', 'detail');
ga('send', 'pageview'); // Send product details view with the initial pageview.
Mesurer un ajout ou une suppression du panier
L'utilisateur exprime son intention d'acheter l'article en l'ajoutant à un panier.
Pour mesurer l'ajout d'un produit à un panier ou sa suppression, utilisez ec:addProduct
et définissez le type add
ou remove
:
// Called when a product is added to a shopping cart.
function addToCart(product) {
ga('ec:addProduct', {
'id': product.id,
'name': product.name,
'category': product.category,
'brand': product.brand,
'variant': product.variant,
'price': product.price,
'quantity': product.qty
});
ga('ec:setAction', 'add');
ga('send', 'event', 'UX', 'click', 'add to cart'); // Send data using an event.
}
Mesure du processus de paiement
L'utilisateur est maintenant prêt à commencer le processus de règlement qui, dans cet exemple, comprend deux étapes, chacune sur des pages distinctes:
- Ajoutez les détails du mode de paiement (payment.html).
- Ajoutez des informations de livraison (shipping.html).
Le cas échéant, assurez-vous d'avoir correctement configuré un entonnoir de paiement dans "Administration de l'interface Web", sous Paramètres d'e-commerce. Exemple :
Étape 1 : Paiement
Pour mesurer la première étape du règlement, utilisez ec:addProduct
pour chaque produit du panier et ec:setAction
pour indiquer une valeur checkout
.
ec:setAction
utilise un actionFieldObject
pour décrire l'étape de règlement avec un numéro, et des informations supplémentaires sur le type de paiement par défaut pour cet utilisateur ont été incluses à l'aide du champ option
:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
/**
* Called when the user begins the checkout process.
* @param {Array} cart An array representing the user's shopping cart.
*/
function checkout(cart) {
for(var i = 0; i < cart.length; i++) {
var product = cart[i];
ga('ec:addProduct', {
'id': product.id,
'name': product.name,
'category': product.category,
'brand': product.brand,
'variant': product.variant,
'price': product.price,
'quantity': product.qty
});
}
}
// In the case of checkout actions, an additional actionFieldObject can
// specify a checkout step and option.
ga('ec:setAction','checkout', {
'step': 1, // A value of 1 indicates this action is first checkout step.
'option': 'Visa' // Used to specify additional info about a checkout stage, e.g. payment method.
});
ga('send', 'pageview'); // Pageview for payment.html
Étape 2 : Expédition
Pour mesurer la deuxième étape du règlement, utilisez ec:addProduct
pour chaque produit du panier et ec:setAction
pour indiquer un paiement. Dans ce cas, nous n'avons pas d'informations supplémentaires sur l'option de livraison sélectionnée lors de l'envoi de la page vue initiale. Cette situation sera donc gérée séparément à l'aide de ec:setAction
pour indiquer une checkout_option
.
// Measure checkout step 2:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
/**
* Called when the user begins the checkout process.
* @param {Array} cart An array representing the user's shopping cart.
*/
function checkout(cart) {
for(var i = 0; i < cart.length; i++) {
var product = cart[i];
ga('ec:addProduct', {
'id': product.id,
'name': product.name,
'category': product.category,
'brand': product.brand,
'variant': product.variant,
'price': product.price,
'quantity': product.qty
});
}
}
ga('ec:setAction','checkout', {'step': 2});
ga('send', 'pageview'); // Pageview for shipping.html
// Called when user has completed shipping options.
function onShippingComplete(stepNumber, shippingOption) {
ga('ec:setAction', 'checkout_option', {
'step': stepNumber,
'option': shippingOption
});
ga('send', 'event', 'Checkout', 'Option', {
hitCallback: function() {
// Advance to next page.
}
});
}
Le formulaire peut alors être implémenté comme suit:
<a href="/next-page.html"
onclick="onShippingComplete(2, 'FedEx'); return !ga.loaded;">
Continue
</a>
Mesure d'une transaction
Enfin, l'utilisateur finalise le processus de paiement et envoie son achat.
Pour mesurer les ventes d'un ou de plusieurs produits, utilisez ec:addProduct
pour ajouter chaque produit, puis ec:setAction
pour spécifier un purchase
. Les informations au niveau de la transaction, telles que le montant total des revenus, les taxes, etc., peuvent être spécifiées via un élément actionFieldObject
. Exemple :
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black',
'price': '29.20',
'quantity': 1
});
// Transaction level information is provided via an actionFieldObject.
ga('ec:setAction', 'purchase', {
'id': 'T12345',
'affiliation': 'Google Store - Online',
'revenue': '37.39',
'tax': '2.85',
'shipping': '5.34',
'coupon': 'SUMMER2013' // User added a coupon at checkout.
});
ga('send', 'pageview'); // Send transaction data with initial pageview.
Spécifier des devises locales
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. Par défaut, la devise globale est utilisée pour tous les articles et transactions. Pour les sites Web qui effectuent des transactions dans plusieurs devises, le plug-in d'e-commerce vous permet de spécifier la devise locale de la transaction.
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 à l'aide de la propriété de suivi currencyCode
. Par exemple, cet outil de suivi enverra des valeurs de devise en euros:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('set', 'currencyCode', 'EUR'); // Set currency to Euros.
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black',
'price': '21.89',
'quantity': 1
});
ga('ec:setAction', 'purchase', {
id: 'T12345',
affiliation: 'Google Store - Online',
revenue: '28.03',
tax: '2.14',
shipping: '4.00',
coupon: 'SUMMER2013'
});
ga('send', 'pageview');