Registrar eventos personalizados
Aprenda como registrar eventos personalizados por meio do SDK da Braze.

Para wrapper SDKs não listados, use o método nativo relevante do Android ou Swift.
Para eventos recomendados de eCommerce, consulte Registrar eventos de eCommerce.
Registrando um evento personalizado
Para registrar um evento personalizado, use o seguinte método de registro de eventos.
Para uma implementação padrão do SDK para web, você pode usar o seguinte método:
1
braze.logCustomEvent("YOUR_EVENT_NAME");
Se preferir usar o Google Tag Manager, você pode usar o tipo de tag Custom Event para chamar o método logCustomEvent e enviar eventos personalizados para a Braze, incluindo opcionalmente propriedades de evento personalizado. Para fazer isso:
- Insira o Event Name usando uma variável ou digitando o nome de um evento.
- Use o botão Add Row para adicionar propriedades de evento.

Para Android nativo, você pode usar o seguinte método:
1
Braze.getInstance(context).logCustomEvent(YOUR_EVENT_NAME);
1
Braze.getInstance(context).logCustomEvent(YOUR_EVENT_NAME)
1
AppDelegate.braze?.logCustomEvent(name: "YOUR_EVENT_NAME")
1
[AppDelegate.braze logCustomEvent:@"YOUR_EVENT_NAME"];
1
braze.logCustomEvent('YOUR_EVENT_NAME');
Use o método do plugin Cordova da Braze:
1
BrazePlugin.logCustomEvent("YOUR_EVENT_NAME");
A API logCustomEvent aceita:
eventName(string obrigatória): Use até 255 caracteres. Não inicie o nome com$. Use caracteres alfanuméricos e pontuação.eventProperties(objeto opcional): Adicione pares chave-valor para metadados do evento. Use chaves de até 255 caracteres e não inicie as chaves com$.
Para valores de propriedade, use string (até 255 caracteres), numeric, boolean, arrays ou objetos JSON aninhados.
Para detalhes de implementação, consulte o código-fonte do SDK Cordova da Braze:
Se você integrou os Infillion Beacons ao seu app Android, pode opcionalmente usar visit.getPlace() para registrar eventos específicos de localização. requestImmediateDataFlush garante que seu evento será registrado mesmo se o app estiver em segundo plano.
1
2
Braze.getInstance(context).logCustomEvent("Entered " + visit.getPlace());
Braze.getInstance(context).requestImmediateDataFlush();
1
2
Braze.getInstance(context).logCustomEvent("Entered " + visit.getPlace())
Braze.getInstance(context).requestImmediateDataFlush()
1
Braze.logCustomEvent("YOUR_EVENT_NAME");
1
m.Braze.logEvent("YOUR_EVENT_NAME")
1
AppboyBinding.LogCustomEvent("YOUR_EVENT_NAME");
Adicionando propriedades de metadados
Ao registrar um evento personalizado, você tem a opção de adicionar metadados sobre esse evento personalizado passando um objeto de propriedades junto com o evento. As propriedades são definidas como pares de chave-valor. As chaves são strings e os valores podem ser string, numeric, boolean, objetos Date, arrays ou objetos JSON aninhados.
Para adicionar propriedades de metadados, use o seguinte método de registro de eventos.
1
2
3
4
5
6
7
8
9
10
braze.logCustomEvent("YOUR-EVENT-NAME", {
you: "can",
pass: false,
orNumbers: 42,
orDates: new Date(),
or: ["any", "array", "here"],
andEven: {
deeply: ["nested", "json"]
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Braze.logCustomEvent("YOUR-EVENT-NAME",
new BrazeProperties(new JSONObject()
.put("you", "can")
.put("pass", false)
.put("orNumbers", 42)
.put("orDates", new Date())
.put("or", new JSONArray()
.put("any")
.put("array")
.put("here"))
.put("andEven", new JSONObject()
.put("deeply", new JSONArray()
.put("nested")
.put("json"))
)
));
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Braze.logCustomEvent("YOUR-EVENT-NAME",
BrazeProperties(JSONObject()
.put("you", "can")
.put("pass", false)
.put("orNumbers", 42)
.put("orDates", Date())
.put("or", JSONArray()
.put("any")
.put("array")
.put("here"))
.put("andEven", JSONObject()
.put("deeply", JSONArray()
.put("nested")
.put("json"))
)
))
1
2
3
4
5
6
7
8
9
10
11
12
13
AppDelegate.braze?.logCustomEvent(
name: "YOUR-EVENT-NAME",
properties: [
"you": "can",
"pass": false,
"orNumbers": 42,
"orDates": Date(),
"or": ["any", "array", "here"],
"andEven": [
"deeply": ["nested", "json"]
]
]
)
1
2
3
4
5
6
7
8
9
10
11
[AppDelegate.braze logCustomEvent:@"YOUR-EVENT-NAME"
properties:@{
@"you": @"can",
@"pass": @(NO),
@"orNumbers": @42,
@"orDates": [NSDate date],
@"or": @[@"any", @"array", @"here"],
@"andEven": @{
@"deeply": @[@"nested", @"json"]
}
}];
1
2
3
4
5
braze.logCustomEvent('custom_event_with_properties', properties: {
'key1': 'value1',
'key2': ['value2', 'value3'],
'key3': false,
});
Registre eventos personalizados com um objeto de propriedades:
1
2
3
4
5
var properties = {};
properties["key1"] = "value1";
properties["key2"] = ["value2", "value3"];
properties["key3"] = false;
BrazePlugin.logCustomEvent("YOUR-EVENT-NAME", properties);
Você também pode passar propriedades inline:
1
2
3
4
BrazePlugin.logCustomEvent("YOUR-EVENT-NAME", {
"key": "value",
"amount": 42,
});
O app de exemplo oficial do Cordova inclui propriedades de string, numéricas, booleanas, arrays e objetos aninhados:
Trecho do projeto de exemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var properties = {};
properties["One"] = "That's the Way of the World";
properties["Two"] = "After the Love Has Gone";
properties["Three"] = "Can't Hide Love";
BrazePlugin.logCustomEvent("cordovaCustomEventWithProperties", properties);
BrazePlugin.logCustomEvent("cordovaCustomEventWithoutProperties");
BrazePlugin.logCustomEvent("cordovaCustomEventWithFloatProperties", {
"Cart Value": 4.95,
"Cart Item Name": "Spicy Chicken Bites 5 pack"
});
BrazePlugin.logCustomEvent("cordovaCustomEventWithNestedProperties", {
"array key": [1, "2", false],
"object key": {
"k1": "1",
"k2": 2,
"k3": false,
},
"deep key": {
"key": [1, "2", true]
}
});
Para detalhes sobre a API e a ponte nativa, consulte:
1
2
3
4
5
Braze.logCustomEvent("custom_event_with_properties", {
key1: "value1",
key2: ["value2", "value3"],
key3: false,
});
1
m.Braze.logEvent("YOUR_EVENT_NAME", {"stringPropKey" : "stringPropValue", "intPropKey" : Integer intPropValue})
1
AppboyBinding.LogCustomEvent("event name", properties(Dictionary<string, object>));

As chaves time e event_name são reservadas e não podem ser usadas como propriedades de eventos personalizados.
Práticas recomendadas
Existem três verificações importantes a realizar para que as propriedades de eventos personalizados sejam registradas conforme esperado:
Várias propriedades podem ser registradas cada vez que um evento personalizado é registrado.
Verificar eventos
Confirme com seus desenvolvedores quais propriedades de eventos estão sendo rastreadas. Lembre-se de que todas as propriedades de eventos diferenciam maiúsculas de minúsculas. Para mais informações sobre o rastreamento de eventos personalizados, confira estes artigos de acordo com a sua plataforma:
Verificar o registro
Para confirmar que as propriedades de eventos estão sendo rastreadas com sucesso, você pode visualizar todas as propriedades de eventos na página Custom Events.
- Acesse Data Settings > Custom Events.
- Localize seu evento personalizado na lista.
- Para o seu evento, selecione Manage Properties para visualizar os nomes das propriedades associadas ao evento.
Verificar os valores
Depois de adicionar seu usuário como usuário teste, siga estas etapas para verificar seus valores:
- Execute o evento personalizado no app.
- Aguarde aproximadamente 10 segundos para que os dados sejam enviados.
- Atualize o registro de usuários de eventos para visualizar o evento personalizado e o valor da propriedade de evento que foi transmitido com ele.
Solução de problemas para eventos personalizados
Use estes cenários para solucionar problemas de registro de eventos personalizados em diferentes SDKs.
Verificando o disparo do evento personalizado
Se um evento personalizado não aparece, a ação rastreada no seu app pode não corresponder à ação que você está testando.
- Confirme com sua equipe de desenvolvimento qual ação do app dispara o evento personalizado.
- Verifique se há caminhos de código descontinuados após atualizações do SDK, como referências a
appboyem vez debraze.
Eventos personalizados registrados em um perfil anônimo
Se você não identificar um usuário antes de registrar um evento personalizado, a Braze pode associar esse evento a um perfil anônimo.
- Chame
changeUser()antes de executar o evento personalizado para que a Braze registre o evento em um perfil de usuário identificado. - Teste com um usuário teste identificado e depois consulte o registro de usuários de eventos.
Verificando a configuração de registro de eventos personalizados
Se os eventos personalizados não estão aparecendo como esperado, confirme que sua equipe de desenvolvimento implementou o registro de eventos personalizados para a ação correta do app.
- Peça à sua equipe de desenvolvimento que verifique se o evento está sendo registrado corretamente e disparado a partir da ação de usuário esperada.
- Quando sua equipe abrir um ticket de suporte com o suporte da Braze, inclua logs detalhados e snippets de código relevantes.
- Se o seu app usa SWIFT ou Android, sua equipe de desenvolvimento pode usar os pré-requisitos do debugger do SDK para ajudar a gerar logs detalhados.
- Se sua equipe de desenvolvimento não conseguir identificar o problema, abra um ticket de suporte da Braze.