Sobald Sie Ihre Datenbankverbindung eingerichtet haben, können Sie Segmente auf Basis von Relational Data erstellen.
Vorlagen für Relational Segments erstellen
Der Assistent für das Erstellen von Segmentvorlagen ist für Kunden mit Fully-managed Service nicht verfügbar.
Kunden, die das Self-Service und Hosted Self-Service nutzen, finden ihn unter Add-ons > Relational Data > Segment Templates.
Mit Segment Templates - Segmentvorlagen - können Sie komplexe Szenarien für die Segmentierung aus SQL Queries vordefinieren und diese dann in natürlicher Sprache beschreiben, damit Ihre weniger technikaffinen Kollegen sie für das Erstellen von Vorlagen verwenden können.
Im unten angeführten Beispiel haben wir eine einfache Segmentvorlage erstellt, die all jene adressieren kann, die:
- In x Tagen abreisen (das Datum kann in der Vergangenheit liegen, dann ist die Zahl negativ)
- In der Klasse x reisen (Premium, Economy etc.)
Um eine Segmentvorlage zu erstellen, überprüfen Sie Folgendes:
- Status der Segmentvorlage - Dieses Label informiert über den aktuellen Status: Neu, Entwurf oder Bereit.
- Richten Sie die Datenbank-Verbindung ein; dafür wählen Sie im Dropdownmenü die gewünschte Datenbank aus.
- Button Entwurf speichern - Sie können nicht fertiggestellte Vorlagen als Entwürfe speichern. Der Status Entwurf weist darauf hin, dass an diesen Vorlagen noch gearbeitet wird. Vorlagen mit dem Status "Entwurf" werden nicht validiert und können noch nicht für die Segmentierung verwendet werden.
- Definition der Segmentvorlage - Dieses Statement verwenden Sie für die Segmenterstellung. Es enthält die Parameter, die Sie für die Definition erstellt haben, und sollte in natürlicher Sprache geschrieben werden.
- Parameter erstellen - Erstellen Sie einen Parameter des passenden Typs für jedes der variablen Kriterien in Ihrem Segment. Vergeben Sie einen Namen, der für die Definition der Segmentvorlage Sinn macht. Folgende Typen sind verfügbar:
- Texteingabe - Erstellt ein freies Textfeld, das alphanumerische und Sonderzeichen akzeptiert.
- Numerische Eingabe - Erstellt ein numerisches Feld, das nur Zahlen und Dezimalstellen akzeptiert (einschließlich negativer Werte).
Bitte beachten Sie, dass Sie in Feldern für die numerische Eingabe keine Dezimalstellen verwenden können. Wenn Sie Dezimalstellen verwenden müssen, wählen Sie stattdessen den Parametertyp Texteingabe aus.
- Dateneingabe - Erstellt ein Datenfeld im Format tt-mmm-jjjj. Auch eine Kalenderfunktion ist vorhanden.
- Individuelles Dropdownmenü - Erstellt eine Liste, aus der nur ein Element ausgewählt werden darf. Der Name erscheint im Segment (das sieht also der Marketer); die Werte der Listenelemente verwenden Sie in der SQL-Abfrage. Sie können für das Dropdown verschiedene Optionstypen wählen; neben einer Text- und Zahleneingabe können Sie hier auch Filteroperatoren definieren.
Mit den Parametern können Sie aus derselben Vorlage mehrere Segmente mit verschiedenen Kriterienwerten erstellen. Auf der rechten Seite sehen Sie die erstellten Parameter (grüne Tags), die Sie mit der Maus in die SQL-Abfrage ziehen und dort ablegen können. Parameter sind wiederverwendbar. Sie brauchen also keinen zweiten Parameter zu erstellen, wenn Sie zum Beispiel zwei Zielparameter benötigen.
Benennung der Parameter:
- Das erste Zeichen muss ein Buchstabe sein.
- Alphanumerische Zeichen sind erlaubt.
- Leerzeichen sind nicht erlaubt; verwenden Sie stattdessen einen Unterstrich ( _ ).
- Zugrunde liegende SQL-Abfrage - Das ist wahrscheinlich das wichtigste Element, da es die eigentliche Abfrage enthält, mit der die Daten aus der Datenbank extrahiert werden. Diese wird immer dann im Hintergrund ausgeführt, wenn Sie die Segmentvorlage verwenden. Es ist möglich, Segmentvorlagen allein mit dieser SQL-Abfrage zu erstellen, ohne Parameter zu definieren - dann können Sie aber später keine unterschiedlichen Eingabetypen hinzufügen. Wir empfehlen, die Abfrage zunächst auf Ihrer Datenbank zu testen und sie dann zu kopieren und hier einzufügen.
- Test-Query - Mit diesem Funktionsbutton können Sie überprüfen, ob die SQL-Abfrage ausführbar und syntaktisch korrekt ist; dafür lassen Sie die Abfrage in einem
EXPLAIN
-Statement laufen. In diesem Statement werden die Variablen durch die entsprechenden Dummydaten ersetzt (z. B. string -> "" [leerer String]). Die Ergebnisse können sich je nach Typ der Datenbank-Engine unterscheiden. Bei einer MS SQL-Datenbank gibt die Query einen Durchführungsplan im XML-Format zurück, den Sie mit SQL Server Management Studio öffnen können. Wenn der konfigurierte Datenbanknutzer keine ausreichenden Berechtigungen hat, um Ihre Query in einemEXPLAIN
-Statement laufen zu lassen, wird die Abfrage mitLIMIT 1
ausgeführt. - Kontaktreferenzfeld und Referenzfeld - Hier legen Sie ein Paar aus zwei Feldern fest, die Ihre Kontakte in beiden Datenbanken identifizieren. In der Regel ist das die E-Mail-Adresse, aber Sie können beliebige Felder wählen, solange es sich um eindeutige Identifikatoren in allen Datenbanken handelt.
- Kontaktreferenzfeld - Der eindeutige Identifikator in Ihrer Emarsys Kontaktdatenbank (Sie können ihn aus dem Dropdownmenü auswählen).
- Referenzfeld - Derselbe eindeutige Identifikator in Ihrer eigenen Datenbank, den Sie verwenden, um Relational Segments und Segmentvorlagen zu erstellen. Sie können auch ein Alias verwenden (z.B.id
stattcustomer_id
), in diesem Fall sollte die SQL-Abfrage wie folgt beginnen:SELECT customer_id as id
, mitid
im Referenzfeld. - Vorschau und Test - Hier sehen Sie eine Vorschau dessen, was Ihre Kollegen sehen werden, wenn sie ein Segment erstellen - und Sie können mit echten Daten testen.
Wenn Sie Timestamp und Datum/Uhrzeit verwenden, beachten Sie bitte, dass das angezeigte Ergebnis möglicherweise eine andere Zeitzone hat, als in Ihrer Datenbank angegeben ist. Das hat keinen Einfluss darauf, wie die Daten gespeichert oder bei Berechnung des Segments durch Emarsys verwendet werden.
Die Funktion Vorschau und Test zeigt maximal 10 Ergebnisse an. Für präzisere Ergebnisse empfehlen wir die Verwendung mehrerer Bedingungen.
Falls ein SQL-Syntaxfehler zurückgegeben wird, obwohl Ihre SQL-Abfrage korrekt formuliert ist, führen Sie Vorschau und Test erneut aus, um den Code noch einmal zu überprüfen. Möglicherweise zeigt die Plattform auf Basis des Cache eine falsche Fehlermeldung an.
- Wählen Sie die Werte für die Parameter aus und klicken Sie Starten. Das Segment sollte die entsprechende Anzahl Kontakte aus Ihrer Datenbank zurückgeben.
- Klicken Sie Speichern, wenn Sie mit dem Bearbeiten der Vorlage fertig und mit der Vorschau und den Testergebnissen zufrieden sind. Im Zuge des Speichervorgangs überprüfen wir die Query; wenn alles passt, setzen wir sie auf Bereit.
Vorlagen mit diesem Status sind für die Segmentierung verfügbar.
Relational Segments Vorlagen für bestimmte Verbindungstypen erstellen
Dieser Abschnitt behandelt die folgenden Verbindungstypen:
- Snowflake
- SAP HANA Cloud
- SAP HANA On-premise
Im Großen und Ganzen funktionieren diese Verbindungen auf dieselbe Weise wie andere Relational Data Verbindungen.
Der Standard ist die Verwendung von Großbuchstaben für die Namen von Feldern, Tabellen etc. Wenn Feld- oder Tabellennamen Kleinbuchstaben enthalten, müssen sie in Anführungszeichen eingeschlossen werden.
Wenn Sie in einem Parameter einen Wert verwenden wollen, der Kleinbuchstaben enthält, müssen Sie dafür nicht noch einmal Anführungszeichen verwenden.
Hier haben wir zum Beispiel eine benutzerdefinierte Liste erstellt, deren Werte nicht in Anführungszeichen eingeschlossen werden müssen, obwohl der Wert Kleinbuchstaben enthält:
Wenn Sie Stringwerte in eine Abfrage schreiben, müssen Sie wie sonst auch einfache Anführungszeichen verwenden:
Relational Segments erstellen
Wenn Sie Ihre Segmentvorlagen erstellt haben, können Sie diese verwenden, um die eigentlichen Segmente zu erstellen.
Um ein Relational Segment zu erstellen, gehen Sie wie folgt vor:
1. Wählen Sie Kontakte > Segmente aus und klicken Sie Segment erstellen.
2. Klicken Sie Standardsegment und dann Relational Segment im Pop-up.
3. Geben Sie Ihrem Segment einen Namen und fügen Sie eine Beschreibung hinzu.
Damit lassen sich die Segmente auf der Seite Segmente leichter identifizieren.
4. Wählen Sie die zuvor erstellte Vorlage aus.
5. Klicken Sie die blau gekennzeichneten Felder und wählen Sie die Werte für den Parameter aus bzw. geben Sie diese ein. Im oben angeführten Beispiel adressiert das Segment Kontakte, die in der Klasse Business
(benutzerdefiniertes Dropdown) nach Singapur
(benutzerdefiniertes Dropdown) reisen, und zwar in 7
(Zahleneingabe) Tagen.
6. Um das Segment zu erstellen und zu speichern sowie die Ergebnisse anzuzeigen, klicken Sie Speichern & Übernehmen. Das Segment erscheint nunmehr in der Liste der Relational Segments.
Derzeit unterstützt die Versandzeit-Optimierung keine Kampagnen, die gleichzeitig Relational Segments und die Personalisierung mit Relational Data verwenden. In diesen Fällen aktivieren Sie die Versandzeit-Optimierung nicht, da Kontakte sonst möglicherweise vom Versand ausgeschlossen werden.
Hinweise:
- Die Segmentergebnisse werden für 10 Minuten zwischengespeichert. Wenn Sie also das gleiche Segment innerhalb von 10 Minuten erneut ausführen, erhalten Sie die vorherigen (zwischengespeicherten) Ergebnisse.
- Sie können das Segment später bearbeiten, wenn Sie die Parameter oder deren Werte ändern müssen. Weitere Informationen erhalten Sie unter: Segmente bearbeiten.
Erstellungsdauer für Relational Data Segments - FAQ
Was ist das Zeitlimit für Abfragen auf Basis von Relational Data Segmentvorlagen?
Auch wenn das Segment als solches innerhalb von 30 Minuten fertiggestellt sein muss, gibt es eine Reihe von Aufgaben, die vor und nach der Abfrage erledigt werden müssen. Daher empfehlen wir, die Runtime der Query unter 15 Minuten zu halten.
Wo kann ich überprüfen, wie lange das Ausführen meines Segments gedauert hat?
Nachdem Sie ein Relational Data Segment auf Basis einer Vorlage erstellt haben, können Sie die Liste im Menü Segmente überprüfen, um zu sehen, wie lange das Erstellen des Gesamtsegments gedauert hat.
Das ist die Zeit, die für das Erstellen des Segments benötigt wurde, nicht nur die Runtime der Abfrage.
Kontakte > Segmente
Darüber hinaus werden Sie benachrichtigt, falls die Laufzeit der Abfrage über 15 Minuten beträgt. Jede Stunde überprüft Emarsys die erfolgten Ausführungen der Segmente; wenn eine Abfrage länger als 15 Minuten gedauert hat, erhalten Sie eine Nachricht. In den 7 Tagen danach erhalten Sie zu diesem Segment keine Nachricht mehr.
Wenn Sie das Segment auf der Seite der Segmenterstellung ausführen, gibt es ein 1-minütiges Timeout. Selbst wenn dieses überschritten wird, gilt das nicht notwendigerweise auch für das Segment.
Was kann ich tun, wenn eine Segmentvorlagen-Abfrage zu langsam ist?
Das Erstellen einer wirklich durchdachten, optimierten Segmentabfrage erfordert ein tiefes Verständnis des verwendeten Datenbanktyps, der Daten, die Sie in Ihrer Datenbank speichern, des Use Case, den Sie abbilden wollen, ebenso wie ein gewisses Maß an Erfahrung mit Abfrageoptimierungen.
Daher empfehlen wir dringend, bei Performanceproblemen einen Experten zu Rate ziehen.
Wenn Sie eine Segmentvorlage erstellen, sollten Sie sich immer folgende Fragen stellen:
- Wie groß wird das Result-Set sein?
- Wie groß ist das Dataset, das von der Abfrage gescannt wird?
- Wie oft wird die Abfrage ausgeführt?
Wenn Sie sich darüber im Klaren sind, sollten Sie sich folgende Fragen beantworten:
- Will ich Indizes verwenden? Auch der verwendete Datenbanktyp ist hier ein Faktor, aber grundsätzlich sollten Sie die Verwendung von Indizes überlegen. Bei großen Datasets können Indizes die Performance verbessern.
- Will ich Funktionen in der WHERE-Klausel verwenden? Funktionen können die Abfragedauer signifikant verlängern, weil sie nicht beabsichtigte Tabellenscans triggern. Bevor Sie Funktionen verwenden, sollten Sie sich über deren Auswirkung auf die Performance informieren.
- Was will ich wirklich in die Abfrage einschließen? Vermeiden Sie die Verwendung von select *. Schließen Sie stattdessen genau die Spalten ein, die Sie auch tatsächlich benötigen.
- Will ich statt korrelierter Unterabfragen JOIN-Klauseln verwenden? Bei der Arbeit mit größeren Datasets zeigen JOIN-Klauseln eine bessere Performance als korrelierte Unterabfragen.
- Wie will ich JOINS verwenden? Auch JOINS können zeitaufwendig sein. Verknüpfen Sie keine Tabellen, die Sie nicht verwenden, und versuchen Sie, stets auf indexierten Feldern zu verknüpfen.
- Will ich Wildcards verwenden? Die Verwendung von Wildcards wird die Abfrage definitiv verlangsamen, ganz besonders bei großen Tabellen. Vermeiden Sie die Verwendung von Wildcards, wenn das möglich ist.
Segmentierung - Problembehandlung für einzelne Verbindungstypen
Dieser Abschnitt behandelt die folgenden Verbindungstypen:
- Snowflake
- SAP HANA Cloud
- SAP HANA On-premise
Die SQL Syntax ist ungültig. Bitte vergewissern Sie sich, dass die Query keine Fehler enthält, und versuchen Sie es noch einmal.
Wenn der Feldname einen Kleinbuchstaben enthält und Sie ihn nicht in Anführungszeichen einschließen, besagt die Fehlermeldung, dass die Syntax ungültig ist. Fügen Sie die Anführungszeichen hinzu und versuchen Sie es noch einmal.
Eine oder mehrere Tabellen konnten in ... nicht gefunden werden. Bitte stellen Sie sicher, dass die richtige Verbindung ausgewählt ist und Sie existierende Tabellen oder Ansichten referenzieren; versuchen Sie es dann erneut.
Wenn der Tabellenname einen Kleinbuchstaben enthält und Sie ihn nicht in Anführungszeichen einschließen, besagt die Fehlermeldung, dass die Tabelle nicht existiert oder Sie keine Berechtigung haben, diese zu verwenden. Fügen Sie die Anführungszeichen hinzu und versuchen Sie es noch einmal.