Qu'est-ce que fbclid? le nouveau paramètre facebook [fermé]

87

Depuis deux jours, j'ai remarqué que l'URL que je publie sur Facebook, il y a un paramètre qui est ajouté:
?fbclid=uFCrBkUgEvKg...
Pour être plus précis quelque chose comme:http://example.com?fbclid=uFCrBkUgEvKg...

Quelqu'un sait-il ce que fait ce paramètre?
À quoi ça sert et à quoi servent les développeurs?

Merci pour vos commentaires.

Rafael Dorado
la source
5
Pour moi, il semble que Facebook essaie de contourner les lois sur les cookies ... Une partie de cela ... semble que personne n'a trouvé de documentation sur ce traceur ...
Antony Gibbs
19
Ce comportement est tellement ennuyeux qu'il fait apparaître tout le trafic de référence comme des URL uniques dans mes rapports d'analyse, car le paramètre de requête est différent pour chaque utilisateur.
Brian Surowiec
5
Il y a une discussion sur fbclid dans ce fil de discussion HN (beaucoup de liens informatifs enterrés quelque part): news.ycombinator.com/item?id=18275061
ahiijny
9
J'ai écrit une extension Chrome qui la supprime. chrome.google.com/webstore/detail/…
R OMS
1
Cette question est fermée (grr) mais une chose que personne d'autre n'a mentionnée est que vous pouvez l'utiliser vous-même pour suivre les clics uniques et les renvoyer avec les statistiques fournies par Facebook. Vous pouvez l'utiliser pour voir combien de clics uniques (payants $$$) vous obtenez réellement entraînent le chargement d'une page complète sur votre site. (Ce ne serait pas quelque chose que tout le monde voudrait faire - mais peut aider à l'optimisation du site et au chargement des pages).
Simon_Weaver

Réponses:

31

Je sais que gclid, est l'abréviation de ( G oogle Cl ick Id entifier).
C'est un paramètre de suivi unique que Google utilise pour transférer des informations entre votre compte Google Ads et votre compte Google Analytics.

Facebook doit faire la même chose ou quelque chose de similaire fbclidpour améliorer les systèmes d'analyse de suivi.

Marcin Milowski
la source
31
tout en interrompant la mise en cache dans le monde entier: D en même temps. pour beaucoup de gens
Luka
5
@Luka - vous pouvez toujours utiliser la mise en cache. Il vous suffit d'exclure les paramètres fbclid, gclid et utm de votre cache :) De nombreuses solutions le supportent.
LucasRolff le
2
Certains plugins de mise en cache n'ont pas une telle option et ce qu'ils font est en fait pour chaque URL de créer une page de cache séparée qui équivaut à aucune mise en cache (car fbclid n'est jamais le même). La mise en œuvre de Nginx pour le supprimer est la meilleure. gist.github.com/lynt-smitka/…
Luka
6
Si le but de cette requête est de suivre les visiteurs, cela aurait dû être indiqué dans la documentation ou dans la politique de confidentialité. Il semble que le fblcid soit unique par utilisateur. Si tel est effectivement le cas, il y a un énorme problème de confidentialité et une violation du RGPD.
fat_mike
18

Cela m'a aidé: https://greasyfork.org/en/forum/discussion/44083/fbclid-tracking-parameter-attached-by-facebook

Voici citer à partir du lien:

Mettez ce code dans votre fichier .htaccess:

RewriteCond %{QUERY_STRING} "fbclid=" [NC]
RewriteRule (.*) /$1? [R=301,L]

Si vous travaillez dans WordPress:

RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} "fbclid=" [NC]
RewriteRule (.*) /$1? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
personne de spécial
la source
2
Qui ne fonctionne pas les options ci-dessus, essayez d'utiliser ceci:RewriteCond %{QUERY_STRING} ^(.*)&?fbclid=[^&]+&?(.*)$ [NC] RewriteRule ^(.*)$ /$1?%1%2 [R=301,L]
Rafael Dorado
7
La solution de cette réponse remplacera l'ensemble de vos paramètres de requête, par exemple tout ce qui suit '?' sera jeté. Cela peut interrompre certaines fonctionnalités des pages Web qui utilisent des paramètres de requête. Alors, assurez-vous que c'est ce que vous voulez. Consultez également les réponses sur stackoverflow / serverfault pour savoir comment supprimer un paramètre de requête spécifique.
Sybille Peters
1
merci sauvez ma journée
sayalok
1
Cela me fait penser que tous les serveurs Web devraient réécrire en quelque chose de aléatoire et transmettre une nouvelle requête aux serveurs de FB;)
youcantryreachingme
12

Une autre approche, comment supprimer ce paramètre (afin que vos utilisateurs puissent partager votre URL sans la supprimer manuellement) consiste à utiliser JavaScript et history.replaceState.

Tous les crédits vont à l'auteur original - https://www.michalspacek.cz/zmena-url-a-skryvani-fbclid-pomoci-javascriptu

Code du lien:

(function() {
        var param = 'fbclid';
        if (location.search.indexOf(param + '=') !== -1) {
                var replace = '';
                try {
                        var url = new URL(location);
                        url.searchParams.delete(param);
                        replace = url.href;
                } catch (ex) {
                        var regExp = new RegExp('[?&]' + param + '=.*$');
                        replace = location.search.replace(regExp, '');
                        replace = location.pathname + replace + location.hash;
                }
                history.replaceState(null, '', replace);
        }
})();
Pavel Štěrba
la source
une ligne pour tout supprimer: history.replaceState (null, ``, location.origin + location.pathname)
Zibri
12

Si je comprends bien, le paramètre est un moyen de suivre le visiteur du site afin que si votre site inclut de la publicité de Facebook, il puisse le personnaliser pour qu'il corresponde aux habitudes de navigation enregistrées du visiteur.

La mod_rewrite solution Apache ci - dessus est problématique car elle supprime toute la chaîne de requête. Si l'URL avait déjà une chaîne de requête, cela la cassera. Pour supprimer uniquement le fbclidparamètre, il est utile de noter que Facebook l'ajoute toujours à une URL, donc c'est toujours le dernier. Cela simplifie mod_rewriteun peu le code. C'est ce que je fais:

# Strip Facebook spyware tokens
RewriteCond %{REQUEST_METHOD} =GET [NC,OR]
RewriteCond %{REQUEST_METHOD} =HEAD [NC]
RewriteCond %{QUERY_STRING} ^(.*)&?fbclid=[^&]+$ [NC]
RewriteRule ^/?(.*)$ /$1?%1 [NE,L,R=301,E=limitcache:1]
Header always set Cache-Control "max-age=604800" env=limitcache

L' E=limitcache:1indicateur et la Headerdirective limitent la durée de mise en cache de la redirection 301. Par défaut, de nombreux navigateurs le mettent en cache pour toujours . Cela réduit cela à une semaine (ou 604 800 secondes). Je suis peut-être minoritaire à penser cela, mais cela me semble une bonne pratique. Je ne sais pas combien de temps les fbclidjetons persistent, mais s'ils sont durables, cela signifie que Facebook dirigera les visiteurs vers les mêmes URL pendant longtemps, et si vous souhaitez un jour soutenir les publicités ciblées de Facebook, ou si elles commencent. en utilisant fbclidpour d'autres fonctionnalités dont vous avez besoin, vous pouvez trouver que ces redirections mises en cache en permanence reviennent à mordre. Mais si vous êtes prêt à le risquer, vous pouvez supprimer à la fois la Headerdirective et l' E=limitcache:1indicateur.

Les deux tests de %{REQUEST_METHOD}visent à empêcher Apache de rediriger les requêtes POST (ou des requêtes plus ésotériques comme PUT ou DELETE, si elles sont pertinentes). La plupart des navigateurs changent la demande en une demande GET sur une redirection 301 ou 302, ce qui est explicitement autorisé par la RFC 7231 . Il existe un nouveau code de redirection 308 qui ne doit pas avoir sa méthode réécrite, mais malheureusement, il n'est pas pris en charge par Internet Explorer sur Windows 7 (et ne le sera probablement jamais).

Richard Smith
la source
Ne contribuez pas à la surveillance de masse. Supprimez cette Headerligne si vous utilisez ceci, vous ne voudrez pas utiliser le fbclid. C'est drôle que les redirections «permanentes» puissent avoir une date d'expiration, mais c'est la nature organique du Web pour vous. :-)
clacke