As propriedades do usuário descrevem segmentos da sua base de usuários, como preferência de idioma ou localização geográfica. O Google Analytics registra algumas propriedades automaticamente. Se você quiser coletar mais propriedades, pode configurar até 25 adicionais por projeto. Consulte Propriedades do usuário personalizadas para saber como definir e registrar propriedades do usuário.
As propriedades do usuário melhoram a segmentação, mas os dados referentes a essas propriedades costumam ficar somente no servidor. O Measurement Protocol permite fazer mais medições no lado do cliente com dados do lado do servidor, o que normalmente é inviável usando apenas soluções do cliente.
Nomes reservados
Alguns nomes de propriedade do usuário são reservados e não podem ser utilizados em medições:
first_open_timefirst_visit_timelast_deep_link_referreruser_idfirst_open_after_install
Além disso, eles não podem começar com:
google_ga_firebase_
Exemplo de uso
No exemplo a seguir, o CRM tem uma propriedade do usuário (customer_tier) que você quer adicionar às medições. customer_tier pode ser definido como premium ou standard. Para receber essa propriedade do usuário nos seus relatórios, faça o seguinte:
Primeiro, peça para o cliente enviar um evento add_payment_info com uma chamada para uma API do servidor que tenha acesso ao seu sistema de CRM:
Código do cliente
FirebaseAnalytics.logEvent("add_payment_info")
ServerAPI.addCustomerTier(
FirebaseAnalytics.getAppInstanceId(),
"[{name: \"add_payment_info\"}"]
);
Seu servidor aumenta a medição com a propriedade do usuário customer_tier usando o Measurement Protocol:
Código do servidor
const firebaseAppId = "FIREBASE_APP_ID";
const apiSecret = "API_SECRET";
function addCustomerTier(appInstanceId, events) {
// Request the customer tier from the CRM.
const customerTier = getCustomerTier(appInstanceId);
const queryParams = `?firebase_app_id=${firebaseAppId}&api_secret=${apiSecret}`;
fetch(`https://www.google-analytics.com/mp/collect${queryParams}`, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
"app_instance_id": "APP_INSTANCE_ID",
"user_properties": {
"customer_tier": {
"value": "CUSTOMER_TIER"
}
},
"events": JSON.parse(events)
})
});
}
Essa propriedade do usuário informa os dois segmentos premium e standard.
Consulte Como enviar eventos para ver detalhes completos sobre como fazer isso usando o Measurement Protocol.
Substituir carimbo de data/hora
O Measurement Protocol usa o carimbo de data/hora primeiro que encontra na seguinte lista para cada propriedade do usuário na solicitação:
- O
timestamp_microsda entrada emuser_properties. - O
timestamp_microsda solicitação. - O horário em que o Measurement Protocol recebe a solicitação.
O exemplo a seguir envia uma marca de tempo no nível da solicitação que se aplica a todas as propriedades do usuário na solicitação. Como resultado, o Measurement Protocol atribui às propriedades do usuário customer_tier e customer_group um carimbo de data/hora de requestUnixEpochTimeInMicros.
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue
},
"customer_group": {
"value": customerGroupValue
}
}
}
O exemplo a seguir envia um carimbo de data/hora no nível da solicitação e um carimbo de data/hora para a propriedade do usuário customer_tier. Como resultado, o Measurement Protocol atribui ao
customer_tier um carimbo de data/hora de customerTierUnixEpochTimeInMicros e ao
customer_group um carimbo de data/hora de requestUnixEpochTimeInMicros.
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue,
"timestamp_micros": customerTierUnixEpochTimeInMicros
},
"customer_group": {
"value": customerGroupValue
}
}