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 ?

 

 

Link to comment
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 !

Link to comment
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

Link to comment
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 ?

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...
  • 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
Link to comment
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,

Link to comment
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

Link to comment
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

Link to comment
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 !

Link to comment
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

Link to comment
Share on other sites

  • 1 month later...

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
Link to comment
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)
Link to comment
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 !!

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

Link to comment
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)
Link to comment
Share on other sites

  • 1 month later...

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
Link to comment
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)
Link to comment
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)
Link to comment
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.

Link to comment
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
Link to comment
Share on other sites

  • 2 months later...

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

 

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