[Facebook Ads] 6 Techniques avancĂ©es pour faire des miracles avec le pixel Facebook đŸŽ©

  • Facebook Ads
  • 07 Janvier 2019
  • 11 commentaires

Le pixel Facebook est aussi puissant que difficile Ă  utiliser...

La documentation est rare et souvent incomplĂšte. Mais Ă  force de jouer et de rechercher, j'ai fini par trouver des bouts de code prĂȘts Ă  l'emploi qui permettent de faire des merveilles.

Ces contenu provient de ma formation Facebook Ads avancée.

1. Fire un event aprĂšs 60 secondes de lecture

TrĂšs utile pour mesurer la performance, l’intĂ©rĂȘt de vos campagnes et dĂ©tecter les contenus qui ont le plus d'intĂ©rĂȘt pour vos visiteurs.

Ce code consiste Ă  fire un event comme "Lecture 60 secondes" pour tous ceux qui restent au moins 60 secondes sur la page.

Tactique #1: Utiliser un vrai KPI pour mesurer la performance de vos campagnes CPC

Lorsque vous lancez une campagne Facebook Ads, habituellement, vous vous contentez de mesurer la performance en fonction du CTR et du CPC de votre publicité.

Ceci n'a aucun sens car l'objectif, c'est que votre article soit lu. Donc, au lieu de vous baser sur le CPC, vous allez créer la conversion personnalisée "Lecture de 60 secondes" en vous basant sur l'event "Lecture 60 secondes".

Tactique #2: Créer des audience de super qualité

Une erreur commune est de retargeter tous les visiteurs de votre site...
Que diriez-vous de retargeter seulement ceux qui lisent vos contenus Ă  la place?

MĂȘme procĂ©dĂ© que pour la conversion personnalisĂ©e sauf que cette fois-ci, vous allez crĂ©er une audience "Lecture 60 secondes".

Ainsi vous allez pouvoir créer des campagnes de retargeting uniquement avec de vrais lecteurs engagés et non pas des petits curieux qui ne vous servent à rien si ce n'est de donner plus d'argent à Mark Z.

Voici le code Ă  ajouter avant la fermeture de la balise </body>

<script>
// Delay pixel fire by 60 seconds
var seconds = 60; // remplacer 60 par la durée que vous voulez
setTimeout(function() {
  fbq('track', 'TimeOnSite = 60 seconds'); // Remplacer le nom de l'event
}, seconds * 1000);
</script>

2. Fire un event si page scroll = 75%

Une autre façon de vérifier la qualité de votre contenu, c'est le scroll de la page. Ce code vous permet de vérifier que vos internautes scrollent la page jusqu'à la fin du contenu.

MĂȘme procĂ©dĂ©: vous pouvez crĂ©er des conversions et audiences personnalisĂ©es en vous basant sur cet event.

L'avantage de cette technique, c'est que certains bots restant longtemps sur vos pages (cf. ma vidéo sur le trafic bot) pourraient vous créer de fausses bonnes audiences.

La solution consiste donc à combiner les events pour créer un point de contrÎle en plus, exemple:

Durée = 60 seconde + Scroll de la page à 75% = Ajout à la super audience

Voici le code:

<script>
var executeWhenReachedPagePercentage = function(percentage, callback) {
  if (typeof percentage !== 'number') {
    console.error(
      'First parameter must be a number, got',
      typeof percentage,
      'instead',
    );
  }

  if (typeof callback !== 'function') {
    console.error(
      'Second parameter must be a function, got',
      typeof callback,
      'instead',
    );
  }

  function getDocumentLength() {
    var D = document;
    return Math.max(
        D.body.scrollHeight, D.documentElement.scrollHeight,
        D.body.offsetHeight, D.documentElement.offsetHeight,
        D.body.clientHeight, D.documentElement.clientHeight
    )
  }

  function getWindowLength() {
    return window.innerHeight || 
      (document.documentElement || document.body).clientHeight;
  }

  function getScrollableLength() {
    if (getDocumentLength() > getWindowLength()) {
      return getDocumentLength() - getWindowLength();
    } else {
      return 0;
    }
  }

  var scrollableLength = getScrollableLength();

  window.addEventListener("resize", function(){
    scrollableLength = getScrollableLength();
  }, false)

  function getCurrentScrolledLengthPosition() {
   return window.pageYOffset || 
     (document.documentElement || document.body.parentNode || document.body).scrollTop;
  }

  function getPercentageScrolled() {
    if (scrollableLength == 0) {
      return 100;
    } else {
      return getCurrentScrolledLengthPosition() / scrollableLength * 100;
    }
  }

  var executeCallback = (function() {
    var wasExecuted = false;
    return function() {
      if (!wasExecuted && getPercentageScrolled() > percentage) {
        wasExecuted = true;
        callback();
      }
    };
  })();

  if (getDocumentLength() == 0 ||
    (getWindowLength()/getDocumentLength() * 100 >= percentage)) {
    callback();
  } else {
    window.addEventListener('scroll', executeCallback, false);
  }
};

executeWhenReachedPagePercentage(75, function() {
  fbq('track', 'Scroll75');
});
</script>

3. Créer des audiences de cliqueurs de publicités

On vient de voir comment créer une super audience engagée. Et si on allait plus loin encore pour créer des conversions et des audiences d'internautes qui cliquent sur vos publicité Adsense et Taboola? Magique non? :)

Cette technique est parfaite pour ceux qui ont des sites d'Ă©dition ou font de l'arbitrage.

Si l'utilisateur clique sur une pub, on fire une conversion dans Facebook Ads (pour l'arbitrage) et on ajoute cet utilisateur Ă  une audience "Les Cliqueurs"

Vous pouvez Ă©galement l'utiliser pour fire vos ajouts au panier si vous faites du e-commerce.

Pour cela, on va se baser sur un id ou une classe d'élément html.

Repérez l'id ou la classe de l'élément qui contient la pub et remplacer les valeurs dans les codes fournis.

Exemple en se basant sur l'id

<!-- Add Pixel Events to the button's click handler -->
<script type="text/javascript">
  var button = document.getElementById('ICI l ID de votre élément ');
  button.addEventListener(
    'click', 
    function() { 
      fbq('track', 'ClickOnElement', {
        content_type: 'Adsense',
        value: 0.1,
        currency: 'EUR' 
      });          
    },
    false
  );
</script>

Fire un event si clic sur une classe du html

<!-- Add Pixel Events to the button's click handler -->
<script type="text/javascript">
  var x = document.getElementsByClassName("class de l élément");
  button.addEventListener(
    'click', 
    function() { 
      fbq('track', 'ClickOnElement', {
        content_type: 'Adsense',
        value: 0.1,
        currency: 'EUR' 
      });          
    },
    false
  );
</script>

4. Fire un event aprĂšs 3 pages vues

Quoi de mieux que de dépenser son argent en retargetant des internautes qui sont de fervents lecteurs de votre blog? :)

L'idĂ©e ici, c'est de targeter tous ceux qui ont consultĂ© au moins 3 pages lors d'une mĂȘme session.

Notez que l'ajout de jquery est indispensable si votre thÚme ne l'utilise pas déjà.

<script src="https://code.jquery.com/jquery-3.2.1.min.js" ></script><script>
        $( document ).ready(function() {
            if(sessionStorage.getItem("sessionCountViews")) {
              var sessionCountViews = sessionStorage.getItem("sessionCountViews");
              sessionCountViews++;
              sessionStorage.setItem("sessionCountViews",sessionCountViews);
              if(sessionCountViews == 5){
                  fbq('track', "Session 5 pages vues", {
                   sessionCountViews: sessionCountViews,
                 });
              }
            }else{
                sessionStorage.setItem("sessionCountViews","1");
            }
        });
</script>

5. Récupérer la valeur des évÚnements PURCHASE dans l'url

Ce code est trĂšs utile si comme moi, vous utilisez Learnybox et que vous souhaitez fire les montants d'achat Ă  votre pixel.

J'ai été confronté à ce problÚme dans un tunnel semblable à celui-ci:

Offer > Upsell > Downsell > Cross-sell

Je voulais fire Purchase avec la valeur de l'achat s'il avait lieu - et donc ne rien fire si l'utilisateur passait Ă  l'Ă©tape d'aprĂšs sans acheter.

En cas d'achat, l'utilisateur est redirigé sur l'étape d'aprÚs et Learnybox y ajoute les paramÚtres suivants: dowsell.php?id_trans=123&montant=97

L'idée est donc de détecter les paramÚtres id_trans et montant dans l'url. S'ils existent, alors on fire l'event Purchase avec le montant.

ASTUCE: ça fonctionne aussi avec Shopify et Clickfunnel. Il vous suffit d'adapter les noms de paramÚtres d'url.

<script>
function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}
$(function() {
	var tid = getUrlVars()["id_trans"];
	var montant = getUrlVars()["montant"];
	console.log('tid '+tid+' montant : '+montant);
	
		  fbq('track', 'Purchase', {
		   value: montant,
		   id_trans: tid,
		   currency: 'EUR',
		 });
	

});
</script>

6. Injecter son pixel sur les autres sites de votre thématique

Saviez-vous qu'il existe une mĂ©thode qui vous permet d'ajouter votre pixel sur 99% des blogs et des forums mĂȘme s'ils ne vous appartiennent pas?

C'est aussi flippant que génial et c'est légal (mais discutable) car non, il ne s'agit pas de hacker un site mais simplement d'utiliser une fonction bien précise et disponible pour tous les internautes.

Désolé cette technique est censurée.

Je l'ai dévoilée lors de mon webinar, si vraiment vous la voulez assurez-vous de ne pas louper le prochain (ou alors achetez ma formation).

À vous de jouer!

Ce ne sont que quelques pistes pour jouer avec les pixels de conversion. On peut aller plus loin encore en combinant encore plus de conditions comme: créer des audiences en fonction des catégories d'articles consultées, créer des séquences de retargeting de paniers abandonnés, dynamiques et personnelles.

Maintenant, Ă  vous de jouer avec ces bouts de code et laissez libre court Ă  votre imagination!

Bonus

Je vous ai dit que ce n'Ă©taient que des pistes. Ces bouts de code peuvent aussi ĂȘtre utilisĂ©s avec n'importe quels pixels de conversion comme Taboola, GoogleAds, etc... Soyez crĂ©atifs!