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, y compris les impressions, les clics sur les produits, l'affichage des détails des produits, l'ajout d'un produit au panier, le lancement du processus de règlement, les transactions et les remboursements.
Migration et compatibilité avec le plug-in d'e-commerce (ecommerce.js)
Si vous avez déjà mis en œuvre 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 pour une propriété nouvellement créée et 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 seule page, consultez la page Utiliser plusieurs objets de suivi.
Migrer une propriété existante
Pour migrer du plug-in d'e-commerce vers le plug-in d'e-commerce amélioré, les utilisateurs d'analytics.js actuels doivent supprimer et remplacer les références par un 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. Elles resteront disponibles dans les propriétés et les profils auxquels elles ont été initialement envoyées.
Actions et types de données d'e-commerce amélioré
Vous pouvez envoyer plusieurs types de données d'e-commerce:
Données sur les impressions
Représente des informations sur un produit consulté. Il est appelé impressionFieldObject
et contient les valeurs suivantes:
Clé | Type de valeur | Obligatoire | Description |
---|---|---|---|
id |
text | *Oui |
L'identifiant produit ou le code SKU (par exemple, P67890).
* Vous devez définir l'une des options suivantes : |
name |
text | * Oui |
Nom du produit (par exemple, T-shirt Android).
* Vous devez définir l'une des options suivantes : |
list |
text | Non | Liste ou collection à laquelle appartient le produit (par exemple, résultats de recherche) |
list_name |
text | Non | Liste ou collection à laquelle appartient le produit (par exemple, 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 |
number (nombre) | Non | Prix d'un produit (par exemple, 29,20). |
Données relatives aux produits
Les données produit représentent les 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 |
L'identifiant produit ou le code SKU (par exemple, P67890).
* Vous devez définir l'ID ou la valeur |
name |
text | *Oui |
Nom du produit (par exemple, T-shirt Android).
* Vous devez définir l'ID ou la valeur |
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 |
number (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 la promotion
Représente des informations sur une promotion qui a été vue. Il est appelé promoFieldObject
et contient les valeurs suivantes:
Clé | Type de valeur | Obligatoire | Description |
---|---|---|---|
id |
text | * Oui |
Identifiant de la promotion (PROMO_1234, par exemple).
* Vous devez définir l'une des options suivantes : |
name |
text | *Oui |
Nom de la promotion (promotions estivales, par exemple).
* Vous devez définir l'une des options suivantes : |
creative |
text | Non | Création associée à la promotion (par exemple, "summer_banner2"). |
creative_name |
text | Non | Nom de la création (par exemple, "été_bannière2"). |
position |
text | Non | Position de la création (par exemple, bannière_emplacement_1). |
creative_slot |
text | Non | Nom de l'emplacement de la création (par exemple, bannière_emplacement_1). |
Données d'action
Représente des informations sur une action liée à l'e-commerce qui a eu lieu.
Elle est appelée actionFieldObject
et contient les valeurs suivantes:
Clé | Type de valeur | Obligatoire | Description |
---|---|---|---|
id |
text | *Oui |
L'ID de la transaction (par exemple, T1234).
* Obligatoire si le type d'action est |
affiliation |
text | Non | Magasin ou affiliation à l'origine de la transaction (par exemple, Google Store) |
revenue |
number (nombre) | Non |
Indique le total des revenus ou du total général associé à la transaction (par exemple, 11.99). Cette valeur peut inclure les frais de port, les taxes ou d'autres ajustements au revenu total que vous souhaitez inclure dans le calcul de vos revenus. |
valeur | number (nombre) | Non | Valeur (c'est-à-dire, revenu) associée à l'événement. |
tax |
number (nombre) | Non | Montant total des taxes associées à la transaction. |
shipping |
number (nombre) | Non | Frais de port associés à la transaction. |
coupon |
text | Non | Bon de réduction utilisé pour 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 | Nombre représentant une étape du processus de règlement. Facultatif pour les actions "checkout". |
checkout_step |
integer | Non | Nombre représentant une étape du processus de règlement. |
option |
text | Non |
Champ supplémentaire pour les actions checkout et checkout_option qui peuvent décrire des informations sur les options sur la page de règlement, comme le mode de paiement sélectionné.
|
checkout_option |
text | Non | Option de paiement (mode de paiement sélectionné). |
Actions sur les produits et les promotions
Les actions spécifient comment interpréter les données produit et de promotion que vous envoyez à Google Analytics.
Action | Événement | Description |
---|---|---|
click |
Clic sur un produit ou sur un lien vers un ou plusieurs produits. | |
detail |
Vue détaillée des produits. | |
add |
Ajout d'un ou de plusieurs produits à un panier | |
remove |
Supprimez 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 |
Vente d'un ou de plusieurs produits | |
refund |
Remboursement d'un ou 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 lance le processus de règlement pour un ou plusieurs produits. | |
checkout_progress |
Un utilisateur finalise le paiement 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 vers un 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 la liste d'un ou de 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 intégrer le plug-in d'e-commerce amélioré pour mesurer l'activité d'e-commerce sur un site Web à l'aide de 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. Il est fourni en tant que 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 être exécutée après la création de votre objet de suivi et avant d'utiliser une fonctionnalité spécifique à l'e-commerce amélioré.
Envoyer des données d'e-commerce amélioré
Une fois le chargement terminé, deux nouvelles commandes spécifiques à l'e-commerce amélioré seront ajoutées à l'outil de suivi par défaut, et vous pourrez 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 règlement
- Mesurer les promotions internes
Mesure des activités d'e-commerce
Une implémentation typique de l'e-commerce amélioré mesure les impressions de produit et l'une des actions suivantes:
- Cliquer sur un lien vers un produit
- Affichage des détails du produit.
- Impressions et clics associés aux promotions internes.
- Ajout/suppression d'un produit du panier
- Lancement du processus de règlement pour un produit
- Achats et remboursements.
Mesure des impressions
Les impressions de produits sont mesurées à l'aide de la commande ec:addImpression
. Les détails sur le produit sont ajoutés 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 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 une commande productFieldObject
pour ajouter des informations détaillées sur le produit, et de la commande ec:setAction
pour spécifier l'action en cours d'exécution.
Par exemple, le code suivant mesure un clic sur un lien 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 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 produit et une action, vous pouvez combiner et mesurer ces données en 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 à l'aide de la commande ec:setAction
et en définissant le type d'action sur purchase
. Les détails au niveau de la transaction, tels que le revenu total, les taxes et les frais de livraison, sont fournis dans un champ 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 actionFieldObject
doit avoir une valeur id
si le type d'action est purchase
ou refund
. Toutes les autres valeurs sont facultatives et n'ont pas besoin d'être définies.
Mesure des remboursements
Pour rembourser une transaction entière, définissez une action refund
et fournissez l'ID de la 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 refund
ne sera pas traité.
Pour mesurer un remboursement partiel, définissez une action refund
et spécifiez l'ID de la transaction, le ou 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 hors 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 normal sur le site (c'est-à-dire qu'il n'est pas déclenché par l'utilisateur), nous vous recommandons d'envoyer un événement sans 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});
Évaluation du processus de règlement
Pour mesurer chaque étape d'un processus de règlement:
- Ajoutez du code pour mesurer chaque étape du processus de règlement.
- Le cas échéant, ajoutez du code pour mesurer les options de règlement.
- Vous pouvez éventuellement définir des noms d'étape conviviaux pour le rapport sur l'entonnoir de paiement en configurant les paramètres d'e-commerce dans la section d'administration de l'interface Web.
1. Mesure des étapes de paiement
Pour chaque étape de votre processus de règlement, vous devez insérer le code correspondant pour envoyer des données à Google Analytics:
Champ
step
Vous devez inclure une valeur de
step
pour chaque étape de règlement que vous mesurez. Cette valeur permet de mapper vos actions de règlement sur les étiquettes que vous avez configurées pour chaque étape dans les paramètres d'e-commerce.Champ
option
Si vous disposez d'informations supplémentaires sur l'étape de paiement donnée au moment de la mesure de l'étape, vous pouvez définir le champ
option
avec une actioncheckout
pour capturer ces informations. Par exemple, il peut s'agir du type de paiement par défaut pour l'utilisateur (par exemple,Visa
).Mesure d'une étape de règlement
Pour mesurer une étape de règlement, utilisez
ec:addProduct
pour chaque produit, puisec:setAction
pour un règlement. Le cas échéant,ec:setAction
peut prendre l'attributactionFieldObject
supplémentaire pour décrire l'étape de règlement à l'aide d'unstep
et d'unoption
.L'exemple suivant montre comment mesurer la première étape d'un processus de règlement, 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. Cette approche est utile si vous avez mesuré une étape de règlement au cours de la page vue initiale, mais que des informations supplémentaires sur cette même étape sont disponibles après 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, utilisez ec:setAction
pour indiquer un checkout_option
, et inclure le numéro de l'étape et la description de l'option.
Vous voudrez probablement mesurer cette action une fois que l'utilisateur a cliqué pour passer à l'étape suivante du processus de règlement. 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 conversion
À chaque étape du processus de règlement, vous pouvez attribuer un nom descriptif qui sera utilisé dans les rapports. Pour configurer ces noms, accédez à la section Administration de l'interface Web de Google Analytics, sélectionnez la vue (profil) et cliquez sur Paramètres de commerce électronique. Suivez les instructions de configuration de l'e-commerce pour ajouter un libellé à chaque étape du 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 pour les promotions internes, comme les bannières affichées pour promouvoir une vente sur une autre section d'un site Web.
Impressions de la promotion
Les impressions de promotions internes 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 les produits et les impressions avec la page vue initiale, puis envoyez les données sur 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');
}
La valeur de promoFieldObject
doit être 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 le cycle de vie de l'e-commerce d'un seul produit peut être mesuré à partir de l'impression initiale jusqu'à la transaction, à l'aide du plug-in d'e-commerce amélioré.
Mesure d'une impression de produit
Dans cet exemple, l'utilisateur consulte d'abord le produit dans une liste de résultats de recherche. Pour mesurer cette impression de produit, exécutez la commande ec:addImpression
et fournissez les détails du 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 en cliquant sur la fiche produit pour afficher plus de détails.
Pour mesurer ce clic, 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';
}
});
}
Le lien produit peut alors être implémenté comme suit:
<a href="/next-page.html"
onclick="onProductClick(); return !ga.loaded;">
Android Warhol T-Shirt
</a>
Mesurer une vue des détails d'un produit
Après avoir cliqué sur la fiche produit, l'utilisateur consulte la page d'informations détaillées sur le produit.
Pour mesurer cette vue détaillée d'un 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 un retrait du panier
L'utilisateur exprime son intention d'acheter l'article en l'ajoutant à un panier.
Pour mesurer l'ajout ou la suppression d'un produit d'un panier, 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 règlement
L'utilisateur est maintenant prêt à commencer le processus de règlement, qui comprend deux étapes, chacune sur une page distincte:
- Ajoutez des informations de paiement (payment.html).
- Ajoutez les informations de livraison (shipping.html).
Le cas échéant, assurez-vous d'avoir correctement configuré un entonnoir de conversion lors du paiement dans la section "Administration de l'interface Web", sous Paramètres de l'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 un checkout
.
ec:setAction
utilise un élément actionFieldObject
pour décrire l'étape du 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 – Livraison
Pour mesurer la deuxième étape du règlement, utilisez ec:addProduct
pour chaque produit du panier, et ec:setAction
pour indiquer un règlement. Dans ce cas, nous ne disposons pas d'informations supplémentaires sur l'option de livraison sélectionnée lors de l'envoi de la page vue initiale. Cette information sera traité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>
Mesurer une transaction
Enfin, l'utilisateur finalise le processus de règlement et envoie son achat.
Pour mesurer la vente d'un ou plusieurs produits, utilisez ec:addProduct
pour ajouter chaque produit, puis ec:setAction
pour spécifier purchase
. Les informations au niveau des transactions, comme le total des revenus, les taxes, etc., peuvent être spécifiées via un 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 mondiale commune pour toutes les transactions et tous les articles via l'interface Web de gestion 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 selon la norme ISO 4217
. Consultez le document 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 les valeurs en devises 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');