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.
Wer ein eigenes Preference Center mittels Cloud Pages anlegen möchte, sollte sich ggf. vorher mit den folgenden Themen beschäftigen:
Ausserdem sollte bereits eine Data Extension zur Verwaltung von Newsletter-Abonnenten samt Felder vorliegen.
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.
Das Preference Center wird vier Funktionen erfüllen:
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:
confirm
→ Löst die Opt-In-Bestätigung eines neuen Abonnenten aus.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;
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")
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.
By accepting you will be accessing a service provided by a third-party external to https://www.waym.ch/