Was ist fbclid? der neue Facebook-Parameter [geschlossen]

86

Seit zwei Tagen ist mir aufgefallen, dass der URL, die ich auf Facebook veröffentliche, ein Parameter hinzugefügt wurde:
?fbclid=uFCrBkUgEvKg...
Genauer gesagt:http://example.com?fbclid=uFCrBkUgEvKg...

Weiß jemand, was dieser Parameter tut?
Wofür ist es und was nützen die Entwickler?

Danke für deine Kommentare.

Rafael Dorado
quelle
5
Für mich sieht es so aus, als würde Facebook versuchen, die Cookie-Gesetze zu umgehen ... Ein Teil davon ... anscheinend hat niemand eine Dokumentation zu diesem Tracer gefunden ...
Antony Gibbs
18
Dieses Verhalten ist so ärgerlich, dass der gesamte Empfehlungsverkehr in meinen Analyseberichten als eindeutige URLs angezeigt wird, da der Abfrageparameter je nach Benutzer unterschiedlich ist.
Brian Surowiec
5
Es gibt einige Diskussionen über fbclid in diesem HN-Thread (viele informative Links sind irgendwo darin vergraben): news.ycombinator.com/item?id=18275061
ahiijny
7
Ich habe eine Chrome-Erweiterung geschrieben, die sie entfernt. chrome.google.com/webstore/detail/…
R OMS
1
Diese Frage ist geschlossen (grr), aber eine Sache, die sonst niemand erwähnt hat, ist, dass Sie sie selbst verwenden können, um eindeutige Klicks zu verfolgen und diese mit Statistiken von Facebook zu vergleichen. Sie können damit sehen, wie viele eindeutige (bezahlte $$$) Klicks tatsächlich zu einem vollständigen Laden der Seite auf Ihrer Website führen. (Dies wäre nicht jedermanns Sache, kann aber bei der Optimierung der Website und beim Laden von Seiten helfen.)
Simon_Weaver

Antworten:

32

Ich weiß , dass gclid, ist die Abkürzung für ( G oogle Cl ick Id entifier)
Es ist ein einzigartiger Tracking - Parameter , dass Google Anwendungen zum Übertragen von Informationen zwischen Ihrem Google - Ads - Konto und Ihrem Google Analytics - Konto.

Facebook muss dasselbe oder ähnliches tun fbclid, um Tracking-Analysesysteme zu verbessern.

Marcin Milowski
quelle
30
während das Caching weltweit unterbrochen wird: D zur gleichen Zeit. für viele Menschen
Luka
5
@Luka - du kannst immer noch Caching verwenden. Sie müssen nur die Parameter fbclid, gclid und utm aus Ihrem Cache ausschließen :) Viele Lösungen unterstützen dies.
LucasRolff
2
Einige Caching-Plugins haben keine solche Option und erstellen für jede URL eine separate Cache-Seite, die keinem Caching entspricht (weil fbclid niemals gleich ist). Die Nginx-Implementierung zum Entfernen ist die beste. gist.github.com/lynt-smitka/…
Luka
6
Wenn der Zweck dieser Abfrage darin besteht, Besucher zu verfolgen, sollte dies in den Dokumenten oder in den Datenschutzbestimmungen angegeben sein. Es scheint, dass die fblcid pro Benutzer eindeutig ist. Wenn dies tatsächlich der Fall ist, gibt es ein großes Datenschutzproblem und eine Verletzung der DSGVO.
fat_mike
17

Dies hat mir geholfen: https://greasyfork.org/en/forum/discussion/44083/fbclid-tracking-parameter-attached-by-facebook

Hier ist aus dem Link zu zitieren:

Fügen Sie diesen Code in Ihre .htaccess-Datei ein:

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

Wenn Sie in WordPress arbeiten:

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]
niemand besonderes
quelle
1
Wer die oben genannten Optionen nicht nutzt, versucht dies:RewriteCond %{QUERY_STRING} ^(.*)&?fbclid=[^&]+&?(.*)$ [NC] RewriteRule ^(.*)$ /$1?%1%2 [R=301,L]
Rafael Dorado
7
Die Lösung in dieser Antwort überschreibt Ihre gesamten Abfrageparameter, z. B. alles nach '?' wird weggeworfen. Dies kann einige Funktionen von Webseiten beeinträchtigen, die Abfrageparameter verwenden. Stellen Sie also sicher, dass dies das ist, was Sie wollen. Lesen Sie auch die Antworten zu stackoverflow / serverfault, um zu erfahren, wie Sie bestimmte Abfrageparameter entfernen können.
Sybille Peters
1
danke u rette meinen Tag
sayalok
1
Ich denke, alle Webserver sollten etwas Zufälliges umschreiben und eine neue Anfrage an die Server von FB weiterleiten;)
youcantryreachingme
12

Ein anderer Ansatz zum Entfernen dieses Parameters (damit Ihre Benutzer Ihre URL freigeben können, ohne sie manuell zu entfernen) ist die Verwendung von JavaScript und history.replaceState.

Alle Credits gehen an den Originalautor - https://www.michalspacek.cz/zmena-url-a-skryvani-fbclid-pomoci-javascriptu

Code vom Link:

(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
quelle
Ein Liner, um alles zu entfernen: history.replaceState (null, '', location.origin + location.pathname)
Zibri
10

Soweit ich weiß, dient der Parameter dazu, den Website-Besucher zu verfolgen. Wenn Ihre Website Werbung von Facebook enthält, kann er diese an die aufgezeichneten Surfgewohnheiten des Besuchers anpassen.

Die mod_rewrite obige Apache- Lösung ist problematisch, da sie die gesamte Abfragezeichenfolge entfernt. Wenn die URL bereits eine Abfragezeichenfolge hatte, wird diese unterbrochen. Um nur den fbclidParameter zu entfernen, ist es nützlich zu beachten, dass Facebook ihn immer an eine URL anfügt, sodass er immer der letzte ist. Das vereinfacht den mod_rewriteCode ein wenig. Das ist was ich mache:

# 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

Das E=limitcache:1Flag und die HeaderAnweisung sollen begrenzen, wie lange die 301-Umleitung zwischengespeichert wird. Standardmäßig zwischenspeichern viele Browser es buchstäblich für immer . Dies reduziert dies auf eine Woche (oder 604.800 Sekunden). Ich mag in der Minderheit sein, wenn ich das denke, aber das scheint mir eine gute Praxis zu sein. Ich weiß nicht, wie lange fbclidToken bestehen bleiben, aber wenn sie lange halten, bedeutet dies, dass Facebook Besucher für lange Zeit auf dieselben URLs verweist und ob Sie jemals die gezielten Anzeigen von Facebook unterstützen möchten oder ob sie starten Wenn Sie die fbclidfür andere Funktionen verwenden, die Sie benötigen, werden diese permanent zwischengespeicherten Weiterleitungen möglicherweise wieder aktiviert. Wenn Sie jedoch bereit sind, dies zu riskieren, können Sie sowohl die HeaderDirektive als auch die E=limitcache:1Flagge löschen .

Die beiden Tests von %{REQUEST_METHOD}sollen verhindern, dass Apache POST-Anforderungen umleitet (oder mehr esoterische Anforderungen wie PUT oder DELETE, falls sie relevant sind). Die meisten Browser ändern die Anforderung in eine GET-Anforderung bei einer 301- oder 302-Umleitung, was von RFC 7231 ausdrücklich zugelassen wird . Es gibt einen neuen 308-Umleitungscode , dessen Methode nicht neu geschrieben werden muss. Leider wird er von Internet Explorer unter Windows 7 nicht unterstützt (und wird es wahrscheinlich auch nie sein).

Richard Smith
quelle
Tragen Sie nicht zur Massenüberwachung bei. Entfernen HeaderSie diese Zeile, wenn Sie diese verwenden. Sie möchten die nicht verwenden fbclid. Komisch, dass "permanente" Weiterleitungen ein Ablaufdatum haben können, aber das ist die organische Natur des Webs für Sie. :-)
Clacke