Este artigo explica o formato e o esquema dos dados de propriedades do Google Analytics 4 e dos dados do Google Analytics para Firebase que são exportados para o BigQuery.
Conjuntos de dados
Para cada propriedade do Google Analytics 4 e cada projeto do Firebase associado ao BigQuery, é adicionado ao seu projeto do BigQuery um único conjunto de dados denominado "analytics_<property_id>". O ID da propriedade refere-se ao ID da sua propriedade do Analytics, que pode encontrar nas definições da propriedade do Google Analytics 4 e nas definições de análise de apps no Firebase. Cada propriedade do Google Analytics 4 e cada app para a qual a exportação do BigQuery esteja ativada irá exportar os respetivos dados para esse único conjunto de dados.
Tabelas
Em cada conjunto de dados, é criada uma tabela com o nome events_YYYYMMDD
todos os dias se a opção Exportação diária estiver ativada.
Se a opção Exportação com streaming estiver ativada, é criada a tabela com o nome events_intraday_YYYYMMDD
. Esta tabela é preenchida continuamente, à medida que os eventos são registados ao longo do dia. Esta tabela é eliminada no final de cada dia, quando a tabela events_YYYYMMDD
estiver preenchida.
Nem todos os dispositivos em que os eventos são acionados enviam os respetivos dados para o Analytics no mesmo dia em que são acionados. Para ter em consideração esta latência, o Analytics atualiza as tabelas diárias (events_YYYYMMDD
) com os eventos dessas datas para até três dias após as datas dos eventos. Os eventos terão o carimbo de data/hora correto, independentemente de chegarem mais tarde. Os eventos que chegam depois desse período de três dias não são gravados.
Se estiver a usar a sandbox do BigQuery, não há importação intradiária de eventos e aplicam-se limites adicionais.
Atualize a partir da sandbox se quiser importações intradiárias.
Colunas
Cada coluna na tabela events_YYYYMMDD
representa um parâmetro específico do evento. Tenha em atenção que alguns parâmetros estão aninhados em RECORDS e alguns RECORDS, como items
e event_params
, são repetíveis. As colunas da tabela são descritas abaixo.
Os campos event contêm informações que identificam um evento de forma exclusiva. | ||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
batch_event_index | INTEGER | Um número que indica a ordem sequencial de cada evento num lote com base na respetiva ordem de ocorrência no dispositivo. |
batch_ordering_id | INTEGER | Um número que aumenta de forma monótona e que é incrementado sempre que é enviado um pedido de rede a partir de uma determinada página. |
batch_page_id | INTEGER | Um número sequencial atribuído a uma página que aumenta para cada página subsequente numa interação. |
event_date | STRING | A data em que o evento foi registado (formato AAAAMMDD no fuso horário registado na app). |
event_timestamp | INTEGER | A hora (em microssegundos, UTC) em que o evento foi registado no cliente. |
event_previous_timestamp | INTEGER | A hora (em microssegundos, UTC) em que o evento foi anteriormente registado no cliente. |
event_name | STRING | O nome do evento. |
event_value_in_usd | FLOAT | O valor de conversão de moeda (em USD) do parâmetro "value" do evento. |
event_bundle_sequence_id | INTEGER | O ID sequencial do pacote em que foram carregados estes eventos. |
event_server_timestamp_offset | INTEGER | Deslocação de data/hora entre o tempo de recolha e o tempo de carregamento em microssegundos. |
RECORD event_params
O RECORD event_params pode armazenar parâmetros de eventos ao nível da campanha e contextuais, bem como parâmetros de eventos definidos pelo utilizador. O RECORD event_params é repetido para cada chave associada a um evento. O conjunto de parâmetros armazenado no RECORD event_params é exclusivo para cada implementação. Para ver a lista completa de parâmetros de eventos da sua implementação, consulte a lista de parâmetros de eventos. |
||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
event_params.key | STRING | O nome do parâmetro do evento. |
event_params.value | RECORD | Um registo que contém o valor do parâmetro do evento. |
event_params.value.string_value | STRING | Se o parâmetro do evento for representado por uma string, como um URL ou o nome de uma campanha, é preenchido neste campo. |
event_params.value.int_value | INTEGER | Se o parâmetro do evento for representado por um número inteiro, é preenchido neste campo. |
event_params.value.double_value | FLOAT | Se o parâmetro do evento for representado por um valor duplo, é preenchido neste campo. |
event_params.value.float_value | FLOAT | Se o parâmetro do evento for representado por um valor de vírgula flutuante, é preenchido neste campo. Este campo não está a ser usado. |
RECORD item_params
O RECORD item_params pode armazenar parâmetros de artigos, bem como quaisquer parâmetros de artigos definidos pelo utilizador. O conjunto de parâmetros armazenado no RECORD item_params é exclusivo para cada implementação. |
||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
item_params.key | STRING | O nome do parâmetro do artigo. |
item_params.value | RECORD | Um registo que contém o valor do parâmetro do artigo. |
item_params.value.string_value | STRING | Se o parâmetro do artigo for representado por uma string, é preenchido neste campo. |
item_params.value.int_value | INTEGER | Se o parâmetro do artigo for representado por um número inteiro, é preenchido neste campo. |
item_params.value.double_value | FLOAT | Se o parâmetro do artigo for representado por um valor duplo, é preenchido neste campo. |
item_params.value.float_value | FLOAT | Se o parâmetro do artigo for representado por um valor de vírgula flutuante, é preenchido neste campo. |
Os campos user contêm informações que identificam de forma exclusiva o utilizador associado ao evento. | ||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
is_active_user | BOOLEAN |
Indica se o utilizador esteve ativo (verdadeiro) ou inativo (falso) em qualquer altura do dia civil Incluído apenas nas tabelas diárias ( |
user_id | STRING | O ID exclusivo atribuído a um utilizador. |
user_pseudo_id | STRING | O ID pseudonimizado (por exemplo, ID de instância da app) do utilizador. Um identificador único atribuído a um utilizador quando este abre a app ou visita o site pela primeira vez. |
user_first_touch_timestamp | INTEGER | A hora (em microssegundos) a que o utilizador abriu a app ou visitou o site pela primeira vez. |
campos privacy_info
Os campos privacy_info contêm informações baseadas no estado do consentimento de um utilizador quando o modo de consentimento está ativado. | ||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
privacy_info.ads_storage | STRING |
Indica se a segmentação de anúncios está ativada para um utilizador. Valores possíveis: Sim, Não, Não definido |
privacy_info.analytics_storage | STRING |
Indica se o armazenamento do Analytics está ativado para o utilizador. Valores possíveis: Sim, Não, Não definido |
privacy_info.uses_transient_token | STRING |
Indica se um utilizador da Web recusou o armazenamento do Analytics e se o programador ativou a medição sem cookies com base em símbolos transitórios nos dados do servidor. Valores possíveis: Sim, Não, Não definido |
RECORD user_properties
O RECORD user_properties contém todas as propriedades do utilizador que definiu. É repetido para cada chave associada a um utilizador. | ||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
user_properties.key | STRING | O nome da propriedade do utilizador. |
user_properties.value | RECORD | Um registo para o valor da propriedade do utilizador. |
user_properties.value.string_value | STRING | O valor de string da propriedade do utilizador. |
user_properties.value.int_value | INTEGER | O valor inteiro da propriedade do utilizador. |
user_properties.value.double_value | FLOAT | O valor duplo da propriedade do utilizador. |
user_properties.value.float_value | FLOAT | Este campo não é usado atualmente. |
user_properties.value.set_timestamp_micros | INTEGER | A hora (em microssegundos) a que a propriedade do utilizador foi definida pela última vez. |
RECORD user_ltv
O RECORD user_ltv contém informações de valor do cliente relativas ao utilizador. Este RECORD não é preenchido em tabelas intradiárias. | ||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
user_ltv.revenue | FLOAT | O valor do cliente (receita) do utilizador. Este campo não é preenchido em tabelas intradiárias. |
user_ltv.currency | STRING | O valor do cliente (moeda) do utilizador. Este campo não é preenchido em tabelas intradiárias. |
O RECORD device contém informações sobre o dispositivo de origem do evento. | ||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
device.category | STRING | A categoria do dispositivo (telemóvel, tablet, computador). |
device.mobile_brand_name | STRING | O nome da marca do dispositivo. |
device.mobile_model_name | STRING | O nome do modelo do dispositivo. |
device.mobile_marketing_name | STRING | O nome comercial do dispositivo. |
device.mobile_os_hardware_model | STRING | As informações do modelo do dispositivo obtidas diretamente do sistema operativo. |
device.operating_system | STRING | O sistema operativo do dispositivo. |
device.operating_system_version | STRING | A versão do SO. |
device.vendor_id | STRING | IDFV (apenas presente quando o IDFA não é recolhido). |
device.advertising_id | STRING | ID de publicidade/IDFA. |
device.language | STRING | O idioma do SO. |
device.time_zone_offset_seconds | INTEGER | A deslocação de GMT em segundos. |
device.is_limited_ad_tracking | BOOLEAN |
A definição Limitar a monitorização de anúncios do dispositivo. No iOS14+, devolve false se o IDFA não for zero. |
device.web_info.browser | STRING | O navegador em que o utilizador visualizou conteúdo. |
device.web_info.browser_version | STRING | A versão do navegador em que o utilizador visualizou conteúdo. |
device.web_info.hostname | STRING | O nome do anfitrião associado ao evento registado. |
geo
O RECORD geo contém informações sobre a localização geográfica em que o evento foi iniciado. | ||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
geo.continent | STRING | O continente de comunicação de eventos, com base no endereço IP. |
geo.sub_continent | STRING | O subcontinente de comunicação de eventos, com base no endereço IP. |
geo.country | STRING | O país de comunicação de eventos, com base no endereço IP. |
geo.region | STRING | A região de comunicação de eventos, com base no endereço IP. |
geo.metro | STRING | A área metropolitana de comunicação de eventos, com base no endereço IP. |
geo.city | STRING | A cidade de comunicação de eventos, com base no endereço IP. |
O RECORD app_info contém informações sobre a app na qual o evento foi iniciado. | ||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
app_info.id | STRING | O nome do pacote ou o ID do pacote da app. |
app_info.firebase_app_id | STRING | O ID da app do Firebase associado à app. |
app_info.install_source | STRING | A loja que instalou a app. |
app_info.version | STRING | O nome da versão da app (Android) ou a versão curta do pacote. |
O RECORD collected_traffic_source contém os dados da origem de tráfego recolhidos com o primeiro evento da página. |
||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
manual_campaign_id | STRING | O ID da campanha manual (utm_id) que foi recolhido com o evento. |
manual_campaign_name | STRING | O nome da campanha manual (utm_campaign) recolhido com o evento. |
manual_source | STRING | A origem da campanha manual (utm_source) que foi recolhida com o evento. Também inclui parâmetros analisados de parâmetros de referência e não apenas valores UTM. |
manual_medium | STRING | O meio da campanha manual (utm_medium) que foi recolhido com o evento. Também inclui parâmetros analisados de parâmetros de referência e não apenas valores UTM. |
manual_term | STRING | O termo/palavra-chave da campanha manual (utm_term) recolhido com o evento. |
manual_content | STRING | Os metadados da campanha manual adicionais (utm_content) que foram recolhidos com o evento. |
manual_creative_format | STRING | O formato do criativo da campanha manual (utm_creative_format) que foi recolhido com o evento. |
manual_marketing_tactic | STRING | A tática de marketing da campanha manual (utm_marketing_tactic) que foi recolhida com o evento. |
manual_source_platform | STRING | A plataforma de origem da campanha manual (utm_source_platform) que foi recolhida com o evento. |
gclid | STRING | O identificador do clique Google recolhido com o evento. |
dclid | STRING | O identificador do clique do DoubleClick para o Display & Video 360 e o Campaign Manager 360 recolhido com o evento. |
srsltid | STRING | O identificador do Google Merchant Center que foi recolhido com o evento. |
O RECORD session_traffic_source_last_click contém os dados da origem de tráfego da sessão atribuída ao último clique nos anúncios Google e em contextos manuais, quando disponível. |
||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
session_traffic_source_last_click. manual_campaign.campaign_id | STRING | O ID da campanha manual que recebeu o último clique |
session_traffic_source_last_click. manual_campaign.campaign_name | STRING | O nome da última campanha manual que recebeu o último clique |
session_traffic_source_last_click. manual_campaign.medium | STRING | O meio da campanha manual que recebeu o último clique (por exemplo, pesquisa paga, pesquisa orgânica, email) |
session_traffic_source_last_click. manual_campaign.term | STRING | A palavra-chave/termo de pesquisa da campanha manual que recebeu o último clique |
session_traffic_source_last_click. manual_campaign.content | STRING | Metadados adicionais da campanha manual que recebeu o último clique |
session_traffic_source_last_click. manual_campaign.source_platform | STRING | A plataforma da campanha manual que recebeu o último clique (por exemplo, motor de pesquisa ou rede social) |
session_traffic_source_last_click. manual_campaign.source | STRING | A origem específica na plataforma da campanha manual que recebeu o último clique |
session_traffic_source_last_click. manual_campaign.creative_format | STRING | O formato do criativo da campanha manual que recebeu o último clique |
session_traffic_source_last_click. manual_campaign.marketing_tactic | STRING | A tática de marketing da campanha manual que recebeu o último clique |
session_traffic_source_last_click. google_ads_campaign.customer_id | STRING | O ID de cliente associado à conta do Google Ads |
session_traffic_source_last_click. google_ads_campaign.account_name | STRING | O nome da conta do Google Ads |
session_traffic_source_last_click. google_ads_campaign.campaign_id | STRING | O ID da campanha do Google Ads |
session_traffic_source_last_click. google_ads_campaign.campaign_name | STRING | O nome da campanha do Google Ads |
session_traffic_source_last_click. google_ads_campaign.ad_group_id | STRING | O ID do grupo de anúncios na campanha do Google Ads |
session_traffic_source_last_click. google_ads_campaign.ad_group_name | STRING | O nome do grupo de anúncios na campanha do Google Ads |
session_traffic_source_last_click. cross_channel_campaign.campaign_name |
STRING | O nome da campanha em vários canais que recebeu o último clique |
session_traffic_source_last_click. cross_channel_campaign.campaign_id |
STRING | O ID da campanha em vários canais que recebeu o último clique |
session_traffic_source_last_click. cross_channel_campaign.source_platform |
STRING | A plataforma da campanha em vários canais que recebeu o último clique |
session_traffic_source_last_click. cross_channel_campaign.source |
STRING | A origem específica na plataforma da campanha em vários canais que recebeu o último clique |
session_traffic_source_last_click. cross_channel_campaign.medium |
STRING | O meio da campanha em vários canais que recebeu o último clique |
session_traffic_source_last_click. sa360_campaign.campaign_name |
STRING | O nome da campanha do SA360 que recebeu o último clique |
session_traffic_source_last_click. sa360_campaign.source |
STRING | A origem específica na plataforma da campanha do SA360 que recebeu o último clique |
session_traffic_source_last_click. sa360_campaign.medium |
STRING | O meio da campanha do SA360 que recebeu o último clique |
session_traffic_source_last_click. sa360_campaign.ad_group_id |
STRING | O ID do grupo de anúncios na campanha do SA360 |
session_traffic_source_last_click. sa360_campaign.ad_group_name |
STRING | O nome do grupo de anúncios na campanha do SA360 |
session_traffic_source_last_click. sa360_campaign.campaign_id |
STRING | O ID da campanha do SA360 que recebeu o último clique |
session_traffic_source_last_click. sa360_campaign.creative_format |
STRING | O formato do criativo da campanha do SA360 que recebeu o último clique |
session_traffic_source_last_click. sa360_campaign.engine_account_name |
STRING | O nome da conta do motor do SA360 |
session_traffic_source_last_click. sa360_campaign.engine_account_type |
STRING | O tipo de conta do motor que contém a campanha do SA360 |
session_traffic_source_last_click. sa360_campaign.manager_account_name |
STRING | O nome da conta de gestor do SA360 |
session_traffic_source_last_click. dv360_campaign.advertiser_id |
STRING | O ID do anunciante do DV360 |
session_traffic_source_last_click. dv360_campaign.advertiser_name |
STRING | O nome do anunciante do DV360 |
session_traffic_source_last_click. dv360_campaign.campaign_id |
STRING | O ID da campanha do DV360 que recebeu o último clique |
session_traffic_source_last_click. dv360_campaign.campaign_name |
STRING | O nome da campanha do DV360 que recebeu o último clique |
session_traffic_source_last_click. dv360_campaign.creative_id |
STRING | O ID do criativo da campanha do DV360 que recebeu o último clique |
session_traffic_source_last_click. dv360_campaign.creative_format |
STRING | O formato do criativo da campanha do DV360 que recebeu o último clique |
session_traffic_source_last_click. dv360_campaign.creative_name |
STRING | O nome do criativo da campanha do DV360 que recebeu o último clique |
session_traffic_source_last_click. dv360_campaign.marketing_tactic |
STRING | A tática de marketing da campanha do DV360 que recebeu o último clique |
session_traffic_source_last_click. dv360_campaign.exchange_id |
STRING | O ID de troca da campanha do DV360 que recebeu o último clique |
session_traffic_source_last_click. dv360_campaign.exchange_name |
STRING | O nome da troca da campanha do DV360 que recebeu o último clique |
session_traffic_source_last_click. dv360_campaign.insertion_order_id |
STRING | O ID da ordem de inserção na campanha do DV360 que recebeu o último clique |
session_traffic_source_last_click. dv360_campaign.insertion_order_name |
STRING | O nome da ordem de inserção na campanha do DV360 que recebeu o último clique |
session_traffic_source_last_click. dv360_campaign.line_item_id |
STRING | O ID do elemento publicitário na campanha do DV360 que recebeu o último clique |
session_traffic_source_last_click. dv360_campaign.line_item_name |
STRING | O nome do elemento publicitário na campanha do DV360 que recebeu o último clique |
session_traffic_source_last_click. dv360_campaign.partner_id |
STRING | O ID do parceiro do DV360 |
session_traffic_source_last_click. dv360_campaign.partner_name |
STRING | O nome do parceiro do DV360 |
session_traffic_source_last_click. dv360_campaign.source |
STRING | A origem específica na plataforma da campanha do DV360 que recebeu o último clique |
session_traffic_source_last_click. dv360_campaign.medium |
STRING | O meio da campanha do DV360 que recebeu o último clique |
session_traffic_source_last_click. cm360_campaign.account_id |
STRING | O ID da conta do CM360 |
session_traffic_source_last_click. cm360_campaign.account_name |
STRING | O nome da conta do CM360 |
session_traffic_source_last_click. cm360_campaign.advertiser_id |
STRING | O ID do anunciante do CM360 |
session_traffic_source_last_click. cm360_campaign.advertiser_name |
STRING | O nome do anunciante do CM360 |
session_traffic_source_last_click. cm360_campaign.campaign_id |
STRING | O ID da campanha do CM360 que recebeu o último clique |
session_traffic_source_last_click. cm360_campaign.campaign_name |
STRING | O nome da campanha do CM360 que recebeu o último clique |
session_traffic_source_last_click. cm360_campaign.creative_id |
STRING | O ID do criativo da campanha do CM360 que recebeu o último clique |
session_traffic_source_last_click. cm360_campaign.creative_format |
STRING | O formato do criativo da campanha do CM360 que recebeu o último clique |
session_traffic_source_last_click. cm360_campaign.creative_name |
STRING | O nome do criativo da campanha do CM360 que recebeu o último clique |
session_traffic_source_last_click. cm360_campaign.creative_type |
STRING | O tipo de criativo da campanha do CM360 que recebeu o último clique |
session_traffic_source_last_click. cm360_campaign.creative_type_id |
STRING | O ID do tipo de criativo da campanha do CM360 que recebeu o último clique |
session_traffic_source_last_click. cm360_campaign.creative_version |
STRING | A versão do criativo da campanha do CM360 que recebeu o último clique |
session_traffic_source_last_click. cm360_campaign.placement_id |
STRING | O ID do posicionamento da campanha do CM360 que recebeu o último clique |
session_traffic_source_last_click.cm360 _campaign.placement_cost_structure |
STRING | A estrutura de custos do posicionamento da campanha do CM360 que recebeu o último clique |
session_traffic_source_last_click. cm360_campaign.placement_name |
STRING | O nome do posicionamento da campanha do CM360 que recebeu o último clique |
session_traffic_source_last_click. cm360_campaign.rendering_id |
STRING | O ID de renderização da campanha do CM360 que recebeu o último clique |
session_traffic_source_last_click. cm360_campaign.site_id |
STRING | O ID do site da campanha do CM360 que recebeu o último clique |
session_traffic_source_last_click. cm360_campaign.site_name |
STRING | O nome do site da campanha do CM360 que recebeu o último clique |
session_traffic_source_last_click. cm360_campaign.source |
STRING | A origem específica da campanha do CM360 que recebeu o último clique |
session_traffic_source_last_click. cm360_campaign.medium |
STRING | O meio da campanha do CM360 que recebeu o último clique |
O RECORD traffic_source contém informações sobre a origem de tráfego que adquiriu o utilizador em primeiro lugar. Este registo não é preenchido em tabelas intradiárias. Nota: os valores de traffic_source não mudam se o utilizador interagir com as campanhas subsequentes após a instalação. |
||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
traffic_source.name | STRING | Nome da campanha de marketing que adquiriu o utilizador em primeiro lugar. Este campo não é preenchido em tabelas intradiárias. |
traffic_source.medium | STRING | Nome do meio (pesquisa paga, pesquisa orgânica, email, etc.) que adquiriu o utilizador em primeiro lugar. Este campo não é preenchido em tabelas intradiárias. |
traffic_source.source | STRING | Nome da rede que adquiriu o utilizador em primeiro lugar. Este campo não é preenchido em tabelas intradiárias. |
Os campos stream e platform contêm informações sobre a stream e a plataforma da app. | ||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
stream_id | STRING | O ID numérico da stream de dados de origem do evento. |
platform | STRING | A plataforma de stream de dados (Web, iOS ou Android) de origem do evento. |
Este RECORD ecommerce contém informações sobre quaisquer eventos de comércio eletrónico que foram configurados num Website ou numa app. | ||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
ecommerce.total_item_quantity | INTEGER | Número total de artigos neste evento, que é a soma de items.quantity. |
ecommerce.purchase_revenue_in_usd | FLOAT | Receita de compras deste evento, representada em USD com a unidade padrão. Preenchido apenas para um evento de compra. |
ecommerce.purchase_revenue | FLOAT | Receita de compras neste evento, representada na moeda local com a unidade padrão. Preenchido apenas para um evento de compra. |
ecommerce.refund_value_in_usd | FLOAT | O valor do reembolso neste evento, representado em USD com a unidade padrão. Preenchido apenas para um evento de reembolso. |
ecommerce.refund_value | FLOAT | O valor do reembolso neste evento, representado na moeda local com a unidade padrão. Preenchido apenas para um evento de reembolso. |
ecommerce.shipping_value_in_usd | FLOAT | O custo de envio neste evento, representado em USD com a unidade padrão. |
ecommerce.shipping_value | FLOAT | O custo de envio neste evento, representado na moeda local. |
ecommerce.tax_value_in_usd | FLOAT | O valor do imposto neste evento, representado em USD com a unidade padrão. |
ecommerce.tax_value | FLOAT | O valor do imposto neste evento, representado na moeda local com a unidade padrão. |
ecommerce.transaction_id | STRING | O ID da transação de comércio eletrónico. |
ecommerce.unique_items | INTEGER | O número de artigos únicos neste evento, com base no item_id, item_name e item_brand. |
O RECORD items contém informações sobre artigos incluídos num evento. É repetido para cada artigo. | ||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
items.item_id | STRING | O ID do artigo. |
items.item_name | STRING | O nome do artigo. |
items.item_brand | STRING | A marca do artigo. |
items.item_variant | STRING | A variante do artigo. |
items.item_category | STRING | A categoria do artigo. |
items.item_category2 | STRING | A subcategoria do artigo. |
items.item_category3 | STRING | A subcategoria do artigo. |
items.item_category4 | STRING | A subcategoria do artigo. |
items.item_category5 | STRING | A subcategoria do artigo. |
items.price_in_usd | FLOAT | O preço do artigo, em USD com a unidade padrão. |
items.price | FLOAT | O preço do artigo na moeda local. |
items.quantity | INTEGER | A quantidade do artigo. A quantidade é definida como 1 se não for especificada. |
items.item_revenue_in_usd | FLOAT | A receita deste artigo, calculada como price_in_usd * quantity. É preenchida apenas para eventos de compra, em USD com a unidade padrão. |
items.item_revenue | FLOAT | A receita deste artigo, calculada como price * quantity. É preenchida apenas para eventos de compra, na moeda local com a unidade padrão. |
items.item_refund_in_usd | FLOAT | O valor de reembolso deste artigo, calculado como price_in_usd * quantity. É preenchido apenas para eventos de reembolso, em USD com a unidade padrão. |
items.item_refund | FLOAT | O valor de reembolso deste artigo, calculado como price * quantity. É preenchido apenas para eventos de reembolso, na moeda local com a unidade padrão. |
items.coupon | STRING | Código do cupão aplicado a este artigo. |
items.affiliation | STRING | Uma afiliação de produtos para designar uma empresa de abastecimento ou a localização física de uma loja. |
items.location_id | STRING | A localização associada ao artigo. |
items.item_list_id | STRING | O ID da lista na qual o artigo foi apresentado ao utilizador. |
items.item_list_name | STRING | O nome da lista na qual o artigo foi apresentado ao utilizador. |
Items.item_list_index | STRING | A posição do artigo numa lista. |
items.promotion_id | STRING | O ID de uma promoção de produtos. |
items.promotion_name | STRING | O nome de uma promoção de produtos. |
items.creative_name | STRING | O nome de um criativo usado num espaço promocional. |
items.creative_slot | STRING | O nome de um espaço para criativos. |
RECORD item_params
O RECORD item_params armazena os parâmetros de artigos personalizados que definiu. Tenha em atenção que os parâmetros de artigos predefinidos, como item_id, item_name, etc., não estão incluídos aqui. Em vez disso, são exportados como campos explícitos. O conjunto de parâmetros armazenado no RECORD item_params é exclusivo para cada implementação. Para saber mais acerca das implementações de comércio eletrónico e da matriz de artigos do Google Analytics 4, consulte o artigo Meça o comércio eletrónico. |
||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
items.item_params.key | STRING | O nome do parâmetro do artigo. |
items.item_params.value | RECORD | Um registo que contém o valor do parâmetro do artigo. |
items.item_params.value.string_value | STRING | Se o parâmetro do artigo for representado por uma string, é preenchido neste campo. |
items.item_params.value.int_value | INTEGER | Se o parâmetro do artigo for representado por um número inteiro, é preenchido neste campo. |
items.item_params.value.double_value | FLOAT | Se o parâmetro do artigo for representado por um valor duplo, é preenchido neste campo. |
items.item_params.value.float_value | FLOAT | Se o parâmetro do artigo for representado por um valor de vírgula flutuante, é preenchido neste campo. |
O RECORD publisher contém informações sobre eventos provenientes de uma integração do publicador relacionada com a apresentação de anúncios, ou seja, o AdMob. | ||
Nome do campo | Tipo de dados | Descrição |
---|---|---|
publisher | RECORD | Um registo de dados do publicador provenientes do AdMob. |
publisher.ad_revenue_in_usd | FLOAT | Receita de anúncios estimada resultante deste evento, representada em USD. Preenchido apenas para eventos de impressões de anúncios. |
publisher.ad_format | STRING | Descreve a forma como os anúncios foram apresentados e onde estavam localizados. Os formatos típicos incluem "Anúncio intercalar", "Faixa", "Premiado" e "Anúncios nativos avançados". |
publisher.ad_source_name | STRING | A rede de origem que publicou um anúncio. As origens típicas incluem "Rede do AdMob", "Meta Audience Network" e "Anúncios internos mediados". |
publisher.ad_unit_id | STRING | O nome que escolheu para descrever este bloco de anúncios. Os blocos de anúncios são contentores que coloca nas suas apps para apresentar anúncios aos utilizadores. |
Linhas
Os dados de um único evento podem ser representados numa ou várias linhas, consoante contenham RECORDS repetidos. Por exemplo, um evento page_view
com vários event_params
seria semelhante à tabela seguinte. A linha inicial contém o nome do evento, a data, a indicação de tempo e outros artigos de dados não repetidos. O RECORD event_params
é repetido para cada parâmetro associado ao evento. Estes RECORDS repetidos são preenchidos nas linhas subsequentes diretamente abaixo da linha de evento inicial.
event_date | event_timestamp | event_name | event_params.key | event_params_value.string_value |
---|---|---|---|---|
20220222 | 1643673600483790 | page_view | page_location | https://example.com |
page_title | Home | |||
média | referral | |||
fonte | ||||
page_referrer | https://www.google.com | |||
<parameters...> | <values...> |
Estes dados de eventos são apresentados da seguinte forma na interface do utilizador do GA4.
Se usou versões anteriores do SDK e planeia atualizar para o Android 17.2.5 (ou posterior) e/ou o iOS 16.20.0 (ou posterior), deve considerar o seguinte:
- Para usar o esquema atual do BigQuery Export, tem de atualizar o SDK para o Android 17.2.5 (ou posterior) e/ou o iOS 16.20.0 (ou posterior). Ao usar versões anteriores do SDK, os dados exportados vão refletir o esquema antigo.
- Após a atualização e a partir desse momento, só poderá aceder aos dados dos artigos na matriz de artigos repetidos. Os dados dos artigos deixarão de estar disponíveis nos parâmetros de eventos padrão, uma vez que eram anteriores a estas versões do SDK.
- Esta alteração foi feita para suportar a análise de vários produtos.
- Como resultado, pode ser necessário ajustar as referências aos dados do artigo/produto.
- Inicie sessão na Cloud Platform Console > página Gerir recursos.
- Abra o projeto cujos dados quer migrar e clique em Ativar Google Cloud Shell na parte superior da página.
- Quando a shell abrir, copie o script abaixo para um ficheiro denominado
migration_script.sql
:- Emita o comando
cat > migration_script.sql
- Copie e cole o script abaixo na shell.
- Prima Ctrl+D para guardar e sair.
SELECT @date AS event_date, event.timestamp_micros AS event_timestamp, event.previous_timestamp_micros AS event_previous_timestamp, event.name AS event_name, event.value_in_usd AS event_value_in_usd, user_dim.bundle_info.bundle_sequence_id AS event_bundle_sequence_id, user_dim.bundle_info.server_timestamp_offset_micros as event_server_timestamp_offset, ( SELECT ARRAY_AGG(STRUCT(event_param.key AS key, STRUCT(event_param.value.string_value AS string_value, event_param.value.int_value AS int_value, event_param.value.double_value AS double_value, event_param.value.float_value AS float_value) AS value)) FROM UNNEST(event.params) AS event_param) AS event_params, user_dim.first_open_timestamp_micros AS user_first_touch_timestamp, user_dim.user_id AS user_id, user_dim.app_info.app_instance_id AS user_pseudo_id, "" AS stream_id, user_dim.app_info.app_platform AS platform, STRUCT( user_dim.ltv_info.revenue AS revenue, user_dim.ltv_info.currency AS currency ) AS user_ltv, STRUCT( user_dim.traffic_source.user_acquired_campaign AS name, user_dim.traffic_source.user_acquired_medium AS medium, user_dim.traffic_source.user_acquired_source AS source ) AS traffic_source, STRUCT( user_dim.geo_info.continent AS continent, user_dim.geo_info.country AS country, user_dim.geo_info.region AS region, user_dim.geo_info.city AS city ) AS geo, STRUCT( user_dim.device_info.device_category AS category, user_dim.device_info.mobile_brand_name, user_dim.device_info.mobile_model_name, user_dim.device_info.mobile_marketing_name, user_dim.device_info.device_model AS mobile_os_hardware_model, @platform AS operating_system, user_dim.device_info.platform_version AS operating_system_version, user_dim.device_info.device_id AS vendor_id, user_dim.device_info.resettable_device_id AS advertising_id, user_dim.device_info.user_default_language AS language, user_dim.device_info.device_time_zone_offset_seconds AS time_zone_offset_seconds, IF(user_dim.device_info.limited_ad_tracking, "Yes", "No") AS is_limited_ad_tracking ) AS device, STRUCT( user_dim.app_info.app_id AS id, @firebase_app_id AS firebase_app_id, user_dim.app_info.app_version AS version, user_dim.app_info.app_store AS install_source ) AS app_info, ( SELECT ARRAY_AGG(STRUCT(user_property.key AS key, STRUCT(user_property.value.value.string_value AS string_value, user_property.value.value.int_value AS int_value, user_property.value.value.double_value AS double_value, user_property.value.value.float_value AS float_value, user_property.value.set_timestamp_usec AS set_timestamp_micros ) AS value)) FROM UNNEST(user_dim.user_properties) AS user_property) AS user_properties FROM `SCRIPT_GENERATED_TABLE_NAME`, UNNEST(event_dim) AS event
- Emita o comando
- Abra uma nova shell e copie o script Bash abaixo para um ficheiro denominado
migration.sh
:- Emita o comando
cat > migration.sh
- Copie e cole o script abaixo na shell.
- Prima Ctrl+D para guardar e sair.
Modifique o seguinte script de modo a incluir o ID da sua propriedade do Analytics, o ID do projeto do BigQuery, o ID da app do Firebase, o nome do conjunto de dados do BigQuery e as datas de início e de fim dos dados pretendidos.Script (migration.sh):# ID da propriedade do Analytics para o projeto. Encontre-o nas Definições do Analytics no Firebase. PROPERTY_ID=o ID da sua propriedade do Analytics # Projeto do BigQuery Export. BQ_PROJECT_ID="o ID do seu projeto do BigQuery" (por exemplo, "firebase-public-project") # ID da app do Firebase para a app. FIREBASE_APP_ID="o ID da app do Firebase" (por exemplo, "1:300830567303:ios:09b1ab1d3ca29bda") # Conjunto de dados de origem da importação. BQ_DATASET="nome do conjunto de dados do BigQuery a partir do qual pretende importar" (por exemplo, "com_firebase_demo_IOS") # Plataforma PLATFORM="plataforma da app: ANDROID ou IOS" # Intervalo de datas pretendido para a execução da migração, incluindo [START_DATE,END_DATE]. START_DATE=20180324 END_DATE=20180327 # Não modifique o script abaixo, a menos que saiba o que está a fazer :) startdate=$(date -d"$START_DATE" +%Y%m%d) || exit -1 enddate=$(date -d"$END_DATE" +%Y%m%d) || exit -1 # Faça a iteração das datas. DATE="$startdate" while [ "$DATE" -le "$enddate" ]; do # Tabela do BigQuery criada a partir dos parâmetros acima. BQ_TABLE="$BQ_PROJECT_ID.$BQ_DATASET.app_events_$DATE" echo "Migrating $BQ_TABLE" cat migration_script.sql | sed -e "s/SCRIPT_GENERATED_TABLE_NAME/$BQ_TABLE/g" | bq query \ --debug_mode \ --allow_large_results \ --noflatten_results \ --use_legacy_sql=False \ --destination_table analytics_$PROPERTY_ID.events_$DATE \ --batch \ --append_table \ --parameter=firebase_app_id::$FIREBASE_APP_ID \ --parameter=date::$DATE \ --parameter=platform::$PLATFORM \ --project_id=$BQ_PROJECT_ID temp=$(date -I -d "$DATE + 1 day") DATE=$(date -d "$temp" +%Y%m%d) done exit # FIM DO SCRIPT
- Emita o comando
- Abra uma nova shell e emita o comando
bash migration.sh
user_dim
Nome do campo | Tipo de dados | Descrição |
---|---|---|
user_dim | RECORD | Um registo das dimensões do utilizador. |
user_dim.user_id | STRING | O ID do utilizador definido através da API setUserId. |
user_dim.first_open_timestamp_micros | INTEGER | A hora (em microssegundos) a que o utilizador abriu a app pela primeira vez. |
user_dim.user_properties | RECORD | Um registo repetido de propriedades do utilizador definidas com a API setUserProperty. |
user_dim.user_properties.key | STRING | O nome da propriedade do utilizador |
user_dim.user_properties.value | RECORD | Um registo para informações sobre a propriedade do utilizador. |
user_dim.user_properties.value.value | RECORD | Um registo para o valor da propriedade do utilizador. |
user_dim.user_properties.value.value.string_value | STRING | O valor de string da propriedade do utilizador. |
user_dim.user_properties.value.value.int_value | INTEGER | O valor inteiro da propriedade do utilizador. |
user_dim.user_properties.value.value.double_value | FLOAT | O valor duplo da propriedade do utilizador. |
user_dim.user_properties.value.set_timestamp_usec | INTEGER | A hora (em microssegundos) a que a propriedade do utilizador foi definida pela última vez. |
user_dim.user_properties.value.index | INTEGER | O índice (0-24) da propriedade do utilizador. |
user_dim.device_info | RECORD | Um registo das informações do dispositivo. |
user_dim.device_info.device_category | STRING | A categoria do dispositivo (telemóvel, tablet, computador). |
user_dim.device_info.mobile_brand_name | STRING | O nome da marca do dispositivo. |
user_dim.device_info.mobile_model_name | STRING | O nome do modelo do dispositivo. |
user_dim.device_info.mobile_marketing_name | STRING | O nome comercial do dispositivo. |
user_dim.device_info.device_model | STRING | O modelo do dispositivo. |
user_dim.device_info.platform_version | STRING | A versão do SO. |
user_dim.device_info.device_id | STRING | IDFV (apenas presente quando o IDFA não está disponível). |
user_dim.device_info.resettable_device_id | STRING | ID de publicidade/IDFA. |
user_dim.device_info.user_default_language | STRING | O idioma do SO. |
user_dim.device_info.device_time_zone_offset_seconds | INTEGER | A deslocação de GMT em segundos. |
user_dim.device_info.limited_ad_tracking | BOOLEAN | A definição Limitar a monitorização de anúncios do dispositivo. |
user_dim.geo_info | RECORD | Um registo das informações geográficas do utilizador. |
user_dim.geo_info.continent | STRING | O continente de comunicação de eventos, com base no endereço IP. |
user_dim.geo_info.country | STRING | O país de comunicação de eventos, com base no endereço IP. |
user_dim.geo_info.region | STRING | A região de comunicação de eventos, com base no endereço IP. |
user_dim.geo_info.city | STRING | A cidade de comunicação de eventos, com base no endereço IP. |
user_dim.app_info | RECORD | Um registo de informações sobre a app. |
user_dim.app_info.app_version | STRING | O nome da versão da app (Android) ou a versão curta do pacote. |
user_dim.app_info.app_instance_id | STRING | O ID exclusivo para esta instância da app. |
user_dim.app_info.app_store | STRING | A loja que instalou esta app. |
user_dim.app_info.app_platform | STRING | A plataforma na qual a app é executada. |
user_dim.traffic_source | RECORD | Nome da origem de tráfego utilizada para adquirir o utilizador. Este campo não é preenchido em tabelas intradiárias. |
user_dim.traffic_source.user_acquired_campaign | STRING | O nome da campanha de marketing que adquiriu o utilizador. Este campo não é preenchido em tabelas intradiárias. |
user_dim.traffic_source.user_acquired_medium | STRING | O nome do meio (pesquisa paga, pesquisa orgânica, email, etc.) que adquiriu o utilizador. Este campo não é preenchido em tabelas intradiárias. |
user_dim.traffic_source.user_acquired_source | STRING | O nome da rede que adquiriu o utilizador. Este campo não é preenchido em tabelas intradiárias. |
user_dim.bundle_info | RECORD | Um registo de informações relativas ao pacote em que foram carregados estes eventos. |
user_dim.bundle_info.bundle_sequence_id | INTEGER | O ID sequencial do pacote em que foram carregados estes eventos. |
user_dim.ltv_info | RECORD | Um registo de informações de valor do cliente relativas a este utilizador. Este campo não é preenchido em tabelas intradiárias. |
user_dim.ltv_info.revenue | FLOAT | O valor do cliente (receita) deste utilizador. Este campo não é preenchido em tabelas intradiárias. |
user_dim.ltv_info.currency | STRING | O valor do cliente (moeda) deste utilizador. Este campo não é preenchido em tabelas intradiárias. |
event_dim
Nome do campo | Tipo de dados | Descrição |
---|---|---|
event_dim | RECORD | Um registo repetido de informações relativas aos eventos neste pacote. |
event_dim.date | STRING | A data em que este evento foi registado (formato AAAAMMDD no fuso horário registado na app). |
event_dim.name | STRING | O nome deste evento. |
event_dim.params | RECORD | Um registo repetido dos parâmetros associados a este evento. |
event_dim.params.key | STRING | A chave do parâmetro do evento. |
event_dim.params.value | RECORD | Um registo do valor do parâmetro do evento. |
event_dim.params.value.string_value | STRING | O valor da string do parâmetro do evento. |
event_dim.params.value.int_value | INTEGER | O valor inteiro do parâmetro do evento. |
event_dim.params.value.double_value | FLOAT | O valor duplo do parâmetro do evento. |
event_dim.timestamp_micros | INTEGER | A hora (em microssegundos, UTC) a que este evento foi registado no cliente. |
event_dim.previous_timestamp_micros | INTEGER | A hora (em microssegundos, UTC) a que este evento foi anteriormente registado no cliente. |