Jump to content

Comment installer un pixel de conversion (Publicité Facebook) sur Prestashop


Recommended Posts

Bonjour à tous,

 

Tout est expliqué dans le titre  :P j'ai une boutique sous Prestashop 1.6 je voulais faire une compagne publicitaire d'un produit sur Facebook, il faut que j'insère un pixel (bout de code) dans la page du produit. j'ai essayé de l'insérer ce code dans product.tpl mais ça marche pas :/ 

 

Avez-vous déja fait ce genre de compagne ? comment ?

 

 

Share this post


Link to post
Share on other sites
Ca me semble bien dangereux tout ça !

 

Il faut donc mettre le tag du pixel de venversion entre deux balises {literal}{/literal} et ajouter cela

dans les pages tpl de tous les moyens de paiements !

 

Pour moi, par exemple dans systempay/views/hook/payment.tpl

 

Si des users ont déjà fait le test !

Share this post


Link to post
Share on other sites

Ca me semble bien dangereux tout ça !

 

Pourquoi je ne comprends pas ?

 

Sinon oui, la plus part du temps c'est un hook payment_return.

 

Exemple pour le module Virement c'est dans ce fichier.

 

/modules/bankwire/views/templates/hook/payment_return.tpl

Edited by okom3pom (see edit history)

Share this post


Link to post
Share on other sites
  • 5 months later...
  • 2 months later...
  • 2 weeks later...

Bonjour,

 

Perso j'ai été coller le code Facebook dans le module Google Analytics, histoire de regrouper les trackings au même endroit.

 

Pour ceux que ça intéresse, voici le code à modifier dans le hookOrderConfirmation de ganalytics.php :

				if ($order->id_customer == $this->context->cookie->id_customer)
				{
					$order_products = array();
					$order_products_id = array(); //zebx facebook conversion tracking
					$cart = new Cart($order->id_cart);
					foreach ($cart->getProducts() as $order_product)
					{
						$order_products[] = $this->wrapProduct($order_product, array(), 0, true);
						$order_products_id[] = $order_product['reference']; //zebx facebook conversion tracking
					}

					$transaction = array(
						'id' => $order->id,
						'affiliation' => (version_compare(_PS_VERSION_, '1.5', '>=') && Shop::isFeatureActive()) ? $this->context->shop->name : Configuration::get('PS_SHOP_NAME'),
						'revenue' => $order->total_paid,
						'shipping' => $order->total_shipping,
						'tax' => $order->total_paid_tax_incl - $order->total_paid_tax_excl,
						'url' => $this->context->link->getModuleLink('ganalytics', 'ajax', array(), true),
						'customer' => $order->id_customer);
					$ga_scripts = $this->addTransaction($order_products, $transaction);
					//zebx facebook conversion tracking
					$fb_script = '<!-- Facebook Pixel Code -->
									<script>
									!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
									n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
									n.push=n;n.loaded=!0;n.version=\'2.0\';n.queue=[];t=b.createElement(e);t.async=!0;
									t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
									document,\'script\',\'//connect.facebook.net/en_US/fbevents.js\');

									fbq(\'init\', \'VOTRE_FB_ID\');
									fbq(\'track\', \'Purchase\', {
									  content_ids: '.json_encode($order_products_id).',
									  content_type: \'product\',
									  value: '.$order->total_products.',
									  currency: \''.Tools::safeOutput($this->context->currency->iso_code).'\'
									});</script>
									<noscript><img height="1" width="1" style="display:none"
									src="https://www.facebook.com/tr?id=VOTRE_FB_ID&ev=Purchase&cd[value]='.$order->total_products.'&cd[currency]='.Tools::safeOutput($this->context->currency->iso_code).'&noscript=1"/></noscript>
								<!-- End Facebook Pixel Code -->';								
								
					$this->js_state = 1;
					return $this->_runJs($ga_scripts).$fb_script;
				}

N'oubliez pas d'y mettre votre propre ID Facebook (à 2 endroits, à la place de VOTRE_FB_ID).

 

NB : je viens de modifier mon code avec le nouveau pixel code de FB donc j'ai pas encore de conversion visible dans FB avec cette nouvelle formule... mais ça marchait nickel avec l'ancien code, donc à priori ça doit le faire.

NB2: dans ce nouveau code, j'ai ajouté l'envoi de la liste des références produits vers FB... je ne sais pas encore à quoi ça va ressembler dans les stats FB, donc surprise ^^

 

A+

Zebx

Share this post


Link to post
Share on other sites
  • 2 weeks later...

Non mais je pense ne pas avoir tout compris à vrai dire. :D  C'est à dire que je dois intégrer le pixel facebook dans le fichier ganalytics et après Facebook détectera le pixel ? Je pourrais créer une campagne de conversion sans problème ?

Share this post


Link to post
Share on other sites
  • 2 weeks later...
  • 1 month later...

Bonjour,

pour savoir si cela fonctionne il y a une application sur chrome "facebook Pixel Helper" qui indique si il trouve le pixel sur la page du site

Share this post


Link to post
Share on other sites
  • 5 weeks later...

Bonjour,

 

Tu ouvres le fichier tpl ou tu veux installer le pixel fourni par facebook( Header.tpl par exemple)

tu  ajoutes entre les balises Head le code

{literal}
<!-- Facebook Pixel Code -->

Pixel fournie par Facebook

<!-- End Facebook Pixel Code -->
{/literal}

Puis ... c'est fini !!

 

Attention SAUVEGARDE avant !!! SAUVEGARDE avant !!!SAUVEGARDE avant !!!SAUVEGARDE avant !!!SAUVEGARDE avant !!!SAUVEGARDE avant !!!

  • Like 1

Share this post


Link to post
Share on other sites
  • 1 month later...

Bonjour,

 

Merci de ces infos.

 

Faut-il copier ce code sur tous les tpl ? 

 

Car facebook demande de copier le script dans les head de toutes les pages :blink:

 

Il fournit le message suivant :

 

Instructions
Copy the code below and paste it between the <head> and </head> in your website code. You can add standard events from the list below to track specific actions people take on your website.



Standard Events

Add standard events to your code to track specific types of actions on your website. Copy the code for the type of event you want to measure, and paste it below the pixel code on the relevant page within a <script> tag. Keep in mind standard event codes are case-sensitive. 
 
 
Ensuite, il y a une liste des 10 Events

// ViewContent
 
//Search
 

//AddToCart

 

 

etc.

 

 

Merci d'avance,

 

Bonne journée,

Share this post


Link to post
Share on other sites

Moi je n'ai pas fais comme cela, j'ai mis la partie js dans le global.js / puis editer chaques pages correspondantes (sarch.tpl pour searc etc....) dans chaques fichiers du thème.

Et ça fonctionne très bien !

Share this post


Link to post
Share on other sites

Bonjour,

 

Il y a un seul tpl header pour tout ton site 

 

Bonjour,

 

merci de ta réponse. 

 

Si je mets le code dans le header, est-ce que j'aurais le même résultat que si je le mettais dans le head de chaque page (+ produits) ?

 

Je pose la question comme facebook recommande de le mettre dans le head de chaque page, je me demande si on a le même retour ?

 

Merci d'avance de ton aide

Share this post


Link to post
Share on other sites

Moi je n'ai pas fais comme cela, j'ai mis la partie js dans le global.js / puis editer chaques pages correspondantes (sarch.tpl pour searc etc....) dans chaques fichiers du thème.

Et ça fonctionne très bien !

 

Bonjour,

 

Merci. Et, qu'est ce que cela apporte de plus de coller le js dans le global ?

 

C’est plus rapide à faire ?

Les résultats sont meilleurs ?

 

Merci de ta réponse car je cherche une solution fiable donnant de bons retours de campagne,

 

Merci d'avance de ton aide

Share this post


Link to post
Share on other sites
  • 3 months later...

concernant ce sujet je pense que les idees sont bonnes mais sachez une chose c est que les resultats de conversion dans le panneau d administration facebook ne sera jamais fiable a 100% comme pour google adwords, pourquoi ?

car une fois que votre client se trouve sur votre site son comportement peut etre different et un exemple connu c est si il achete un produit via paypal par exemple et bien l appel de la page de confirmation n est pas forcement genere sur votre site donc cela n est pas vu par le JS et donc resultat tronque de la conversion.

Ce qui veut dire qu au final toutes ses solutions ne sont pas fiable !

Je vous recommande de générer une coupon de réduction pour chacune de vos campagnes que vous affichez sur les bannieres ou contenu de vos campagnes de cette facon a chaque fois qu un utilisateur utilises un coupon vous saurez de quelle campagne pub il provient !

Share this post


Link to post
Share on other sites

les resultats de conversion dans le panneau d administration facebook ne sera jamais fiable a 100% comme pour google adwords

 

Attention à l’ambiguïté de cette phrase. Il faut évidemment comprendre :

 

les résultats de conversion dans le panneau d'administration facebook, comme pour google adwords, ne seront jamais fiables a 100%

 

Ce qui est tout à fait vrai :)

 

 

L'exemple de Paypal en revanche n'est vrai que dans certains cas... tout dépend comment vous intégrez le suivi de conversion...

 

 

Sinon l'idée du coupon est bonne, mais pas nécessairement fiable à 100% non plus, puisque cela implique que le visiteur n'oublie pas de l'utiliser...

 

Disons qu'une combinaison des 2 solutions permettrait d'avoir les stats les plus fiables... sans pour autant atteindre les 100% :D

Share this post


Link to post
Share on other sites
  • 1 month later...

L'ancien pixel étant bientôt obsolète, j'ai installé le nouveau j'ai trouvé l'idée de @Zebx très bonne de mettre la confirmation dans ganalytics par contre c'est dommage de mettre le code entier car on perd les audiences. 

Share this post


Link to post
Share on other sites

Salut,

 

Disons que je fais très très peu de pub sur Facebook donc je me suis contenté de tracker la conversion.

 

Je viens de jeter un oeil vite fait, à priori l'idée serait alors d'appliquer la méthode décrite ici : https://developers.facebook.com/docs/facebook-pixel/api-reference#doublewhammy

 

Ce qui reviendrait à mettre le code de base complet dans header.tpl, et juste ajouter l'événement "purchase" dans ganalytics.

 

A tester...

  • Like 3

Share this post


Link to post
Share on other sites
  • 2 months later...

Jje ne comprend rien aux pixel, impossible de trouver une solution pour novice...

 

D'ailleurs je n'ai jamais accédé au fichier via filezilla (j'y comprends rien) de même pour quelque ligne de code que ce soit...

 

Ca fait plusieurs jours que je passe plusieurs heures par jour, je ne trouve rien de concluant quelqu'un à la solution version noob? (sans module payant, petit budget)

 

Merci!

Edited by ROLANDKULER (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

 

Il te faut un accès  à tes fichiers en passant par un logiciel ftp afin de modifier les codes des fichiers.

Il y a des tutos sur le net, mais si tu as peur de ne pas savoir faire 

il y a un webmaster que j'utilise qui est au top !

 

En même temps le pixel n'est pas obligatoire. !!

 

Cela permet un suivi des pubs de facebook, mais si tu ne sais pas comment récupérer le code, peut être que les informations ne te serviront à rien !!

Share this post


Link to post
Share on other sites
  • 1 month later...

Bonjour,

J'ai eu le même problème que toi. Déjà installe le pixel de base dans ton fichier header.tpl (public_html/themes/default-bootstrap/header.tpl).

 

Le fait que le pixel ne s'affiche pas c'est parce smarty ne recompile pas les fichiers template (en français facile, tu modifies mais ça change rien).

Donc va dans ton Dashboard prestashop > Paramètres avancés > Performances. Tu choisis "Recompiler les fichiers de template s'il ont été mis à jour" et tu désactives le cache. 

 

En principe, ton pixel de base devrait être repéré par facebook. 

Reste plus qu'à mettre les pixels de suivis, je pense tu as les réponses plus haut. 

Share this post


Link to post
Share on other sites
  • 1 month later...

Bonjour,

 

Perso j'ai été coller le code Facebook dans le module Google Analytics, histoire de regrouper les trackings au même endroit.

 

Pour ceux que ça intéresse, voici le code à modifier dans le hookOrderConfirmation de ganalytics.php :

				if ($order->id_customer == $this->context->cookie->id_customer)
				{
					$order_products = array();
					$order_products_id = array(); //zebx facebook conversion tracking
					$cart = new Cart($order->id_cart);
					foreach ($cart->getProducts() as $order_product)
					{
						$order_products[] = $this->wrapProduct($order_product, array(), 0, true);
						$order_products_id[] = $order_product['reference']; //zebx facebook conversion tracking
					}

					$transaction = array(
						'id' => $order->id,
						'affiliation' => (version_compare(_PS_VERSION_, '1.5', '>=') && Shop::isFeatureActive()) ? $this->context->shop->name : Configuration::get('PS_SHOP_NAME'),
						'revenue' => $order->total_paid,
						'shipping' => $order->total_shipping,
						'tax' => $order->total_paid_tax_incl - $order->total_paid_tax_excl,
						'url' => $this->context->link->getModuleLink('ganalytics', 'ajax', array(), true),
						'customer' => $order->id_customer);
					$ga_scripts = $this->addTransaction($order_products, $transaction);
					//zebx facebook conversion tracking
					$fb_script = '<!-- Facebook Pixel Code -->
									<script>
									!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
									n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
									n.push=n;n.loaded=!0;n.version=\'2.0\';n.queue=[];t=b.createElement(e);t.async=!0;
									t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
									document,\'script\',\'//connect.facebook.net/en_US/fbevents.js\');

									fbq(\'init\', \'VOTRE_FB_ID\');
									fbq(\'track\', \'Purchase\', {
									  content_ids: '.json_encode($order_products_id).',
									  content_type: \'product\',
									  value: '.$order->total_products.',
									  currency: \''.Tools::safeOutput($this->context->currency->iso_code).'\'
									});</script>
									<noscript><img height="1" width="1" style="display:none"
									src="https://www.facebook.com/tr?id=VOTRE_FB_ID&ev=Purchase&cd[value]='.$order->total_products.'&cd[currency]='.Tools::safeOutput($this->context->currency->iso_code).'&noscript=1"/></noscript>
								<!-- End Facebook Pixel Code -->';								
								
					$this->js_state = 1;
					return $this->_runJs($ga_scripts).$fb_script;
				}

N'oubliez pas d'y mettre votre propre ID Facebook (à 2 endroits, à la place de VOTRE_FB_ID).

 

NB : je viens de modifier mon code avec le nouveau pixel code de FB donc j'ai pas encore de conversion visible dans FB avec cette nouvelle formule... mais ça marchait nickel avec l'ancien code, donc à priori ça doit le faire.

NB2: dans ce nouveau code, j'ai ajouté l'envoi de la liste des références produits vers FB... je ne sais pas encore à quoi ça va ressembler dans les stats FB, donc surprise ^^

 

A+

Zebx

 

Bonjour Zebx,

 

Je suis sur Prestashop 1.6.1.9.

Ne ne comprends pas comment modifier le code de mon ganalytics.php avec le code que vous proposiez. Je comprends vaguement qu'il faut faire quelque chose avec votre code dans mon fichier ganalytics.php dans la fonction public function hookOrderConfirmation($params) {}... Mais exactement je ne comprends vraiment pas que faut-il faire?

Pouviez-vous m'expliquer plus en détail comment exploiter votre code dans ganalytics.php, s'il vous plait?

 

Cordialement

Edited by CoolWistiti (see edit history)

Share this post


Link to post
Share on other sites
  • 1 month later...

Bonjour,
Moi j'ai mis le code de suivi du pixel comme conseillé entre des balises {literal} dans mon header.tpl et ça a très bien fonctionné merci !

Share this post


Link to post
Share on other sites

Bonjour,

Moi j'ai mis le code de suivi du pixel comme conseillé entre des balises {literal} dans mon header.tpl et ça a très bien fonctionné merci !

 

 

 

Hum je ne pense pas que ça fonctionne sur les events facebook :) 

Share this post


Link to post
Share on other sites

Bonjour à tous,

 

un petit message de remerciement à Zebx pour l'astuce d'ajouter une partie du code dans le module G Analytics. J'ai mis dans le header le code de base pour toutes les pages et dans le module juste le tracking de l'événement "purchase". ça fonctionne très bien. L'extension Chrome "Facebook Pixel Helper" est très utile au passage pour contrôler ses tests.

bonne journée et bonnes ventes ! (avec les soldes !! ^^)

  • Like 1

Share this post


Link to post
Share on other sites

Bonjour,
 
Moi aussi j'essai d'installer le pixel mais sans succès.
 
J'ai donc bien mis le code dans le header.tpl comme suit :

							</div>
						</div>
					</div>
				</section>
				<!-- Facebook Pixel Code -->
				{literal}
				<script>
				!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
				n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
				n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
				t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
				document,'script','https://connect.facebook.net/en_US/fbevents.js');
				fbq('init', 'Mon ID Fb'); // Insert your pixel ID here.
				fbq('track', 'PageView');
				</script>
				<noscript><img height="1" width="1" style="display:none"
				src="https://www.facebook.com/tr?id=Mon ID Fb&ev=PageView&noscript=1"
				/></noscript>
				{/literal}
				<!-- DO NOT MODIFY -->
				<!-- End Facebook Pixel Code -->
				
			</header>
			{if in_array($page_name,array('index'))}
				<div id="slideshow" class="clearfix">
					<div class="">

mais rien, l'extension facebook pixel helper ne detecte rien .....

 

Quelqu'un peut m'aider svp ???

Edited by Sante Detox (see edit history)

Share this post


Link to post
Share on other sites

Bonjour , 

 

https://developers.facebook.com/docs/facebook-pixel/pixel-helper   

 

https://chrome.google.com/webstore/detail/facebook-pixel-helper/fdgfkebogiimcoedlicjlajpkdmockpc?hl=en&gl=US&authuser=1

 

 

  1. {littéral}
  2. <Script>
  3. ! Fonction ( f , b , e , v , n , t , s ) { if ( f . Fbq ) return ; N = f . Fbq = function () { n . Appelez Méthod ?
  4. n . AppelleMethod . Appliquer ( n , arguments ): n . La file d'attente . Push ( arguments )}; si (! f . _fbq ) f . _fbq = n ;
  5. n . Push = n ; n . Chargé =! 0 ; n . Version = '2.0' ; n . Queue = []; T = b . CreateElement ( e ); t . Async =! 0 ;
  6. t . Src = v ; S = b . GetElementsByTagName ( e ) [ 0 ]; s . ParentNode . InsérerAvant ( t , s )} ( fenêtre ,
  7. Document , 'script' , 'https://connect.facebook.net/en_US/fbevents.js' );
  8. Fbq ( 'init' , 'Mon ID Fb' ); // Insérez votre ID de pixel ici.
  9. Fbq ( 'track' , 'PageView' );
  10. </ Script>
  11. <Noscript> <img height = "1" width = "1" style = " display : none "
  12. Src = "https://www.facebook.com/tr?id=Mon ID Fb & ev = PageView & noscript = 1"
  13. /> </ Noscript>
  14. <!-- DO NOT MODIFY -->
    <!-- End Facebook Pixel Code -->
    {/literal}
    </head>
Edited by Soyons zen (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

Ce n'est que du tracking de page, vos codes dans le header là.  

 

Le vrai avantage de ce pixel est de voir les ajouts au panier, les inscriptions à la newsletter, les recherches, les achats ... 

 

A part envoyer les articles vu sur facebookads ce code n'est pas très utile. 

  • Like 1

Share this post


Link to post
Share on other sites

Bonjour,

 

Merci BaySide pour votre réponse mais dans header.tpl je n'ai pas de </head> ni de <head> ...

mon header commence apr <header id="header">

 

si quelqu'un aurait la solution sa serait cool :) mais sino je demanderai a mon webmaster mais j'aurai bien voulu trouver la solution moi-même.

Share this post


Link to post
Share on other sites

Fait une recherche de <head> dans ton dossier thème à priori un leo_theme donc au pire demande au dev 

 

Mais bon comme je l'ai dit plus haut avoir un tackview facebook si on envoie pas un flux de produit ça sert à rien.

 

Il vous faut ensuite ajouter les events facebook 

Share this post


Link to post
Share on other sites

Merci pour votre réponse, oui j'ai vu qu'il y a plusieurs système de tracking (viewcontent, search, addtocart) mais je comptais juste mettre un pixel sur le header pour pouvoir mieux cibler mes campagnes FB en aillant un ciblage similaire à l'audience de mon site !

Bon je ne trouve pas de fichier head et avec Filezilla on ne peux que chercher le nom de fichier et non ce qu'il contient ....

 

Je suis désolé pour toutes ces questions mais je suis débutant dans le codage et acces FTP, etc.

 

Merci pour vos réponses.

Edited by Sante Detox (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites
  • 2 months later...

Bonjour,

 

Quelqu'un a réussi à installer le pixel facebook sur prestsahop 1.7 de manière à ce que le pixel se déclenche uniquement après la confirmation d'un paiement? Si oui pouvez-vous nous dire comment vous avez fait?

 

Merci d'avance

Share this post


Link to post
Share on other sites

Tu récupères le dossier de ton thème et avec notepad++ par exemple tu fais rechercher dans les dossiers <head>

Bonjour à tous, je me greffe à la discussion car étant dans la même problématique de pixel. Et pas de balise head ailleurs que dans ces 2 fichiers :

 

\templates\layouts\layout-both-columns.tpl (1 hit)

\templates\layouts\layout-error.tpl (1 hit)

 

Si quelqu'un à une idée, je prends ;)

Merci

 

Prestashop 1.7.1.2

 

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More