Ir para o conteúdo

Ponte JavaScript para landing pages

As landing pages suportam uma “ponte” JavaScript para conectar seu código personalizado (HTML, CSS e JavaScript) ao SDK da Braze.

Acesse a ponte usando brazeBridge em um bloco de código personalizado para registrar eventos, definir atributos personalizados, identificar usuários e muito mais quando um visitante interage com sua landing page.

Como funciona

As landing pages permitem que você adicione HTML, CSS e JavaScript personalizados a um bloco de Custom Code para ter maior controle sobre a aparência, o comportamento e a experiência da sua página. Os blocos de Custom Code podem usar a ponte JavaScript para registrar eventos, definir atributos personalizados, identificar usuários e muito mais:

  • Registrar eventos personalizados e compras
  • Definir atributos de usuário padrão e personalizados
  • Rastrear cliques e envios de formulário
  • Identificar usuários

Se você reutilizar código brazeBridge de mensagens no app ou Banners, ele ainda funcionará em landing pages. Métodos que não se aplicam a landing pages são ignorados e registram um aviso no console do navegador em vez de causar um erro. Para mais detalhes, consulte Métodos não suportados em landing pages.

Disponibilidade da ponte

Quando um visitante abre sua landing page, brazeBridge já está disponível no JavaScript do seu Código Personalizado. Chame os métodos da ponte diretamente nas landing pages — não é necessário aguardar um evento de prontidão separado, como as mensagens no app fazem com ab.BridgeReady.

Ter o objeto da ponte disponível não significa que o SDK da Braze está inicializado para aquele visitante. O SDK é inicializado para uma visita à landing page em qualquer um destes casos:

  • O visitante abre a página por meio de uma Liquid tag de landing page enviada por um canal da Braze (e-mail, SMS, push, entre outros). O SDK é inicializado automaticamente quando a página carrega.
  • O visitante envia o formulário da página — por exemplo, clicando em um botão Enviar que envia os dados do formulário. Isso inclui chamadas de brazeBridge feitas dentro dos retornos de chamada registerFormInput de um bloco de formulário personalizado, já que elas são executadas como parte do envio do formulário.

Se um visitante abre a landing page diretamente, sem uma Liquid tag de landing page, e nunca envia o formulário, a página é anônima para a Braze, e as chamadas de métodos da ponte não terão efeito.

Exemplo

Como os métodos são assíncronos, use um manipulador async e await nas chamadas quando a ordem ou a conclusão forem importantes:

<button id="button">Set Favorite Color</button>
<script>
  document.querySelector("#button").onclick = async function () {
    // Track a click for analytics
    await brazeBridge.logClick("set-favorite-color");
    // Set the user's custom attribute
    await brazeBridge.getUser().setCustomUserAttribute("favorite color", "blue");
    // Track a custom event
    await brazeBridge.logCustomEvent("completed survey");
    // Send the enqueued data to Braze
    await brazeBridge.requestImmediateDataFlush();
  };
</script>

Métodos suportados

Os seguintes métodos brazeBridge retornam uma promise e são suportados em blocos Custom Code de landing pages. Use await ou .then() quando precisar sequenciar tarefas ou garantir a conclusão.

Métodos de nível superior

Método Descrição
brazeBridge.changeUser(userId, signature?) Identifica o usuário com um ID exclusivo.
brazeBridge.logCustomEvent(eventName, eventProperties?) Registra um evento personalizado.
brazeBridge.logPurchase(productId, price, currencyCode?, quantity?, purchaseProperties?) Registra uma compra.
brazeBridge.requestImmediateDataFlush(callback?) Envia os dados na fila para os servidores da Braze.
brazeBridge.logClick(trackingId) Registra um clique na landing page (lp_c) para o ID de rastreamento fornecido. Consulte Rastreamento de cliques.
brazeBridge.logSubmit() Registra o envio de um formulário de landing page (lp_fs). Específico para landing pages.

Métodos de getUser()

getUser() retorna um objeto que expõe os seguintes métodos de usuário. Cada método retorna uma Promise.

Método Descrição
getUser().setFirstName(firstName) Define o nome do usuário.
getUser().setLastName(lastName) Define o sobrenome do usuário.
getUser().setEmail(email) Define o endereço de e-mail do usuário.
getUser().setPhoneNumber(phoneNumber) Define o número de telefone do usuário.
getUser().setGender(gender: "m" \| "f" \| "o" \| "u" \| "n" \| "p") Define o gênero do usuário: masculino, feminino, outro, desconhecido, não aplicável ou prefere não informar, respectivamente.
getUser().setDateOfBirth(year, month, day) Define a data de nascimento do usuário.
getUser().setCountry(country) Define o país do usuário.
getUser().setHomeCity(city) Define a cidade do usuário.
getUser().setLanguage(language) Define o idioma do usuário.
getUser().setCustomUserAttribute(key, value, merge?) Define um atributo personalizado do usuário.
getUser().addToCustomAttributeArray(key, value) Adiciona um valor a um array de atributos personalizados.
getUser().removeFromCustomAttributeArray(key, value) Remove um valor de um array de atributos personalizados.
getUser().incrementCustomUserAttribute(key, incrementValue?) Incrementa um atributo personalizado numérico.
getUser().setCustomLocationAttribute(key, latitude, longitude) Define um atributo personalizado de localização.
getUser().addToSubscriptionGroup(subscriptionGroupId) Adiciona o usuário a um grupo de inscrições de e-mail ou SMS.
getUser().removeFromSubscriptionGroup(subscriptionGroupId) Remove o usuário de um grupo de inscrições de e-mail ou SMS.
getUser().setEmailNotificationSubscriptionType(type: "opted_in" \| "subscribed" \| "unsubscribed") Define o status de inscrição para notificações por e-mail.
getUser().setPushNotificationSubscriptionType(type: "opted_in" \| "subscribed" \| "unsubscribed") Define o status de inscrição para notificações por push.

Rastreamento de cliques

Use brazeBridge.logClick(trackingId) para rastrear cliques na sua landing page. Cada chamada registra um evento de clique na landing page (lp_c) identificado pelo ID de rastreamento que você passar:

<a href="#" onclick="brazeBridge.logClick('cta-hero')">Get started</a>

Métodos não suportados em landing pages

Os métodos a seguir funcionam em mensagens no app e Banners, mas não são suportados em landing pages. Se o seu código chamar um deles em uma landing page, a Braze ignora a chamada. Sua página continua funcionando, mas você pode ver um alerta no console de desenvolvedor do navegador.

Método Notas
brazeBridge.closeMessage() Não há interface de mensagem para fechar em uma landing page.
brazeBridge.requestPushPermission(successCallback?, deniedCallback?) A permissão de push não é solicitada a partir de uma landing page.
brazeBridge.web.registerAppboyPushMessages(successCallback?, deniedCallback?) O registro de web push não está disponível em landing pages.
New Stuff!