Comment ajouter Ecommerce Analytics à Magento

Écrit par Mario SAM

Google fournit plusieurs outils gratuits pour les webmasters, les gestionnaires et les annonceurs pour profiter pleinement de tout ce qui se passe sur Internet.

Imaginez que vous publiez vos produits à l’aide de liens sponsorisés à partir de google adwords. Comment puis-je savoir quels clics génèrent des ventes? Quel produit convertit plus? Quel est le plus lucratif?

Tout cela peut être mesuré en utilisant google analytics, à condition d’activer le système – comme indiqué ci-dessous.

Suivi Ecommerce

Une fois que vous avez un compte dans google analytics et que votre module est activé dans Magento, revenez à votre analytics et cliquez sur le menu “Admin“, puis cliquez sur “Afficher les paramètres“.

Activer le suivi

Sélectionnez simplement la valeur monétaire par défaut de votre système, puis vérifiez le “Activé” dans le suivi du commerce électronique suivant.

Cela vous permettra de suivre vos ventes par google analytics. Pour savoir quelles annonces AdWords sont en train de convertir en ventes, vous devez associer vos analyses au compte AdWords.

Link Analytics à Adwords

Vous trouvez ce paramètre juste en dessous du suivi du commerce électronique.

Changements dans Magento

Une fois que vous avez activé le suivi du commerce électronique dans Google Analytics, qu’est-ce que je dois changer dans le code Magento?

RIEN

Absolument rien, Magento est prêt à respecter les paramètres avancés google analytics dans la saisie des données (commandes et produits).

Donc, si votre système n’émet pas de données de conversion des ventes dans les analyses, il est très probable que la page “ordre réussi” a été modifiée par un module de paiement ou même votre thème personnalisé a supprimé le suivi du code.

Si cela est nécessaire, ou si vous êtes curieux, voyons ci-dessous comment le système est prêt à envoyer ces données.

3 en 1

Nous avons 3 (trois) fichiers dans Magento qui reproduisent ce résultat – ceci à partir de la version 1.7.x. Le premier d’entre eux est googleanalytics.xml:

app > design > frontend > base > default > layout > googleanalytics.xml

C’est le fichier qui crée la mise en page, donc c’est le XML qui indique quels fichiers seront utilisés, voir template=”googleanalytics/ga.phtml”. Ce fichier se trouve à:

app > design > frontend > base > default > template > googleanalytics > ga.phtml

Lorsque vous analysez le code, vous trouverez l’appel suivant:

_getOrdersTrackingCode() ?>

Par conséquent, cette méthode définie dans block type=”googleanalytics/ga” devrait s’exécuter chaque fois qu’une requête est faite.

app > code > core > Mage > GoogleAnalytics > Block > Ga.php

Et, finalement, dans cette classe, nous trouvons la méthode présentée dans phtml:

protected function _getOrdersTrackingCode() {
    $orderIds = $this->getOrderIds();
    if (empty($orderIds) || !is_array($orderIds)) {
        return;
    }
    $collection = Mage::getResourceModel('sales/order_collection')->addFieldToFilter('entity_id', array('in' => $orderIds));
    $result = array();
    foreach ($collection as $order) {
        if ($order->getIsVirtual()) {
            $address = $order->getBillingAddress();
        } else {
            $address = $order->getShippingAddress();
        }
        $result[] = sprintf("_gaq.push(['_addTrans', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s']);",
        $order->getIncrementId(),
        $this->jsQuoteEscape(Mage::app()->getStore()->getFrontendName()),
        $order->getBaseGrandTotal(),
        $order->getBaseTaxAmount(),
        $order->getBaseShippingAmount(),
        $this->jsQuoteEscape(Mage::helper('core')->escapeHtml($address->getCity())),
        $this->jsQuoteEscape(Mage::helper('core')->escapeHtml($address->getRegion())),
        $this->jsQuoteEscape(Mage::helper('core')->escapeHtml($address->getCountry()))
        );
    foreach ($order->getAllVisibleItems() as $item) {
        $result[] = sprintf("_gaq.push(['_addItem', '%s', '%s', '%s', '%s', '%s', '%s']);",
        $order->getIncrementId(),
        $this->jsQuoteEscape($item->getSku()), $this->jsQuoteEscape($item->getName()),
        null, // there is no "category" defined for the order item
        $item->getBasePrice(), $item->getQtyOrdered()
        );
        }
        $result[] = "_gaq.push(['_trackTrans']);";
    }
    return implode("\n", $result);
}

Pour comprendre ce que fait le code ci-dessus, lisez la procédure sur le responsable google analytics: http://code.google.com/apis/analytics/docs/gaJS/gaJSApiEcommerce.html#_gat.GA_Tracker_._addTrans

Accompagnements

Si vous n’avez pas déjà google analytics activé sur votre système, lisez la publication: Google Analytics dans Magento, où vous pouvez surveiller le mouvement de votre magasin virtuel.

Lisez également la publication: Suivi des événements dans Magento, qui sont des paramètres avancés pour surveiller les actions qui se produisent dans la navigation (sans submit).

Voir aussi une explication de Google sur le suivi du commerce électronique:

Et ne jamais prendre de nouvelles décisions dans l’obscurité.

Succès!

L'auteur

Mario SAM

En attendant qu'une opportunité se présente de m'installer en France, je continue d'aider à distance.