it-swarm.com.de

Was ist fbclid? der neue facebook parameter

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

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

Danke für deine Kommentare.

69
Rafael Dorado

Ich weiß, dass gclid die Abkürzung für (G oogle Cl ick Id entifier ist.)
Dies ist ein eindeutiger Tracking-Parameter, mit dem Google Informationen zwischen Ihrem Google Ads-Konto und Google Analytics überträgt Konto.

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

21
Marcin Milowski

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

Hier ist Zitat aus dem Link:

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]
16
no one special

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 ursprünglichen Autor - https://www.michalspacek.cz/zmena-url-a-skryvani-fbclid-pomoci-javascript

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);
        }
})();
11
Pavel Štěrba

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

Der Apache mod_rewriteLösung oben ist problematisch, da er die gesamte Abfragezeichenfolge entfernt. Wenn die URL bereits eine Abfragezeichenfolge enthielt, wird diese unterbrochen. Um nur den fbclid -Parameter 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_rewrite Code 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

Mit der Anweisung E=limitcache:1 und Header wird festgelegt, wie lange die 301-Umleitung zwischengespeichert wird. Standardmäßig viele Browser Cache es buchstäblich für immer . Dies reduziert sich auf eine Woche (oder 604.800 Sekunden). Ich bin vielleicht in der Minderheit, wenn ich das denke, aber das scheint mir eine gute Praxis zu sein. Ich weiß nicht, wie lange fbclid Tokens bestehen, aber wenn sie dauerhaft sind, bedeutet dies, dass Facebook die Besucher für lange Zeit auf dieselben URLs weiterleitet und Sie jemals die gezielten Anzeigen von Facebook unterstützen möchten oder wenn sie anfangen, fbclid für andere Funktionen zu verwenden, die Sie benötigen, stellen Sie möglicherweise fest, dass diese permanent zwischengespeicherten Redirects wieder in den Hintergrund treten. Wenn Sie jedoch bereit sind, ein Risiko einzugehen, können Sie sowohl die Anweisung Header als auch das Flag E=limitcache:1 löschen.

Die beiden Tests von %{REQUEST_METHOD} sollen verhindern, dass Apache POST Anfragen umleitet (oder mehr esoterische Anfragen wie PUT oder DELETE, wenn sie relevant sind). Die meisten Browser ändern die Anforderung in eine GET-Anforderung für eine 301- oder 302-Umleitung, was durch RFC 7231 explizit zulässig ist. Es gibt ein neuer 308-Redirect-Code , dessen Methode nicht umgeschrieben werden darf, aber leider wird vom Internet Explorer unter Windows 7 nicht unterstützt (und wird es wahrscheinlich auch nie sein).

5
Richard Smith