Envío información de identificación private (PII) a Análisis de Google Es una de las cosas que deberías evitar hacer. Por un lado, va en contra de los términos de servicio de la plataforma, pero también es muy possible que estés infringiendo la legislación nacional, federal o de la UE redactada para proteger la privacidad de las personas en línea.
En este #ConsejosGTMT En esta publicación, le mostraré una manera de asegurarse de que las etiquetas con las que configure esta solución no contengan cadenas que puedan interpretarse como información de identificación private. El consejo es para Administrador de etiquetas de Googlepero con muy pocas modificaciones también funcionará con Common Analytics.
(ACTUALIZACIÓN 8 de septiembre de 2017: Vea la excelente extensión de esta solución que realizó Brian Clifton: Eliminar información private identificable de Google Analytics)
incógnita
El boletín informativo de Simmer
Suscríbete a la Boletín informativo de Simmer ¡Para recibir las últimas noticias y contenidos de Simo Ahava en tu bandeja de entrada de correo electrónico!
Consejo 64: Eliminar información de identificación private de las visitas a Google Analytics
La solución gira en torno a customTask
que rápidamente se ha convertido en mi nueva característica favorita de la biblioteca analytics.js. Consulta los siguientes artículos para entender por qué pienso así:
De todos modos, para que todo funcione, crea lo siguiente Variable de JavaScript personalizada:
operate() {
return operate(mannequin) {
// Add the PII patterns into this array as objects
var piiRegex = ({
title: 'EMAIL',
regex: /.{4}@.{4}/g
},{
title: 'HETU',
regex: /d{6}(A+-)d{3}(0-9A-FHJ-NPR-Y)/gi
});
var globalSendTaskName = '_' + mannequin.get('trackingId') + '_sendHitTask';
// Fetch reference to the unique sendHitTask
var originalSendTask = window(globalSendTaskName) = window(globalSendTaskName) || mannequin.get('sendHitTask');
var i, hitPayload, components, val;
// Overwrite sendHitTask with PII purger
mannequin.set('sendHitTask', operate(sendModel) {
hitPayload = sendModel.get('hitPayload').break up('&');
for (i = 0; i < hitPayload.size; i++) {
components = hitPayload(i).break up('=');
// Double-decode, to account for net server encode + analytics.js encode
attempt {
val = decodeURIComponent(decodeURIComponent(components(1)));
} catch(e) {
val = decodeURIComponent(components(1));
}
piiRegex.forEach(operate(pii) {
val = val.exchange(pii.regex, '(REDACTED ' + pii.title + ')');
});
components(1) = encodeURIComponent(val);
hitPayload(i) = components.be a part of('=');
}
sendModel.set('hitPayload', hitPayload.be a part of('&'), true);
originalSendTask(sendModel);
});
};
}
Una vez que agregue esta variable a sus etiquetas de Common Analytics como customTask
campo, cualquier resultado enviado por estas etiquetas será analizado por esta variable, que reemplaza las instancias de PII con la cadena (REDACTED pii_type).
Al comienzo del fragmento de código, verá el objeto de configuración piiRegex
Es una matriz de objetos literales, donde cada objeto tiene dos propiedades: title
y regex
El primero es lo que se usará en la cadena de reemplazo después de “REDACTADO”. Entonces, si title
es “CORREO ELECTRÓNICO”, verá “(CORREO ELECTRÓNICO CENSURADO)” en sus informes de Google Analytics dondequiera que se hayan eliminado datos de PII.
El segundo parámetro, regex
es donde agregará el literal de expresión common para cualquier patrón de PII que desee redactar. En el ejemplo anterior, tengo dos patrones:
-
/.{4}@.{4}/g
– esto coincide con todos los símbolos @ más los cuatro caracteres anteriores y los cuatro siguientes. Por lo tanto, si CUALQUIER parte de la carga útil (URL, dimensión personalizada, etiqueta de evento, and many others.) tiene el símbolo @, la cadena se ofuscará. Por lo tanto,(electronic mail protected)
se convierte ensimo.s.a(REDACTED EMAIL)l.com
. -
/d{6}(A+-)d{3}(0-9A-FHJ-NPR-Y)/gi
– esto es un razonablemente Buena abstracción del código de identidad private finlandés. No es perfecta, porque el código de identidad private es en realidad un cálculo, por lo que no se pueden utilizar coincidencias de patrones simples para encontrar solo códigos válidos. Esta expresión common probablemente dará como resultado muchos falsos positivos, especialmente si los resultados de GA incluyen UUID o cualquier tipo de hashes alfanuméricos. Pero sigue siendo mejor que recopilar estos datos confidenciales.
Puede agregar sus propios patrones de expresiones regulares como nuevos objetos de la matriz.
Cuando agregas esta variable a la customTask
campo de una etiqueta de Common Analytics, el código recorrerá toda la carga útil en busca de coincidencias con las expresiones regulares que proporcione en la matriz de configuración. Si se encuentran coincidencias, se eliminan.
¿Conoce otras expresiones regulares útiles para encontrar y eliminar información de identificación private?