Sprache auswählen
Blog
Tauch ein in die Welt der Marketing Automation:
Praxisnahes & hilfreiches Wissen, das dir den Alltag mit Marketing Automation erleichtert!
Preference Center mit der Marketing Cloud - Teil 1
Preference Center mit Marketing Cloud umsetzen – Grundaufbau
Wer mit der Marketing Cloud von Salesforce Newsletter - Abonnenten verwalten möchte, benötigt neben dem Erfassen eben dieser Abonnenten ggf. auch eine Oberfläche zum Verwalten der eigenen Abo-Optionen für die Abonnenten. Da die Standardmittel, welche Salesforce hier zur Verfügung stellt, nur bedingt anpassbar sind, eignet sich die Umsetzung eines eigenen Subscription bzw. Preference Centers. Das ist vor allem dann interessant, wenn man hier ein eigenes Design umsetzen möchte. Dieser Artikel soll einmal die wichtigsten Schritte innerhalb von Salesforce Marketing Cloud für ein eigenes Preference Center erläutern.
Vorbereitungen
Wer ein eigenes Preference Center mittels Cloud Pages anlegen möchte, sollte sich ggf. vorher mit den folgenden Themen beschäftigen:
- AMPScript Guide von Salesforce – Dieser Guide umfasst die grundlegende Syntax und Funktionen der Salesforce-eigenen Skriptsprache AMPScript.
- Server-Side JavaScript von Salesforce – Diese Dokumentation umfasst die wichtigsten Funktionen, welche das Serverseitige-JavaScript (kurz SSJS) von Salesforce hergibt.
Ausserdem sollte bereits eine Data Extension zur Verwaltung von Newsletter-Abonnenten samt Felder vorliegen.
Cloud Page anlegen
Der erste Schritt besteht darin eine Cloud Page in der Marketing Cloud anzulegen und vorzubereiten. Am besten nutzt man hier die Code-Ansicht, da wir mit AMPScript und SSJS arbeiten werden. Dies geschieht in Marketing Cloud unter Web Studio → Cloud Pages. Dort legt man eine entsprechende Collection und danach eine Landing Page an. Diese Landingpage wird mit ihrer URL später als Preference Center dienen.
Preference Center in Seiten unterteilen
Das Preference Center wird vier Funktionen erfüllen:
- Die Neuanmeldung
- Das Bestätigen der E-Mail-Adresse (Double Opt-In)
- Das Aktualisieren eines bestehenden Abos
- Das Abmelden einer E-Mail-Adresse (Opt-Out)
Die vier Funktionen werden wir dennoch über eine einzige Cloud Page abbilden, allerdings werden wir diese über die jeweiligen URL-Parameter unterscheiden. Dazu legen wir in der Cloud Page mit Hilfe von AMPScript eine action-Variable an:
var @action set @action = RequestParameter("action")
Damit lesen wir von der Cloud Page den Parameter action
aus, welche wie folgt übergeben wird: http://[url-zur-cloudpage].ch/subscription_center?action=…
Hinweis: Der action
-Parameter wird über die sog. CloudPages URL übergeben, diese URL wird im Footer der zu verschickenden Newsletter untergebracht, z.B.: %%=CloudPagesURL([ID der Cloudpage],'action','confirm')=%%
Dabei sehen wir folgende Actions vor:
- kein Action-Parameter → Zeigt die Sign-Up- oder Update-Ansicht an. Die Update-Ansicht wird automatisch angezeigt, wenn ein Subscriber-Key angehängt wird.
- action =
confirm
→ Löst die Opt-In-Bestätigung eines neuen Abonnenten aus. - action =
unsubscribe
→ Löst den Opt-Out-Prozess eines bestehenden Abonnenten aus.
Hinweis: Zum Subscriber Key kommen wir im nächsten Abschnitt.
Die Unterscheidung erfolgt dann mittels AMPScript über eine if-else-Anweisung, z.B.:
if @subscriber_key != '' AND @action == 'confirm' then // put your confirmation here endif;
Abonnenten identifizieren
CloudPagesURL
(siehe oben) angehängt. Dieser kann dann in der Cloud Page wie folgt ausgelesen werden:/* Get subscriber key */ var @subscriber_key set @subscriber_key = AttributeValue("_subscriberkey")
Abonnieren, aktualisieren und kündigen
Dazu legen wir direkt in der Cloud Page ein HTML-Formular mit den benötigten Felder an. Das ist abhängig davon, wie man die dazu gehörige Data Extension aufgebaut hat. Die Umsetzung ist einem dabei komplett selbst überlassen, am Ende muss nur ein
POST
-Request an die Cloud Page erzeugt werden (via Form-action %%=RequestParameter('PAGEURL')=%%
), welcher die entsprechenden Inputs übergibt. Das können z.B. Text-Felder, Nummern oder auch versteckte Felder sein. Den Request fangen wir dann wie folgt ab auf der Cloud Page:if RequestParameter("submitted") == true then // insert submitted data into Data Extension using CreateSalesforceObject endif
Innerhalb dieser if-else-Abfrage können wir nun u.a. mit der Funktion CreateSalesforceObject
neue Leads in der Data Extension erzeugen. Die übergebenen Felder des Formulars können dabei mittels RequestParameter
ausgelesen und entsprechend eingetragen werden.
Nun schauen wir auf die Opt-In-Bestätigung eines neuen Abonnenten:
Dazu bekommt der neue Abonnent einen Opt-In-Link (wie bereits beschrieben erzeugt mit CloudPagesURL
) geschickt. Beim Klick wird er mit dieser Abfrage abgefangen:
if @subscriber_key != '' AND @action == 'confirm' then // Update your confirmation field in your data extension using UpdateSingleSalesforceObject endif
Innerhalb dieses Blocks kann mit Hilfe der Funktionen RetrieveSalesforceObjects
und UpdateSingleSalesforceObject
der jeweilige Lead in der Data Extension angepasst werden, z.B. durch das Setzen eines Confirm-Felds.
Hinweis: Bei Unsubscribe/Opt-Out funktioniert dies ähnlich.
Zuletzt schauen wir auf die Möglichkeit, Abos zu aktualisieren.
Hier gibt es zwei Requests. Der erste leitet auf die Update-Ansicht des jeweiligen Abonnenten:
if @subscriber_key != '' then // Show update form endif
Innerhalb dieses Blocks kann dann z.B. ein anderes Formular mit einer anderen Action-URL angezeigt werden. Beim Absenden dieses Formulars landet man dann im 2. Block, ähnlich wie beim Absenden des Sign-Up-Formulars (nur mit einem hidden-Input updated
statt submitted
):
if RequestParameter("updated") == true then // Handle update request and update data in Data Extension using UpdateSingleSalesforceObject endif
Hier kann dann wieder entsprechend mit den passenden AMPScript-Funktionen der jeweilige Eintrag in der betreffenden Data Extension aktualisiert werden.
Mit diesen grundlegenden Bausteinen ist es möglich ein eigenes Preference Center innerhalb von Marketing Cloud umzusetzen. Neben dem Einsatz von SSJS und AMPScript ist natürlich auch der Einsatz von HTML, CSS und JavaScript möglich bzw. auch nötig. Damit lässt sich dann ein entsprechend eigenes Look & Feel umsetzen.
Es ist dir nun klar, welchen Zweck ein Preference Center hat und wie es grundlegend aufgebaut ist. Doch du hast nicht die Möglichkeit & Ressourcen eines selbst zu bauen? Wir unterstützen dich gerne bei der Umsetzung eines eigenen Preference Centers in der Marketing Cloud und freuen uns, von dir oder deinen Fragen zu hören.