Jump to content

Google analytics : montant des transactions enregistrées en livraison au lieu de chiffre d'affaire


Recommended Posts

Bonjour,

 

Si quelqu'un sait d'où cela peut venir... :blink:

 

J'utilise le plugin "Google analytics" par Prestashop avec une configuration multiboutique sur la boutique principale. Le paiement se fait par SystemPay ou PayPal. L'option eCommerce est activée dans Google Analytics ainsi que l'option "Universal Google Analytics" des deux cotés, sans attribution améliorée des liens.

 

A première vue, la courbe du chiffre d'affaire est totalement plate malgré des commandes passées. Pourtant, ces mêmes commandes sont bien vues par Google Analytics puisqu'elles apparaissent dans la vue par quantités.

 

En cliquant sur un produit dans Google Analytics, surprise ! Il y a bien un montant mais il apparaît dans la colonne "Livraison" alors que les colonnes "Taxes" et "Chiffre d'affaire" sont à zéro.

 

Merci pour toute piste permettant de résoudre ce problème.

 

 

Link to comment
Share on other sites

  • 3 weeks later...

Bonjour, 

 

J'ai moi aussi un dysfonctionnement entre Universal Analytics, le module ganalytics 1.6 et Prestashop 1.5.5.0. 

L'option Universal Analytics est bien activée dans le module. Les visites sont correctement comptabilisées.

 

Les commandes sont bien prises en compte, mais le chiffre d'affaire affiche désespérément 0 €.

La TVA et le transport fonctionnent normalement. 

 

Je retrouve le chiffre d'affaire sur un seul rapport Google Analytics : dans Conversions > Commerce Electronique > Performance des produits. Là, j'ai bien le chiffre d'affaire réalisé par produit.

 

Il semble donc que le problème vienne uniquement de la transmission des informations relatives au chiffre d'affaire global de la commande.

 

Mais quel fichier modifier ? Et comment ? 

 

Code ganalytics affiché dans le code source du header : 

<script type="text/javascript">(function (i, s, o, g, r, a, m) {
        i['GoogleAnalyticsObject'] = r;
        i[r] = i[r] || function () {
            (i[r].q = i[r].q || []).push(arguments)
        }, i[r].l = 1 * new Date();
        a = s.createElement(o),
                m = s.getElementsByTagName(o)[0];
        a.async = 1;
        a.src = g;
        m.parentNode.insertBefore(a, m)
    })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
    

    ga('create', 'UA-12345678-1');

        ga('send', 'pageview');</script>

Code Universal Analytics de Google pour effectuer le suivi : 

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-12345678-1', 'appro-btp.com');
  ga('send', 'pageview');

</script> 

D'avance merci de votre aide ;-) !

Edited by BubbleWorld (see edit history)
Link to comment
Share on other sites

  • 1 month later...

Bonjour,

 

Pour corriger ce problème, il faut aller éditer le fichier : modules/ganalytics/header.tpl, et remplacer :

			ga('ecommerce:addTransaction', {
				'id': '{$trans.id}',
				'store': '{$trans.store}',
				'total': '{$trans.total}',
				'tax': '{$trans.tax}',
				'shipping': '{$trans.shipping}',
				'city': '{$trans.city}',
				'state':'{$trans.state}',
				'country': '{$trans.country}',
				'currency': 'EUR'
			});

Par :

			ga('ecommerce:addTransaction', {
				'id': '{$trans.id}',
				'store': '{$trans.store}',
				'revenue': '{$trans.total}',
				'tax': '{$trans.tax}',
				'shipping': '{$trans.shipping}',
				'city': '{$trans.city}',
				'state':'{$trans.state}',
				'country': '{$trans.country}',
				'currency': 'EUR'
			});

Ou mieux, de surcharger le fichier header.tpl dans le thème pour qu'il n'y ait pas de problème lors d'une mise à jour prochaine de ce module.

Link to comment
Share on other sites

  • 2 months later...

Bonjour et merci de votre réponse ! 

 

Ci-dessous, le code contenu dans module/ganalytics/header.tpl :

<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{$ganalytics_id}']);
// Recommanded value by Google doc and has to before the trackPageView
_gaq.push(['_setSiteSpeedSampleRate', 5]);

_gaq.push(['_trackPageview'{if isset($pageTrack)}, '{$pageTrack}'{/if}]);

{if $isOrder eq true}		{* If it's an order we need more data for stats *}
  _gaq.push(['_addTrans',
    '{$trans.id}',			{* order ID - required			*}
    '{$trans.store}',		{* affiliation or store name	*}
    '{$trans.total}',		{* total - required				*}
    '{$trans.tax}',			{* tax							*}
    '{$trans.shipping}',	{* shipping						*}
    '{$trans.city}',		{* city							*}
    '{$trans.state}',		{* state or province			*}
    '{$trans.country}'		{* country						*}
  ]);

	{foreach from=$items item=item}
		_gaq.push(['_addItem',
		'{$item.OrderId}',		{* order ID - required		*}
		'{$item.SKU}',			{* SKU/code - required		*}
		'{$item.Product}',		{* product name				*}
		'{$item.Category}',		{* category or variation	*}
		'{$item.Price}',		{* unit price - required	*}
		'{$item.Quantity}'		{* quantity - required		*}
		]);
	{/foreach}
	{* submits transaction to the Analytics servers *}
{literal}
  _gaq.push(['_trackTrans']);	
{/literal}
{/if}
{literal}
(function() {
	var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
	ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
	var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})(); {/literal}
</script>

Le code est différent du vôtre. Pouvez-vous faire un copier-collé de votre code ?

D'avance merci ;-)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...