Como fazer backup de seus dados do Universal Analytics para BigQuery com R

Publicados: 2023-09-26

O Universal Analytics (UA) finalmente foi encerrado e nossos dados agora estão fluindo livremente para nossas propriedades do Google Analytics 4 (GA4). Pode ser tentador nunca mais olhar para nossas configurações de UA, no entanto, antes de deixarmos o UA para trás, é importante armazenarmos os dados que ele já processou, caso precisemos analisá-los no futuro. Para armazenar seus dados, é claro que recomendamos o BigQuery, o serviço de armazenamento de dados do Google, e neste blog vamos mostrar quais dados fazer backup do UA e como fazer isso!

Para baixar nossos dados, usaremos a API do Google Analytics. Vamos escrever um script que fará o download dos dados necessários do UA e os enviará para o BigQuery, tudo de uma vez. Para esta tarefa, recomendamos fortemente o uso de R, pois os pacotes googleAnalyticsR e bigQueryR tornam esse trabalho muito simples, e escrevemos nosso tutorial para R por esse motivo!

Este guia não cobrirá as etapas mais complexas para configurar a autenticação, como baixar seu arquivo de credenciais. Para obter informações sobre isso e mais informações sobre como fazer upload de dados para o BigQuery, confira nosso blog sobre como fazer upload de dados para o BigQuery a partir de R e Python!

Fazendo backup de seus dados UA com R

Como de costume para qualquer script R, o primeiro passo é carregar nossas bibliotecas. Para este script precisaremos do seguinte:

biblioteca (googleAuthR)
biblioteca (googleAnalyticsR)
biblioteca(bigQueryR)

Se você nunca usou essas bibliotecas antes, execute install.packages(<PACKAGE NAME>)no console para instalá-las.

Em seguida, precisaremos classificar todas as nossas diversas autorizações. Para fazer isso, você desejará executar o código a seguir e seguir as instruções fornecidas:

googleAuthR::gar_cache_empty()
googleAuthR::gar_set_client(“C:\\Users\\Tom Brown\\Documents\\R\\APIs\\credentials.json”)
bqr_auth(email = “<seu e-mail aqui>”)
ga_id <- <SEU GA VIEW ID AQUI>


O ga_id pode ser encontrado abaixo do nome da visualização quando você a seleciona no UA, conforme mostrado abaixo:

Em seguida, temos que decidir quais dados realmente retirar do UA. Recomendamos puxar o seguinte:

Dimensões com escopo de sessão Dimensões com escopo de evento Dimensões com escopo de visualização de página
ID do Cliente ID do Cliente Caminho da página
Carimbo de data e hora Carimbo de data e hora Carimbo de data e hora
Fonte / Meio Categoria do Evento Fonte / Meio
Categoria do dispositivo Ação do Evento Categoria do dispositivo
Campanha Etiqueta do Evento Campanha
Agrupamento de canais Fonte / Meio Agrupamento de canais
Campanha

Colocá-los em três tabelas no BigQuery deve ser suficiente para todas as suas possíveis necessidades futuras de dados de UA. Para extrair esses dados do UA, primeiro você precisa especificar um intervalo de datas. Acesse a plataforma UA e dê uma olhada em um de seus relatórios para ver quando a coleta de dados começou. Em seguida, especifique um intervalo de datas que vai desde então até o dia anterior à execução do script, que é o último dia para o qual você terá dados completos de 24 horas (e se estiver fazendo isso após o UA ter sido pôr do sol, incluirá 100% dos seus dados disponíveis de qualquer maneira). Nossa coleta de dados começou em maio de 2017, então escrevi:

datas <- c(“01/05/2017”, Sys.Date()-1)

Agora, precisamos especificar o que precisa ser extraído do UA de acordo com a tabela acima. Para isso precisaremos executar o método google_analytics() três vezes, pois não é possível consultar dimensões de escopos diferentes juntas. Você pode copiar exatamente o seguinte código:

sessionpull <- google_analytics(ga_id,
intervalo_data = datas,
métricas = c(“sessões”),
dimensões = c(“clientId”, “dateHourMinute”,
“sourceMedium”, “deviceCategory”, “campanha”, “channelGrouping”),
anti_amostra = VERDADEIRO)

eventspull <- google_analytics(ga_id,
intervalo_data = datas,
métricas = c(“totalEvents”, “eventValue”),
dimensões = c(“clientId”, “dateHourMinute”, “eventCategory”, “eventAction”, “eventLabel”, “sourceMedium”, “campanha”),
anti_amostra = VERDADEIRO)

pvpull <- google_analytics(ga_id,
intervalo_data = datas,
métricas = c (“visualizações de página”),
dimensões = c(“pagePath”, “dateHourMinute”, “sourceMedium”, “deviceCategory”, “campanha”, “channelGrouping”),
anti_amostra = VERDADEIRO)

Isso deve colocar todos os seus dados em três quadros de dados intitulados sessionpull para as dimensões com escopo de sessão, eventspull para as dimensões com escopo de evento e pvpull para as dimensões com escopo de visualização de página.

Agora precisamos fazer upload dos dados para o BigQuery, cujo código deve ser parecido com este, repetido três vezes para cada dataframe:

bqr_upload_data(“<seu projeto>”, “<seu conjunto de dados>”, “<sua tabela>”, <seu dataframe>)

No meu caso, isso significa que meu código diz:

bqr_upload_data(“meu-projeto”, “test2”, “bloguploadRSess”, sessionpull)
bqr_upload_data(“meu-projeto”, “test2”, “bloguploadREvent”, eventspull)
bqr_upload_data(“meu-projeto”, “test2”, “bloguploadRpv”, pvpull)

Depois que tudo estiver escrito, você pode configurar seu script para ser executado, sentar e relaxar! Quando terminar, você poderá acessar o BigQuery e deverá ver todos os seus dados onde eles agora pertencem!

Com seus dados de UA guardados com segurança para um dia chuvoso, você pode se concentrar totalmente em maximizar o potencial de sua configuração GA4 - e a Semetrical está aqui para ajudar com isso! Confira nosso blog para obter mais informações sobre como aproveitar ao máximo seus dados. Ou, para obter mais suporte em todas as questões de análise, confira nossos serviços de análise da web para descobrir como podemos ajudá-lo.