it-swarm-es.com

¿Qué es fbclid? el nuevo parámetro de facebook

Durante dos días, he notado que la URL que publico en Facebook, hay un parámetro agregado:
?fbclid=uFCrBkUgEvKg...
Para ser más precisos, algo como: http://example.com?fbclid=uFCrBkUgEvKg...

¿Alguien sabe lo que hace este parámetro?
¿Para qué sirve y para qué sirven los desarrolladores?

Gracias por tus comentarios.

60
Rafael Dorado

Sé que gclid, es la abreviatura de (Google Cl ick Id entifier)
Es un único parámetro de seguimiento que Google utiliza para transferir información entre su cuenta de Google Ads y su cuenta de Google Analytics.

Facebook debe estar haciendo lo mismo o algo similar con fbclid para mejorar los sistemas de análisis de seguimiento.

19
Marcin Milowski

Esto me ayudó a: https://greasyfork.org/en/forum/discussion/44083/fbclid-tracking-parameter-attached-by-facebook

Aquí está la cita del enlace:

Ponga este código en su archivo .htaccess:

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

Si trabajas en 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]
17
no one special

Otro enfoque, cómo eliminar este parámetro (para que sus usuarios puedan compartir su URL sin eliminarla manualmente) es usar JavaScript y history.replaceState.

Todos los créditos van al autor original - https://www.michalspacek.cz/zmena-url-a-skryvani-fbclid-pomoci-javascriptu

Código del enlace:

(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

Según tengo entendido, el parámetro es un medio para rastrear al visitante del sitio, de modo que si su sitio incluye publicidad de Facebook, puede personalizarlo para que coincida con los hábitos de navegación registrados del visitante.

La solución Apache mod_rewriteanterior es problemática porque elimina toda la cadena de consulta. Si la URL ya tenía una cadena de consulta, esto se romperá. Para eliminar solo el parámetro fbclidname__, es útil tener en cuenta que Facebook siempre lo agrega a una URL, por lo que siempre es el último. Eso simplifica un poco el código mod_rewrite. Esto es lo que hago:

# 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

El indicador E=limitcache:1 y la directiva Headeres limitar el tiempo en que se guarda en caché la redirección 301. Por defecto, muchos navegadores guardan el caché literalmente para siempre . Esto reduce eso a una semana (o 604,800 segundos). Puede que sea una minoría al pensar esto, pero eso me parece una buena práctica. No sé cuánto tiempo persisten los fbclidtokens, pero si son de larga duración, significa que Facebook dirigirá a los visitantes a las mismas URL durante mucho tiempo, y si alguna vez desea apoyar los anuncios específicos de Facebook, o si Comience a usar el fbclidpara otras funciones que necesite, puede encontrar que estos redireccionamientos en caché permanente vuelven a morder. Pero si está dispuesto a arriesgarse, puede eliminar tanto la directiva Headercomo la marca E=limitcache:1.

Las dos pruebas de %{REQUEST_METHOD} son para evitar que Apache redirija las solicitudes POST (o más solicitudes esotéricas como PUT o DELETE, si son relevantes). La mayoría de los navegadores cambian la solicitud para que sea una solicitud GET en un redireccionamiento 301 o 302, lo cual está explícitamente permitido por RFC 7231 . Hay un nuevo código de redirección 308 no debe volver a escribir su método, pero desafortunadamente no es compatible con Internet Explorer en Windows 7 (y probablemente nunca lo será).

5
Richard Smith