Datenkomponente

Mit der Datenkomponente können Sie Daten validieren (normalerweise abgesendete Formulardaten), aber auch Werte der Zielgruppentabelle bzw. Werte von den Profilerweiterungen prüfen.

Beispiel: Wenn der Kontakt ein Formular sendet, können Sie prüfen, ob der Vorname eingetragen ist: @FIRSTNAME<>''.  
Der gepostete Wert (@) aus dem Eingabefeld mit dem Attribut FIRSTNAME (Vorname) ist ungleich (<>) leer (repräsentiert durch eine leere Zeichenfolge: '').

Selligent-Funktionen können auch zur Datenvalidierung verwendet werden.

So prüft beispielsweise CHKMAIL(@MAIL), ob @MAIL (der gepostete Wert (@) aus dem Eingabefeld mit dem Namenattribut MAIL) eine richtige Syntax für eine Mail-Adresse hat.


Wenn die Validierung fehlschlägt (Eingabefeld FIRSTNAME (Vorname) wurde im Formular nicht ausgefüllt), lässt sich eine Fehlermeldung anzeigen ("Bitte geben Sie Ihren Vornamen ein."). Bei einer fehlgeschlagenen Validierung wird das Ereignis 'Fehlgeschlagen' ausgelöst. Normalerweise wird man zum Formular zurückgeleitet. Auf der Formularseite können Sie die Systemvariable ~DATA_ERROR~ zur Anzeige der Fehlermeldungen verwenden. Für weitere Informationen zur Erstellung eines Formulars im Editor siehe 'Formulare gestalten'.

Die Datenkomponente dient außerdem zum Speichern von Daten in der Zielgruppentabelle. In der Zielgruppentabelle und den zugehörigen Profilerweiterungen können Sie den Datensatz eines Kontakts aktualisieren, überschreiben und einfügen. In einer verknüpften Tabelle des Typs "one-to-many" fügen Sie normalerweise nur einen neuen Datensatz für den Kontakt ein.

Sie können Daten in derselben Datenkomponente validieren und speichern, sie jedoch auch in verschiedene Komponenten aufteilen. Um der Datenspeicherung eine Reihenfolge zu geben, können Sie mehrere Datenkomponenten hintereinander anordnen. Die Anzahl an Datenkomponenten, die in einer Journey verwendet werden können, ist nicht begrenzt.

Beispiel eines Newsletter-Abonnements. Die erste Datenkomponente validiert die Formulardaten nach dem Absenden. Wenn die Validierung fehlschlägt, prüft eine Lookup-Komponente, ob der Kontakt bereits ein Abonnement besitzt. Ist dies nicht der Fall, werden die Formulardaten gespeichert und es wird eine Aktivierungsmail versendet. Wenn der Kontakt auf den Sensor "Aktivierung" in der Mail klickt, aktualisiert die letzte Datenkomponente den Wert OPTIN_NEWSLETTER des Kontakts mit 1.

 

 

Ereignisse

Die Datenkomponente erzeugt zwei Ereignistypen:

  • Erfolg: Bei der Validierung der Daten wurden keine Fehler gefunden und die Änderungen wurden erfolgreich in der Tabelle gespeichert.
  • Fehlgeschlagen: Bei der Validierung der Daten wurden Fehler gefunden und daher wurden die Änderungen nicht in die Tabelle übernommen. Wenn in der Registerkarte Validierung Fehlernachrichten definiert wurden, werden diese mithilfe der Systemvariablen DATA_ERROR dargestellt. Diese Variable kann auf der Seite nach dem Ereignis 'Fehlgeschlagen' verwendet werden (normalerweise der Seite, welche die Validierung angestoßen hat). Die Systemvariable wird in den Editor als ~DATA_ERROR~ eingefügt.

 

 

Eigenschaften

 

Tabellenauswahl

Geben Sie der Datenkomponente in der Registerkarte 'Tabellenauswahl' einen beschreibenden Namen (welcher auf der Arbeitsoberfläche der Journey angezeigt wird) und wählen Sie eine Tabelle aus, die zur Datenspeicherung verwendet werden wird.

  • Standardmäßig wird 'Profildatensatz aktualisieren' ausgewählt: Die Felder der Zielgruppentabelle werden in der Registerkarte 'Daten aktualisieren' angezeigt. Wenn sich eine Zielgruppen-Komponente in der Journey befindet und die Datenkomponente sich im Link (Reihe an Pfeilen) mit der Zielgruppen-Komponente befindet, wird dieses Feld mit dieser Zielgruppentabelle vorausgefüllt.

    Wählen Sie zum Aktualisieren oder Einfügen von Datensätzen in eine(r) Profilerweiterung (verknüpfte Datentabelle vom Typ "1-to-1") der Zielgruppentabelle zunächst die Profilerweiterung unter Zielgruppen-Komponente in der Registerkarte 'Daten' aus.



    Die erweiterten Profilfelder werden nun in der Registerkarte 'Daten aktualisieren' der Datenkomponente (zusammen mit den Feldern der Zielgruppentabelle) angezeigt, um die Daten zu aktualisieren bzw. einzufügen. Sie müssen für das Feld, in dem die Tabellen-Relation definiert ist, keinen Wert eingeben. Zum Beispiel zwischen der ID der Zielgruppentabelle und der USERID der Datentabelle der Kundenkarte: Das Feld LOYALTYCARD.USERID muss nicht ausgefüllt werden. Tabellen-Relationen werden unter 'Tabellen' definiert.

Selligent erstellt neue Profildatensätze für anonyme Kontakte und fügt sie zur Ziel-Tabelle hinzu. Die Datensätze von bekannten Kontakten werden aktualisiert.

  • Markieren Sie 'Verknüpften Datensatz aktualisieren', wenn die Daten in einer Datentabelle vom Typ "one-to-many" gespeichert werden sollen. Die Felder der Datentabelle werden in der Registerkarte 'Daten aktualisieren' angezeigt.

    Markieren Sie 'Erzwingen dieser Beziehung durch Wiederverwendung vorhandener Einträge', falls jeder Kontakt nur einen Datensatz in der verknüpften Datentabelle vom Typ "one-to-many" hat. Wenn es den Datensatz gibt, wird er aktualisiert bzw. überschrieben. Wenn es ihn nicht gibt, wird er eingefügt.


Wenn eine Aktionsliste als Datenliste zur Aktualisierung ausgewählt wurde, ist eine Option zum Speichern des Datensatzes als Aktionselement verfügbar. Es wird ein Aktionscode ausgewählt und diesen Datensätzen zugewiesen. Auf der Registerkarte „Daten“ sind Felder in dieser Aktion aufgeführt und können aktualisiert werden. Dies beinhaltet, dass die Daten in der Aktionsliste nach der Datenkomponente direkt in Sofort-E-Mails verwendet werden können.

Wenn 'Erzwingen dieser Beziehung durch Wiederverwendung vorhandener Einträge' nicht markiert ist, wird bei jedem Speichern der Daten ein neuer Datensatz für den Kontakt eingefügt. Darauf wird bei verknüpften Tabellen vom Typ "one-to-many" normalerweise abgezielt. Wenn der Kontakt nur 1 Datensatz in der verknüpften Tabelle haben kann, handelt es sich im Normalfall um eine Profilerweiterung und es erfolgt eine Aktualisierung mittels 'Profildatensatz aktualisieren' (siehe oben).

 

1.     

 

Validierung

Legen Sie in der Registerkarte 'Validierung' Constraints fest, die vor dem Speichern der Daten validiert werden. Wenn ein oder mehrere Constraints nicht erfüllt werden, erfolgt keine Datenspeicherung. Beispiel:

  • @NAME<>'' : Das Eingabefeld mit dem Namenattribut NAME ist nicht ausgefüllt (es wird beim Absenden des Formulars kein geposteter Wert @NAME weitergegeben).
  • CHKMAIL(@MAIL) : Prüft, ob @MAIL (der gepostete Wert (@) aus dem Eingabefeld mit dem Namenattribut MAIL) eine richtige Syntax für eine Mail-Adresse hat.
  • @OPTIN1<>'' OR @OPTIN2<>'' : Der Kontakt muss aus 2 optin-Eingabefeldern (Kontrollkästchen) mit den Namenattributen OPTIN1 und OPTIN2 mindestens einen optin-Wert auswählen. Mithilfe der Operatoren AND bzw. OR können Sie Constraints kombinieren.
  • DATEDIFF('dd',LASTPARTICIPATION_DT,GETDATE())>=1 : Der Kontakt muss vor mindestens 1 Tag teilgenommen haben. Der Unterschied zwischen dem für ihn im Feld LASTPARTICIPATION_DT gespeicherten Wert und dem aktuellen Stand (Funktion "getdate") muss mindestens 1 Tag betragen.
  • CONTEST1.ANSWER='' : Die Antwort für Gewinnspiel 1 muss leer sein. Das Feld ANSWER befindet sich in einer Profilerweiterung mit dem Bereich "CONTEST1". Siehe Tabellen-Relationen für weitere Informationen bezüglich dem Verknüpfen von Tabellen.

Definition eines Constraints:

1. Geben Sie optional einen Namen für den anzuwendenden Constraint ein. Dies hat keinen Einfluss auf die Journey bzw. den Constraint. Normalerweise werden die Constraints durchnummeriert.

2. Geben Sie einen Constraint auf Basis der geposteten Werte (@OPTIN_NEWSLETTER), der Werte der Zielgruppentabelle (OPTIN_NEWSLETTER) oder der Werte der Profilerweiterungen (OPTINS.OPTIN_NEWSLETTER) ein.
- Jeder Constraint sollte true oder false zum Ergebnis haben. @OPTIN_NEWSLETTER ist kein Constraint. @OPTIN_NEWSLETTER<>'' ist ein Constraint mit dem Ergebnis true oder false (Ist das Kontrollkästchen "optin" im Formular markiert? Ja oder nein?). Verwenden Sie zum Definieren eines gültigen Constraints die folgenden Operatoren: = (gleich), <> (ungleich), < (kleiner als), > (größer als), <= (kleiner oder gleich), >= (größer oder gleich). Verwenden Sie '' (zwei einfache Anführungszeichen, leerer String), um auf leere Werte zu prüfen.

Die einzige Ausnahme ist CHKMAIL(@MAIL). Diese Funktion liefert true (1) bzw. false (0), weshalb der richtige Constraint CHKMAIL(@MAIL)=1 lautet. Da dies aber ein sehr häufig verwendeter Constraint ist, ist CHKMAIL(@MAIL) ebenfalls erlaubt. Beispiel: CHKPROP(FIELDNAME,@VALUE)=1 ist der richtige Constraint, um zu prüfen, ob @VALUE Teil des mehrwertigen Feldes (1,2,3) FIELDNAME ist. Einschließlich "=1". CHKPROP(FIELDNAME,@VALUE) ohne "=1" ist kein gültiger Constraint.

- Kombinieren Sie Constraints, die als 1 Constraint validiert werden sollen, mit den Operatoren AND bzw. OR.
- Verwenden Sie wahlweise die Schaltfläche “…” auf der rechten Seite, um das Pop-Up des Constraint-Editors zu öffnen. Dieses Pop-Up unterstützt Sie beim Aufbau des Constraints.

1.     

Technischer Hinweis:
Die Registerkarte 'Funktion' im Constraint-Editor-Dialog zeigt verschiedene Funktionen an, die im Validierungsprozess verwendet werden können. Diese Funktionen ermöglichen die Überprüfung von z. B. Textwerten (LEN(@PASSWORD)>4), Zahlenwerten (FADD(@NUMBER1,@NUMBER2)=5, Mail-Adressen (CHKMAIL(@MAIL), …
Alle verfügbaren Funktionen finden Sie in der PDF "Funktionen" im Support-Portal.

3. Geben Sie die Fehlermeldung ein, die in der Variablen DATA_ERROR auf der Seite, die auf den Trigger 'Fehlgeschlagen' folgt, angezeigt werden muss.

 

Daten aktualisieren

Sie können in der Zielgruppentabelle, den zugehörigen Profilerweiterungen oder den verknüpften Tabellen vom Typ "one-to-many" einen beliebigen Wert speichern:

  • Gepostete Werte aus einem Formular. Speichern Sie z. B. @FIRSTNAME im Feld FIRSTNAME (Vorname) der Zielgruppentabelle.
  • Tabellenwerte
  • Konstanten. Speichern Sie z. B. '1' in einem OPTIN-Feld.
  • Systemvariablen. Speichern Sie z. B. SYSTEM.CAMPAIGNID in OPTOUT_SOURCE, um zu wissen, von welcher Journey sich der Kontakt abgemeldet hat.
  • Funktionen. Speichern Sie z. B. mit GETDATE() das aktuelle Datum in einem Datetime-Feld OPTIN_DT.
  • Kombinationen. Beispielsweise IF(@VALUE=1,1,OPTIN) in einem OPTIN-Feld. Wenn ein geposteter Wert gleich 1 ist, speichern Sie 1 im Feld OPTIN. Speichern Sie andernfalls den Wert des Feldes OPTIN (belassen Sie ihn so, wie er ist).
    Oder fügen Sie mittels EVENTIDS&','&@EVENTID einen geposteten Wert @EVENTID zu einem mehrwertigen Feld EVENTIDS hinzu (durch Kommata getrennt).

Vergewissern Sie sich, dass Sie den richtigen Datentyp (String, Nummer, Datum) in einem entsprechenden Feldtyp eingeben. Speichern Sie Daten in Datetime-Feldern, Strings in Textfeldern und Nummern in numerischen Feldern.

Die Tabelle von Feldern, die in dieser Registerkarte angezeigt werden, hängt von der in der Registerkarte'Tabellenauswahl'ausgewählten Tabelle ab. Felder von Zielgruppentabellen, Felder von Profilerweiterungen bzw. Felder von Datentabellen vom Typ "one-to-many". Siehe "Tabellenauswahl" oben.

Technischer Hinweis:
Informieren Sie sich vor dem Speichern von Daten darüber, wie Selligent Daten verwaltet. Kontaktbezogene Daten können auf verschiedene Arten angezeigt werden:
FIELDNAME (Feldname): Der Wert in der Tabelle des Feldes FIELDNAME
@FIELDNAME: Der gepostete Wert in einem Formular. Wenn es keinen geposteten Wert gibt, wird der Wert aus der Tabelle verwendet (Feld FIELDNAME). Bei einem bekannten Kontakt, nicht bei einem anonymen (hat keinen Wert).
$FIELDNAME: Übersetzung des Wertes in der Tabelle des Feldes FIELDNAME (Übersetzungen werden in Optionstabellen im Bereich Konfiguration festgelegt)      

Wenn der Wert aus einer Profilerweiterung stammt, verwenden Sie die Bereichsbezeichnung der Profilerweiterung: SCOPE.FIELDNAME.Zum Beispiel CONTEST1.ANSWER

Nicht alle Informationen sind bzw. müssen dynamisch sein. Sie können auch statische Werte speichern:
Geben Sie zum Speichern von Zahlenwerten einfach den Zahlenwert ein (z. B. 1).
Zum Speichern von Textwerten, geben Sie den Textwert zwischen einfachen Anführungszeichen ein ('a').

1. Geben Sie einen Wert ein, der in dem bestimmten Feld gespeichert werden soll. Wenn für den bekannten Kontakt bereits ein Datensatz existiert, werden die Werte überschrieben. Wenn der Datensatz noch nicht existiert, wird ein Datensatz mit den Werten eingefügt.

2. Klicken Sie auf die Schaltfläche "-" oben rechts, um alle eingegebenen Werte zu löschen.

3. Klicken Sie auf die Schaltfläche "@" oben rechts, um gepostete Werte in alle Felder einzugeben (unter Berücksichtigung der richtigen Feldnamen).

4. Klicken Sie auf die Schaltfläche "@" hinter dem Feld, um einen geposteten Wert in dieses bestimmte Feld einzugeben (unter Berücksichtigung des richtigen Feldnamens).

In vielen Fällen entspricht der Name des Eingabefeldes im Formular dem Feldnamen in der Tabelle. Ein Eingabefeld für den 'Vornamen' hat zum Beispiel ein Namenattribut FIRSTNAME (Vorname), weil das Eingabefeld von der Zielgruppentabelle im Editor hinzugefügt wird:

Der Quellcode für dieses Formularfeld ist <input id="FIRSTNAME" name="FIRSTNAME" type="text" value="~@FIRSTNAME~" />. Deshalb ist @FIRSTNAME der gepostete Wert, der in der Datenkomponente verwendet werden soll, basierend auf dem Namenattribut des Eingabefeldes (fett markiert), und nicht der Wert des Eingabefeldes.
Der Wert ~@FIRSTNAME~ stößt Selligent Campaign dazu an, den geposteten Wert des Eingabefeldes mit dem Namen FIRSTNAME (Vorname) anzuzeigen. Dies geschieht, wenn das Formular abgeschickt wird, die Validierung in der Datenkomponente fehlschlägt und der Trigger 'Fehlgeschlagen' zum Formular zurückleitet. Wenn es keinen geposteten Wert gibt, die Seite jedoch von einem bekannten Kontakt angesehen wird, zeigt ~@FIRSTNAME~ auch den Wert aus dem Feld FIRSTNAME (Vorname) der Zielgruppentabelle an. Dies ist sehr praktisch hinsichtlich der Formulare "Profil aktualisieren": Alles ist bereits mit den in der Zielgruppentabelle gespeicherten Daten des Kontakts vorausgefüllt. Nach dem Posten ist der Wert stets der gepostete Wert und nicht der Wert aus der Zielgruppentabelle. Bei anonymen Kontakten und falls das Formular noch nicht gepostet ist, ist der Wert des Eingabefeldes leer. Es existieren keine Daten in der Zielgruppentabelle (anonym) und noch keine geposteten Daten.

 

Zurück