Envoyer des commandes E-commerce
Rappel: Pour associer la visite d’un utilsiateur web à ses potentiels achats (et au revenu), vous devez envoyer les informations de transaction à Contentsquare via une commande dédiée. Cette commande transmet à Contentsquare la référence de la commande, son montant, les articles achetés, etc.
Envoyer une transaction (sans Merchandising)
Section titled Envoyer une transaction (sans Merchandising)Pour envoyer les informations relatives à la transaction à Contentsquare, exécutez cette commande à chaque fois qu’un visiteur termine un achat sur votre site ; renseignez les valeurs selon l’ID, le montant et la devise
<script type="text/javascript"> window._uxa = window._uxa || []; // Push transaction info into CS global object window._uxa.push(['ec:transaction:create', { 'id': '123', /* Transaction ID (string, up to 40 characters) */ 'revenue': '9.99', /* Transaction's total amount paid (integer or string, up to 12 digits and 2 decimals - extra decimals are truncated) */ 'currency': 'usd' /* Currency value (string - numeric or alphanumeric ISO 4217 value) (optional) */ }]);</script>
Suivi par :
<script type="text/javascript"> // Send the information to Contentsquare window._uxa.push(['ec:transaction:send']);</script>
Si aucune autre information merchandising ne nécessite d’être envoyée, vous pouvez inclure la commande ec:transaction:send
dans la même balise <script>
:
<script type="text/javascript"> window._uxa = window._uxa || []; // Push transaction info into CS global object window._uxa.push(['ec:transaction:create', { 'id': '123', /* Transaction ID (string, up to 40 characters) */ 'revenue': '9.99', /* Transaction's total amount paid (integer or string, up to 12 digits and 2 decimals - extra decimals are truncated) */ 'currency': 'usd' /* Currency value (string - numeric or alphanumeric ISO 4217 value) (optional) */ }]); // Send the information to Contentsquare window._uxa.push(['ec:transaction:send']);</script>
Plusieurs transactions
Section titled Plusieurs transactionsVous pouvez envoyer plusieurs transactions à Contentsquare avec chacune un ID différent :
- Si les transactions sont enovyées avec un ID identique depuis la même session, seul le dernier est enregistré dans la base de données,
- Si les transactions sont envoyées avec des IDs différents y compris depuis la même session, tous sont enregistrés dans la base de données.
Envoyer une transaction (pour Merchandising)
Section titled Envoyer une transaction (pour Merchandising)Lorsque vous implémentez le tracking ecommerce pour Merchandising, vous devez spécifiez les produits achetés dans chaque transaction, en plus des informations standards relatives à la transaction déjà mentionnées.
Pour chaque produit acheté, le script suivant doit être déclenché, en plus de l’information standard sur la transaction expliquée ci-dessus, suivie de la commande ec:transaction:send
:
<script type="text/javascript"> // Push individual product info into CS global object window._uxa.push(['ec:transaction:items:add', { 'id': '123', /* Transaction ID (string, up to 40 characters) */ 'sku': '123ABC', /* Product code (string, up to 20 characters) */ 'price': '9.99', /* Product unit price actually paid by the visitor; Not the nominal price (integer or string, up to 6 digits and 2 decimals - extra decimals are truncated) */ 'quantity': '1', /* Quantity (whole number between 1 and 32766) */ 'name': 'Black scarf', /* Product name (string, up to 50 characters) */ 'category': 'Scarves', /* optional - Product category (string, up to 20 characters) */ }]);</script>
Voici un exemple de code pour une transaction complète sur Merchandising :
<script type="text/javascript"> window._uxa = window._uxa || [];
// Push transaction info into CS global object window._uxa.push(['ec:transaction:create', { 'id': '123', /* Transaction ID (string, up to 40 characters) */ 'revenue': '9.99', /* Transaction's total amount paid (integer or string, up to 12 digits and 2 decimals - extra decimals are truncated) */ 'currency': 'usd' /* Currency value (string - numeric or alphanumeric ISO 4217 value) (optional) */ }]); // Push individual product info into CS global object (to be repeated per each product) window._uxa.push(['ec:transaction:items:add', { 'id': '123', /* Transaction ID (string, up to 40 characters) */ 'sku': '123ABC', /* Product code (string, up to 20 characters) */ 'price': '9.99', /* Product unit price actually paid by the visitor; Not the nominal price (integer or string, up to 6 digits and 2 decimals - extra decimals are truncated) */ 'quantity': '1', /* Quantity (whole number between 1 and 32766) */ 'name': 'Black scarf', /* Product name (string, up to 50 characters) */ 'category': 'Scarves', /* optional - Product category (string, up to 20 characters) */ }]); // Send the information to Contentsquare window._uxa.push(['ec:transaction:send']);</script>
Voici un exemple complet pour une transaction (incluant des produits individuels pour Merchandising) avec des informations provenant du datalayer :
<script type="text/javascript"> window._uxa = window._uxa || []; window._uxa.push(['ec:transaction:create', { 'id': dataLayer.ecommerce.transactionId, 'revenue': dataLayer.ecommerce.totalRevenue, 'currency': dataLayer.ecommerce.currency }]); for (var i=0; i<dataLayer.ecommerceItems.length; i++) { window._uxa.push(['ec:transaction:items:add', { 'id': dataLayer.ecommerce.transactionId, 'name': dataLayer.ecommerceItems[i].name, 'sku': dataLayer.ecommerceItems[i].sku, 'category': dataLayer.ecommerceItems[i].category, 'price': dataLayer.ecommerceItems[i].finalPrice, 'quantity': dataLayer.ecommerceItems[i].quantity }]); } window._uxa.push(['ec:transaction:send']);</script>
Commande ou produits sans montant
Section titled Commande ou produits sans montantChaque commande doit obligatoirement avoir un montant. Pour remonter tout de même ces transactions dans votre taux de conversion, vous pouvez mettre le montant à 0
; attention toutefois aux conséquences sur le panier moyen (il s’agit du même fonctionnement pour le prix d’un produit du panier).
Multiples Transactions
Section titled Multiples TransactionsIl est possible d’envoyer plusieurs transactions vers Contentsquare lorsque celles-ci ont des IDs différents :
-
Si plusieurs transactions sont envoyées avec des IDs identiques dans une même session, seule la dernière reçue sera insérée dans la base de données.
-
Si plusieurs transactions sont envoyées avec différents IDs (même sur une session identique), alors elles seront toutes insérées dans la base de données.
Vérifier l’envoi d’une transaction
Section titled Vérifier l’envoi d’une transactionL’extension Chrome Contentsquare Tracking Setup Assistant ↗ affiche chaque transaction envoyée avec les données correspondantes.
Pour vérifier les données envoyées pour les transactions, suivez les requêtes GET vers //c.contentsquare.net/transaction
sera envoyée, avec ces paramètres :
paramètre | définition | type |
---|---|---|
pid | L’identifiant du projet | Integer |
id | Identifiant de la transaction | String |
revenue | Montant de la commande | Double |
items (optionnel) | Liste des produits de la commande | JSON |