ich habe einen html Code für eine Mail erstellt, mit welchem eine Eigenschaft beim Kontakt geprüft werden soll. Enthält der Kontakt einen der Werte der Eigenschaft, soll hierfür ein verlinkter Text eingeblendet werden. Enthält er keinen Wert, bzw. einer der Werte ist nicht erfüllt, soll nichts angezeigt werden. Leider wird bei der Vorschau eines Testkontaktes, der die Eigenschaften definitv enthält, nichts in der Mail ausgegeben. Fehler wie die korrekte Schreibweise der Eigenschaften etc. habe ich bereits mehrfach geprüft.
Hat jemand eine Idee, wie ich mein Problem lösen kann? Hier ist der Code:
<h2>2. Informationen zu deinen angeforderten Materialien</h2> <p> {% if contact.Eigenschaftsbeispiel %} {% if "Wert1" in contact.Eigenschaftsbeispiel %} <a href="https://www.platzhalterlink1.de">Broschüre1</a><br> {% endif %} {% if "Wert2" in contact.Eigenschaftsbeispiel %} <a href="https://www.platzhalterlink2.de">Broschüre2</a><br> {% endif %} {% if "Wert3" in contact.Eigenschaftsbeispiel %} <a href="https://www.platzhalterlink3.de">Broschüre3</a><br> {% endif %} {% else %} Keine Materialien angefordert. {% endif %} </p>
schreibt, dann gibt die Abfrage meinst nur einen Boolean, also true/false zurück. Kann in manchen Fällen hilfreich sein, kann aber bei auch zu Fehlern führen.
{% if "Wert1" in contact.Eigenschaftsbeispiel %}
diese Schreibweise entspricht nicht der HubL Schreibweise, wenn du abfragen "Wenn Eigenschaftbeispiel gleich Wert1 entspricht" willst.
Die korrekte Schreibweise wäre
{% if contact.Eigenschaftsbeispiel == "Wert1" %}
Da du den Code in emails verwenden möchtest, rate ich dazu ein Custom Modul zu erstellen (falls du dies noch nicht gemacht hast) und dann die "Use module for programmable email" Option zu aktivieren. Wenn diese Option deaktiviert bleibt, wird HubSpot die if-statements nicht akzeptieren.
In E-Mails hatte ich bei der Boolean Prüfung, wie von Anton beschrieben, im Rückgabewert machmal ein String, wenn die Kontakt-Eigenschaft leer war. Prüfung wie folgend:
{%- set is_lastname = (contact.lastname and contact.lastname != "CONTACT.LASTNAME") -%}
Zusatzinfo: Vermutung, es liegt an der CRM-Eigenschaft, eine Objektprüfung wird nicht gelingen, wenn es sich um ein Mehrfachauswahlfeld handelt. Da in E-Mails nur limitiert mit HubL gearbeitet werden kann. HubL-Filter funktionieren weitesgehend auch nicht in E-Mails. Also mal eben mit dem Filter "|string" aus einem Array ein String machen und über "is string_containing" den Wert prüfen, wird ebenfalls fehlschlagen.
Kannst du bei der CRM-Eigenschaft ansetzen? Diese zu einem Textfeld (String) oder einfache Checkbox (Boolean) ändern?
schreibt, dann gibt die Abfrage meinst nur einen Boolean, also true/false zurück. Kann in manchen Fällen hilfreich sein, kann aber bei auch zu Fehlern führen.
{% if "Wert1" in contact.Eigenschaftsbeispiel %}
diese Schreibweise entspricht nicht der HubL Schreibweise, wenn du abfragen "Wenn Eigenschaftbeispiel gleich Wert1 entspricht" willst.
Die korrekte Schreibweise wäre
{% if contact.Eigenschaftsbeispiel == "Wert1" %}
Da du den Code in emails verwenden möchtest, rate ich dazu ein Custom Modul zu erstellen (falls du dies noch nicht gemacht hast) und dann die "Use module for programmable email" Option zu aktivieren. Wenn diese Option deaktiviert bleibt, wird HubSpot die if-statements nicht akzeptieren.
leider bekomme ich auch mit dem veränderten Code keine Lösung. Ein Modul habe ich auch angelegt, aber auch hier wird mir außer der Überschrift in der Kontaktvorschau oder Testmail nichts ausgespielt... Viele Grüße
Zusatzinfo: Vermutung, es liegt an der CRM-Eigenschaft, eine Objektprüfung wird nicht gelingen, wenn es sich um ein Mehrfachauswahlfeld handelt. Da in E-Mails nur limitiert mit HubL gearbeitet werden kann. HubL-Filter funktionieren weitesgehend auch nicht in E-Mails. Also mal eben mit dem Filter "|string" aus einem Array ein String machen und über "is string_containing" den Wert prüfen, wird ebenfalls fehlschlagen.
Kannst du bei der CRM-Eigenschaft ansetzen? Diese zu einem Textfeld (String) oder einfache Checkbox (Boolean) ändern?
Vielen Dank @mii , dein Tipp mit der falschen Eigenschaft Mehrfachauswahlfeld hat mich auf den richtigen Lösungsweg gebracht. Ich baue nun grundlegend die Eigenschaften anders auf und kann über die Eigenschaft "Einzeiliger Text" später die if Anfrage in der Mail als Modul laufen lassen. Danke auch an @Anton , mit dem überarbeiteten Code mit den Einzeiligen Textfeldern funktioniert nun die Abfrage! 😊
Vielen Dank für deine Rückmeldung! Das ist dann wohl der Kern des Problems. Wir hatten eine Agentur zur Einführung von Hubspot an unserer Seite, welche uns genau zum dem Einsatz von Mehreren Kontrollkästchen bei der Erstellung unserer Eigenschaften und Personalisierung der Mails geraten hat.
Die Idee der Agentur war, die angefragten Broschüren als Links in einer Eigenschaft von mehreren Kontrollkästchen zu hinterlegen und die Mail zu personalisieren. Das Endergebnis ist natürlich nicht gerade nutzerfreundlich, vor allem nicht, wenn mehrere Broschüren auf einmal angefragt werden.
Ich selber wollte also mit der if Bedingung die Nutzerfreundlichkeit herstellen.
Habt ihr eine Idee, wie ich alternativ personalisierte und anklickbare Links bei den mehreren Kontrollkästchen aufbauen kann?
Ein einfaches Textfeld oder eine einfache Textbox ist in unserem Fall kaum umsetzbar...
In E-Mails hatte ich bei der Boolean Prüfung, wie von Anton beschrieben, im Rückgabewert machmal ein String, wenn die Kontakt-Eigenschaft leer war. Prüfung wie folgend:
{%- set is_lastname = (contact.lastname and contact.lastname != "CONTACT.LASTNAME") -%}