Zum Inhalt springen

JavaScript-Bridge für Landing-Pages

Landing-Pages unterstützen eine JavaScript-„Bridge“ zur Verbindung Ihres angepassten Codes (HTML, CSS und JavaScript) mit dem Braze SDK.

Greifen Sie auf die Bridge zu, indem Sie brazeBridge in einem Custom-Code-Block verwenden, um Events zu protokollieren, angepasste Attribute zu setzen, Nutzer:innen zu identifizieren und mehr, wenn Besucher:innen mit Ihrer Landing-Page interagieren.

So funktioniert es

Landing-Pages ermöglichen es Ihnen, angepasstes HTML, CSS und JavaScript zu einem Custom Code-Block hinzuzufügen, um mehr Kontrolle über das Erscheinungsbild und das Verhalten Ihrer Seite zu erhalten. Custom-Code-Blöcke können die JavaScript-Bridge nutzen, um Events zu protokollieren, angepasste Attribute festzulegen, Nutzer:innen zu identifizieren und mehr:

  • Angepasste Events und Käufe protokollieren
  • Standard- und angepasste Nutzer:innen-Attribute festlegen
  • Klicks und Formularübermittlungen tracken
  • Nutzer:innen identifizieren

Wenn Sie brazeBridge-Code aus In-App-Nachrichten oder Bannern wiederverwenden, sollte dieser auch auf Landing-Pages funktionieren. Methoden, die nicht auf Landing-Pages anwendbar sind, werden ignoriert und protokollieren stattdessen eine Warnung in der Browser-Konsole, anstatt einen Fehler auszulösen. Weitere Informationen finden Sie unter Auf Landing-Pages nicht unterstützte Methoden.

Verfügbarkeit der Bridge

Wenn ein Besucher Ihre Landing-Page öffnet, ist brazeBridge in Ihrem Custom Code-JavaScript bereits verfügbar. Rufen Sie Bridge-Methoden direkt auf Landing-Pages auf – Sie müssen nicht auf ein separates Ready-Event warten, wie es In-App-Nachrichten mit ab.BridgeReady verwenden.

Dass das Bridge-Objekt verfügbar ist, bedeutet nicht, dass das Braze SDK für diesen Besucher initialisiert ist. Das SDK wird bei einem Landing-Page-Besuch in einem der folgenden Fälle initialisiert:

  • Der Besucher öffnet die Seite über ein Landing-Page-Liquid-Tag, das über einen Braze-Kanal (E-Mail, SMS, Push usw.) gesendet wurde. Das SDK wird automatisch beim Laden der Seite initialisiert.
  • Der Besucher sendet das Formular der Seite ab – zum Beispiel durch Klicken auf einen Absenden-Button, der Formulardaten übermittelt. Dies umfasst auch brazeBridge-Aufrufe innerhalb der registerFormInput-Callbacks eines angepassten Formularblocks, da diese als Teil der Formularübermittlung ausgeführt werden.

Wenn ein Besucher die Landing-Page direkt öffnet, ohne ein Landing-Page-Liquid-Tag, und das Formular nie absendet, ist die Seite für Braze anonym und Bridge-Methodenaufrufe haben keine Wirkung.

Beispiel

Da die Methoden asynchron sind, verwenden Sie einen async Handler und await für die Aufrufe, wenn die Reihenfolge oder der Abschluss wichtig ist:

<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>

Unterstützte Methoden

Die folgenden brazeBridge-Methoden geben ein Promise zurück und werden in Custom Code-Blöcken von Landing-Pages unterstützt. Verwenden Sie await oder .then(), wenn Sie Arbeitsschritte sequenzieren oder den Abschluss garantieren möchten.

Top-Level-Methoden

Methode Beschreibung
brazeBridge.changeUser(userId, signature?) Identifiziert die/den Nutzer:in mit einer eindeutigen ID.
brazeBridge.logCustomEvent(eventName, eventProperties?) Protokolliert ein angepasstes Event.
brazeBridge.logPurchase(productId, price, currencyCode?, quantity?, purchaseProperties?) Protokolliert einen Kauf.
brazeBridge.requestImmediateDataFlush(callback?) Sendet in der Warteschlange befindliche Daten an die Braze-Server.
brazeBridge.logClick(trackingId) Protokolliert einen Landing-Page-Klick (lp_c) für die angegebene Tracking-ID. Siehe Klick-Tracking.
brazeBridge.logSubmit() Protokolliert eine Landing-Page-Formularübermittlung (lp_fs). Spezifisch für Landing-Pages.

getUser()-Methoden

getUser() gibt ein Objekt zurück, das die folgenden Nutzer:innen-Methoden bereitstellt. Jede Methode gibt ein Promise zurück.

Methode Beschreibung
getUser().setFirstName(firstName) Legt den Vornamen der/des Nutzer:in fest.
getUser().setLastName(lastName) Legt den Nachnamen der/des Nutzer:in fest.
getUser().setEmail(email) Legt die E-Mail-Adresse der/des Nutzer:in fest.
getUser().setPhoneNumber(phoneNumber) Legt die Telefonnummer der/des Nutzer:in fest.
getUser().setGender(gender: "m" \| "f" \| "o" \| "u" \| "n" \| "p") Legt das Geschlecht der/des Nutzer:in fest: männlich, weiblich, divers, unbekannt, nicht zutreffend oder keine Angabe.
getUser().setDateOfBirth(year, month, day) Legt das Geburtsdatum der/des Nutzer:in fest.
getUser().setCountry(country) Legt das Land der/des Nutzer:in fest.
getUser().setHomeCity(city) Legt den Wohnort der/des Nutzer:in fest.
getUser().setLanguage(language) Legt die Sprache der/des Nutzer:in fest.
getUser().setCustomUserAttribute(key, value, merge?) Legt ein angepasstes Attribut fest.
getUser().addToCustomAttributeArray(key, value) Fügt einen Wert zu einem Array eines angepassten Attributs hinzu.
getUser().removeFromCustomAttributeArray(key, value) Entfernt einen Wert aus einem Array eines angepassten Attributs.
getUser().incrementCustomUserAttribute(key, incrementValue?) Erhöht ein numerisches angepasstes Attribut.
getUser().setCustomLocationAttribute(key, latitude, longitude) Legt ein angepasstes Standort-Attribut fest.
getUser().addToSubscriptionGroup(subscriptionGroupId) Fügt die/den Nutzer:in einer E-Mail- oder SMS-Abo-Gruppe hinzu.
getUser().removeFromSubscriptionGroup(subscriptionGroupId) Entfernt die/den Nutzer:in aus einer E-Mail- oder SMS-Abo-Gruppe.
getUser().setEmailNotificationSubscriptionType(type: "opted_in" \| "subscribed" \| "unsubscribed") Legt den Abo-Status für E-Mail-Benachrichtigungen fest.
getUser().setPushNotificationSubscriptionType(type: "opted_in" \| "subscribed" \| "unsubscribed") Legt den Abo-Status für Push-Benachrichtigungen fest.

Klick-Tracking

Verwenden Sie brazeBridge.logClick(trackingId), um Klicks auf Ihrer Landing-Page zu tracken. Jeder Aufruf protokolliert ein Landing-Page-Klick-Event (lp_c), das mit der von Ihnen übergebenen Tracking-ID getaggt wird:

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

Methoden, die auf Landing-Pages nicht unterstützt werden

Die folgenden Methoden funktionieren in In-App-Nachrichten und Bannern, werden aber auf Landing-Pages nicht unterstützt. Wenn Ihr Code eine dieser Methoden auf einer Landing-Page aufruft, ignoriert Braze den Aufruf. Ihre Seite funktioniert weiterhin, aber möglicherweise wird eine Warnung in der Entwicklungskonsole des Browsers angezeigt.

Methode Hinweise
brazeBridge.closeMessage() Auf einer Landing-Page gibt es keine Nachrichten-UI, die geschlossen werden kann.
brazeBridge.requestPushPermission(successCallback?, deniedCallback?) Push-Berechtigungen werden nicht von einer Landing-Page aus angefordert.
brazeBridge.web.registerAppboyPushMessages(successCallback?, deniedCallback?) Web-Push-Registrierung ist auf Landing-Pages nicht verfügbar.
New Stuff!