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>

Vous 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 montant

Chaque 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).

Il 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 transaction

L’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ètredéfinitiontype
pidL’identifiant du projetInteger
idIdentifiant de la transactionString
revenueMontant de la commandeDouble
items (optionnel)Liste des produits de la commandeJSON