Glossário

O que os dados de clickstream registram, linha a linha

Taras Shynkarenko
Taras Shynkarenko
•Atualizado: •9 min de leitura
O que os dados de clickstream registram, linha a linhaO que os dados de clickstream registram, linha a linha

TL;DR, Resposta rápida

9 min de leitura

Dados de clickstream são a exportação no nível do hit, sem agregação, de uma plataforma de analytics: uma linha por interação, carregando horário, identificador do visitante, URL, user agent e, com frequência, o endereço IP bruto. A Adobe entrega isso por data feeds com colunas como hit_time_gmt, visid_high, post_page_url e user_agent; o Google Analytics 4 entrega o equivalente pela exportação para o BigQuery, com event_timestamp, event_name e user_pseudo_id. Como cada linha continua carregando um identificador online, o Artigo 4(1) do GDPR e o Código Civil da Califórnia 1798.140(v)(1)(F) colocam o arquivo dentro das suas definições de dado pessoal, e é isso que o separa juridicamente de um relatório agregado.

O que são dados de clickstream?

Cada linha de dados de clickstream é uma interação de um visitante em um momento, guardada sem agregação, com o identificador, o horário e a URL ainda presentes. Nada foi contado, transformado em média ou consolidado. Um relatório diz que 4.812 sessões chegaram em /pricing na semana passada. O clickstream por trás desse relatório são 4.812 linhas separadas, cada uma nomeando um visitante, um segundo no tempo e uma página, além de dezenas de colunas que descrevem o dispositivo e a origem do tráfego.

O nome vem do formato da coisa. Ordene essas linhas por identificador e depois por horário e você tem um fluxo de cliques: a sequência literal do que uma pessoa fez, em ordem, no seu site. Essa sequência é a matéria-prima a partir da qual todo outro número de analytics é calculado. É também o motivo de análise comportamental existir como disciplina separada dos relatórios, porque perguntas sobre ordem e sequência não têm resposta em uma tabela de totais.

O que existe dentro de um único registro de clickstream?

Um registro de clickstream carrega um horário, um identificador de visitante, um identificador de hit, a URL, o referenciador, o dispositivo e os valores de cada variável personalizada definida naquele hit. A Adobe Analytics publica a lista completa de colunas dos seus data feeds, e estas são as descrições da própria Adobe:

ColunaDescrição da Adobe
hit_time_gmt"The timestamp of the hit Adobe data collection servers received the hit, based in UNIX time."
hitid_high"Used with hitid_low to identify a hit."
visid_high"Used with visid_low to uniquely identify a visitor."
visit_num"Starts at 1, and increments each time a new visit starts per visitor."
page_url"The URL of the hit."
post_page_url"Stripped for link tracking image requests."
page_event"The type of hit that is sent in the image request (standard hit, download link, custom link, exit link)."
user_agent"The user agent string sent in the HTTP header of the image request."
ip"The IPv4 address, based on the HTTP header of the image request."
geo_city"The name of the city that the hit came from, based on IP."
referrer"The Referrer dimension."
post_evar1Variável personalizada 1 depois do processamento no servidor, uma entre eVar1 e eVar250

A Adobe descreve o mecanismo inteiro em uma linha: "Data feeds are a powerful way to get raw data out of Adobe Analytics", entregues "in hourly batches at the conclusion of each hour, or in daily batches at the conclusion of each day".

O Google Analytics 4 embarca a mesma ideia com outros nomes, pela exportação para o BigQuery. Lá os campos no nível da linha são event_timestamp, "the time (in microseconds, UTC) when the event was received by Google Analytics"; event_name, "the name of the event"; e user_pseudo_id, "the pseudonymous id (e.g., app instance ID) for the user. A unique identifier that is assigned to a user when they first open the app or visit the site." Os parâmetros ficam pendurados em cada linha como pares repetidos de event_params.key e event_params.value.string_value, e geo.city é preenchido "based on IP address".

Dois vocabulários, uma estrutura. A Adobe conta hits, o GA4 conta eventos, e os dois entregam uma linha por coisa que aconteceu.

Um analista percorre linhas de dados brutos em um monitor, o tipo de tabela que uma exportação de clickstream produz.

Como os dados de clickstream diferem do analytics agregado?

O analytics agregado responde às perguntas que você escreveu antes da coleta; os dados de clickstream respondem às perguntas que você tem depois. A troca é essa. Um relatório já decidiu quais dimensões combinam com quais métricas, e um número que nunca foi calculado não pode ser recuperado dele. As linhas brutas não tomaram essa decisão, então você pode juntar, filtrar e reordenar como uma pergunta nova exigir.

Relatório agregadoExportação de clickstream
GranularidadeUma linha por combinação de dimensõesUma linha por hit ou evento
IdentificadorRemovido ou submetido a limiarPresente em cada linha
SequênciaPerdidaPreservada pelo horário
Perguntas novasExigem um novo plano de coletaRespondidas por uma nova consulta
Tamanho para 1 milhão de sessões mensaisKilobytesDezenas de gigabytes
Quem lêQualquer pessoa com a interfaceQualquer pessoa com SQL e acesso ao data warehouse

O Google impõe essa divisão dentro do próprio produto. A configuração de retenção de dados oferece "2 months" ou "14 months" para dados no nível do usuário e do evento, e o Google afirma que "the data retention setting does not affect standard aggregated reports (including primary and secondary dimensions) in your Google Analytics property". Os agregados sobrevivem às linhas de onde vieram, e o ponto é exatamente esse: os agregados deixaram de ser dado pessoal e as linhas nunca deixaram. Veja retenção de dados no Google Analytics para o que expira e quando.

A sessionização é a outra diferença que vale nomear. Um arquivo de clickstream não contém sessão nenhuma, só hits ordenados; a sessão é uma regra aplicada a esses hits depois. Mude a regra e a contagem de sessões muda sem uma única linha se mexer, que é o mecanismo por trás do que conta como sessão.

Quais obrigações de privacidade recaem sobre os dados de clickstream?

Dados de clickstream são dado pessoal na União Europeia porque cada linha carrega um identificador online. O Artigo 4(1) do GDPR define dado pessoal como "any information relating to an identified or identifiable natural person", em que uma pessoa identificável "is one who can be identified, directly or indirectly, in particular by reference to an identifier such as a name, an identification number, location data, an online identifier". O Considerando 30 tira a ambiguidade sobre o que é um identificador online: "Natural persons may be associated with online identifiers provided by their devices, applications, tools and protocols, such as internet protocol addresses, cookie identifiers or other identifiers". Sua coluna visid_high e sua coluna user_pseudo_id são esses identificadores, e a coluna ip está nomeada no considerando de forma explícita. O raciocínio completo está em se um endereço IP é dado pessoal.

A Califórnia chega ao mesmo lugar por outro caminho. O Código Civil 1798.140(v)(1)(F) lista entre as categorias de informação pessoal "Internet or other electronic network activity information, including, but not limited to, browsing history, search history, and information regarding a consumer's interaction with an internet website application, or advertisement". Um arquivo de clickstream é histórico de navegação no sentido mais literal possível.

Três deveres decorrem disso diretamente. O Artigo 5(1)(c) exige que o dado pessoal seja "adequate, relevant and limited to what is necessary in relation to the purposes for which they are processed", o que transforma cada coluna coletada só porque estava no esquema padrão em uma coluna que você precisa justificar. O Artigo 5(1)(e) exige que o dado seja mantido "in a form which permits identification of data subjects for no longer than necessary", o que tira a retenção do campo do custo de armazenamento e a coloca no campo jurídico. O Artigo 17(1) dá ao titular "the right to obtain from the controller erasure of personal data concerning him or her without undue delay", o que significa que você precisa de um jeito de encontrar cada linha de um identificador em cada partição, cópia no data warehouse e backup que você fez.

Uma mão toca um aviso de consentimento de cookies em um smartphone, o momento em que o rastreamento do site pede permissão.

A coleta exige consentimento?

Guardar ou ler o identificador no dispositivo do visitante exige consentimento na União Europeia, seja o dado pessoal ou não. O Artigo 5(3) da Diretiva 2002/58/CE cobre "the storing of information, or the gaining of access to information already stored, in the terminal equipment of a subscriber or user", e permite isso "only on condition that the subscriber or user concerned has given his or her consent, having been provided with clear and comprehensive information". A regra se prende ao ato de tocar o dispositivo, não à sensibilidade do que você descobre.

Flowsery
Flowsery

Comece seu teste grátis de 14 dias

Painel em tempo real

Rastreamento de metas

Rastreamento sem cookies

O mesmo artigo abre duas exceções: guardar ou acessar "for the sole purpose of carrying out the transmission of a communication over an electronic communications network, or as strictly necessary in order for the provider of an information society service explicitly requested by the subscriber or user to provide the service". Medição de analytics não é o serviço que o visitante pediu de forma explícita, e é por isso que a medição baseada em cookies fica atrás de um banner. Uma coleta que não lê nada do dispositivo não aciona o Artigo 5(3), que é o argumento estrutural a favor do rastreamento sem cookies.

Dá para tirar a identidade e ficar com o arquivo?

Remover identificadores diretos produz dado pseudonimizado, não dado anônimo, e dado pseudonimizado continua no escopo. Aplicar hash em visid_high ainda deixa uma chave estável que liga cada linha do histórico de uma pessoa, e uma chave estável que sustenta essa ligação é a definição de pseudônimo, não de apagamento. Só a agregação irreversível, que torna as linhas de uma única pessoa irrecuperáveis, tira um arquivo do escopo, e isso é uma operação destrutiva por desenho. A distinção, e o que cada uma custa em termos analíticos, está em pseudonimização versus anonimização.

Existem medidas práticas entre esses dois polos. Trunque o octeto do IP antes de escrever a linha, não depois. Descarte user_agent se você só lê dali o nome do navegador já processado. Defina uma retenção mais curta na tabela bruta do que nos agregados derivados. Cada uma dessas medidas é uma resposta direta ao Artigo 5(1)(c), e cada uma é mais fácil de fazer no momento da coleta do que de aplicar depois em um data warehouse inteiro.

Do identificador ao anonimato
visid_high
Chave pseudônima com hash
Linhas agregadas
Fora do escopo
Só a última etapa tira o arquivo do escopo do GDPR, e é a única etapa que não dá para desfazer.

Perguntas frequentes

Dados de clickstream são dado pessoal sob o GDPR?

Sim, sempre que cada linha carrega um identificador estável de visitante ou um endereço IP. O Artigo 4(1) do GDPR inclui qualquer pessoa identificável "indirectly" por meio de "an online identifier", e o Considerando 30 cita endereços de protocolo de internet e identificadores de cookie de forma explícita como exemplos desses identificadores.

Qual é a diferença entre dados de clickstream e um log de servidor?

Um log de servidor registra requisições que o servidor atendeu; dados de clickstream registram interações que a tag de analytics observou. O log perde páginas em cache, eventos de rolagem, cliques que não disparam requisição e qualquer variável personalizada, enquanto o clickstream perde bots e arquivos que a tag nunca viu.

Quanto dado de clickstream um site de porte médio produz?

O volume cresce com os hits, não com os visitantes. Um site com média de seis hits por sessão e um milhão de sessões por mês escreve seis milhões de linhas por mês, e tanto os data feeds da Adobe quanto a exportação do GA4 para o BigQuery passam bem de cem colunas por linha antes de qualquer variável personalizada entrar.

Os relatórios agregados sobrevivem quando as linhas brutas são apagadas?

No Google Analytics 4, sim. O Google afirma que a configuração de retenção de dados "does not affect standard aggregated reports (including primary and secondary dimensions) in your Google Analytics property", então agregados calculados antes da expiração continuam legíveis depois que as linhas no nível do evento somem.

O Artigo 5(3) da Diretiva ePrivacy se prende a "the storing of information, or the gaining of access to information already stored, in the terminal equipment" do usuário. Uma coleta que não escreve nem lê no dispositivo não aciona esse artigo, embora o GDPR ainda governe qualquer dado pessoal que você processe no servidor.

Quais colunas valem ser descartadas primeiro?

Comece por ip e user_agent. As duas estão nomeadas ou implícitas na lista de identificadores do Considerando 30, as duas costumam ser consumidas só em forma processada, como cidade e navegador, e as duas podem ser reduzidas no momento da coleta sem mudar nenhum relatório posterior.

Com que frequência as plataformas de analytics entregam dados de clickstream?

A Adobe entrega seus data feeds, segundo sua própria descrição, "em lotes de hora em hora ao final de cada hora, ou em lotes diários ao final de cada dia". O GA4 entrega o mesmo nível de detalhe pela exportação para o BigQuery, com a mesma estrutura de uma linha por evento, só que sob outros nomes de coluna.

Qual é a diferença entre um hit e um evento nos dados de clickstream?

Na Adobe, cada linha se chama hit, e a coluna page_event marca se foi um hit padrão, um link de download, um link personalizado ou um link de saída. O GA4 chama essa mesma linha de evento e grava o nome dela na coluna event_name. O vocabulário muda, mas o grão é idêntico, uma linha para cada coisa que aconteceu.

Dá para mapear as exportações de clickstream da Adobe e do GA4 uma na outra?

As âncoras se encaixam de forma aproximada: hit_time_gmt corresponde a event_timestamp, em segundos contra microssegundos, visid_high corresponde a user_pseudo_id, e page_url corresponde ao parâmetro page_location. Os dois mantêm as mesmas três âncoras, um timestamp, um identificador e uma URL ou nome de evento, só que sob rótulos diferentes.

Uma linha de clickstream revela qual dispositivo um visitante usou?

As linhas da Adobe carregam uma string user_agent bruta além de dezenas de colunas de dispositivo e origem de tráfego, enquanto a exportação do GA4 para o BigQuery entrega campos de dispositivo já processados. A coluna user_agent da Adobe guarda essa string exatamente como chegou no cabeçalho HTTP, antes de um relatório traduzi-la em nome de dispositivo. Nada disso está agregado, então o dispositivo por trás de uma única visita fica visível linha por linha.

Este artigo foi útil?

Diga-nos o que pensa!

Veja-nos mais no Google

Um clique marca a Flowsery como fonte preferida e nossos artigos passam a aparecer mais acima nas suas Principais notícias, no modo IA e nas visões gerais com IA.

Antes de ir...

Flowsery

Flowsery

Analytics orientado para receitas para o seu site

Rastreie cada visitante, fonte e conversão em tempo real. Simples, poderoso e sem cookies.

Painel em tempo real

Rastreamento de metas

Rastreamento sem cookies

Termos relacionados do glossário

O que a conformidade do session replay com o GDPR realmente exige de vocêO que a conformidade do session replay com o GDPR realmente exige de você
Glossário

O que a conformidade do session replay com o GDPR realmente exige de você

Avaliar a conformidade do session replay com o GDPR passa por quatro pontos: base legal do Artigo 6, dados do Artigo 9, consentimento do 5(3) e DPIA.

•10 min de leitura
Sob o GDPR, a reversibilidade decide pseudonimização vs anonimizaçãoSob o GDPR, a reversibilidade decide pseudonimização vs anonimização
Glossário

Sob o GDPR, a reversibilidade decide pseudonimização vs anonimização

A reversibilidade decide pseudonimização vs anonimização. Os dados do Article 4(5) continuam pessoais; os dados anônimos saem do GDPR de vez.

•9 min de leitura
Sob o GDPR e a CCPA, um endereço IP é um dado pessoal?Sob o GDPR e a CCPA, um endereço IP é um dado pessoal?
Glossário

Sob o GDPR e a CCPA, um endereço IP é um dado pessoal?

Sob o GDPR, um endereço IP é um dado pessoal sempre que o operador do site tem meios legais para identificar o visitante, decidiu o CJEU em Breyer.

•8 min de leitura
Como uma janela de atribuição decide quais pontos de contato recebem créditoComo uma janela de atribuição decide quais pontos de contato recebem crédito
Glossário

Como uma janela de atribuição decide quais pontos de contato recebem crédito

Mude a janela de atribuição de 7 para 90 dias e um pedido de $1.800 paga três conjuntos de canais diferentes. Veja a aritmética e os padrões das plataformas.

•9 min de leitura
Uma página de tráfego resolve taxa de rejeição vs taxa de saídaUma página de tráfego resolve taxa de rejeição vs taxa de saída
Glossário

Uma página de tráfego resolve taxa de rejeição vs taxa de saída

Ler taxa de rejeição vs taxa de saída depende de dois denominadores. Uma página de preços devolve 40% de saída e 15% de rejeição na mesma semana.

•10 min de leitura
A fórmula da taxa de conversão aplicada a tráfego realA fórmula da taxa de conversão aplicada a tráfego real
Glossário

A fórmula da taxa de conversão aplicada a tráfego real

A fórmula da taxa de conversão: conversões divididas por sessões ou visitantes únicos, vezes 100. Uma semana de tráfego pelos dois denominadores dá duas.

•8 min de leitura

Artigos relacionados