Marketing treściCRM i platformy danychMarketing e-mailowy i automatyzacja

Centrum preferencji Salesforce Marketing Cloud: AMPScript i przykład strony w chmurze

Prawdziwa historia… moja kariera nabrała rozpędu ponad dekadę temu, kiedy rozpocząłem pracę jako konsultant ds. Integracji w ExactTarget (obecnie Salesforce Marketing Cloud). Moja praca zabrała mnie na cały świat, pomagając firmom w rozwijaniu głębokiej integracji z platformą i zdobyłem tak dużą wiedzę instytucjonalną o platformie, że awansowałem na stanowisko Product Managera.

Wyzwania kierownika produktu dla organizacji, która wcześniej należała do programistów, ostatecznie skłoniły mnie do przejścia dalej. To była świetna organizacja, ale tak naprawdę nigdy własność produkt. Tak więc, podczas gdy moi rówieśnicy z działu wsparcia, sprzedaży i marketingu produktów oczekiwali, żebym dokonał prawdziwej zmiany… rzeczywistość była taka, że ​​zespół programistów często wdrażał inne rozwiązanie, o czym dowiedziałem się na kilka dni przed wydaniem.

Jednym z moich ostatnich projektów była praca nad wewnętrzną platformą skryptową, która umożliwiłaby naszym klientom dodawanie skryptów do ich e-maili. Pracowałem z innym Product Managerem i przeprowadziliśmy mnóstwo badań… w końcu zdecydowaliśmy się opracować podejście w stylu JQuery z naszymi własnymi funkcjami, ale z możliwością przekazywania i korzystania z tablic, wykorzystywania JSON itp. To miało być całkiem rozwiązanie… dopóki nie trafiło do etapu rozwoju. Na początku cyklu produktu moja biblioteka została wyrzucona, a starszy programista ją zastąpił AMPscript.

Wiele lat później Salesforce Firma partnerska, której jestem partnerem, wykonuje obecnie złożone integracje korporacyjne, a ja codziennie pogrążam się w AMPscript — albo ulepszając logikę treści e-maili, albo wdrażając Cloud Pages. Oczywiście frustracja związana z codzienną pracą z AMPscript utwierdza mnie w przekonaniu, że w tamtych czasach podjęto złą decyzję… moje rozwiązanie byłoby o wiele bardziej eleganckie. Czuję się jakbym wrócił do programowania TRS-80 w BASICu.

Edytor, którego używasz w Cloud Pages, jest bezlitosny. Nie wyłapuje prostych problemów, takich jak deklarowanie zmiennych lub błędy składniowe w kodzie. W rzeczywistości możesz opublikować stronę, która po prostu wygeneruje błąd serwera 500. Istnieją również dwa pola na nazwy Twoich stron… nie pytaj mnie dlaczego.

Pro-tip: Jeśli Cloud Pages nigdy nie zwraca przykładowych danych, gdy masz zamiar opublikować, i wygląda na to, że przetwarza je w nieskończoność… wyrzucisz błąd. Jeśli mimo wszystko opublikujesz, prawdopodobnie będziesz musiał całkowicie usunąć stronę Cloud i zacząć od nowa. Domyślam się, że infrastruktura, na której jest zbudowany, nie jest wystarczająco inteligentna, aby zidentyfikować zmianę kodu i po prostu przetwarza buforowany kod.

Poza tym z przyjemnością dowiesz się, że wiele udokumentowanych przykładów kodu ma własne błędy składniowe. Yay! To okropne doświadczenie… ale nadal możesz i powinieneś go używać, ponieważ zapewnia niesamowitą elastyczność.

Dygresja: Jest nowa strona w chmurze Doświadczenie… Gdzie wygląda na to, że właśnie zmienili skórkę strony i nie zawiera żadnych dodatkowych informacji. Właściwie bardziej podoba mi się stara wersja dla wieloetapowej sekwencji publikowania.

Podczas gdy moja firma DK New Media tworzy złożone rozwiązania z obsługą Ajax, które integrują wiele systemów i zawierają rozszerzenia danych z AMPscript, SSJS, Cloud Pages i pocztą e-mail… Chciałbym podzielić się prostym przykładem tego, jak można zacząć, używając AMPscript do wysyłania zapytań do instancji Salesforce i pobierania dane wsteczne. W tym przypadku proste pole boolowskie, które zachowuje główną flagę anulowania subskrypcji. Możesz oczywiście rozszerzyć ten kod, aby zbudować całą stronę preferencji lub centrum profili, z których możesz korzystać.

Wygeneruj łącze do strony w chmurze z danymi subskrybenta

Jeśli przeglądasz szczegóły swojej strony w chmurze, możesz uzyskać unikalny identyfikator strony dla strony, którą możesz dołączyć do swoich wiadomości e-mail.

identyfikator strony w chmurze

Składnia jest następująca:

<a href="%%=RedirectTo(CloudPagesURL(361))=%%">View My Preferences</a>

AMPscript dla danych Salesforce za pośrednictwem Cloud Pages za pośrednictwem rozszerzeń danych

Pierwszym krokiem jest utworzenie skryptu AMPscript w celu deklarowania zmiennych i pobierania danych z Salesforce do wykorzystania na stronie. W tym przykładzie moje pole logiczne Salesforce, które zawiera wartość true lub false, ma nazwę Wycofała się:

%%[

/* Declare EVERY variable */
VAR @contactKey,@agent,@referrer,@unsub
VAR @rs,@updateRecord,@checked
 
/* Request your ContactKey from the querystring */
Set @contactKey = Iif(Empty([_subscriberKey]),RequestParameter("contactKey"),[_subscriberKey])

/* Set unsub to false unless it is passed in the querystring */
SET @unsub = Iif(Not Empty(RequestParameter('unsub')),RequestParameter('unsub'),'false')
 
/* If unsub, then update the Salesforce field OptedOut */ 
IF NOT Empty(@unsub) THEN
  SET @updateRecord = UpdateSingleSalesforceObject('contact',@contactKey,'OptedOut', @unsub)
ENDIF

/* Retrieve the Salesforce Contact record */
Set @rs = RetrieveSalesforceObjects('contact', 'FirstName,LastName,OptedOut', 'Id', '=', @contactKey);
 
/* Get the fields from the record */
 IF RowCount(@rs) == 1 then
  var @record, @firstName, @lastName, @optout
  set @record = Row(@rs, 1)
  set @firstName = Field(@record, "FirstName")
  set @lastName = Field(@record, "LastName")
  set @optout = Field(@record, "OptedOut")
ENDIF

/* Build a string for your checkbox to be checked or not
 set @checked = '';
 IF (@optout == 'true') THEN
  set @checked = 'checked'
 ENDIF
 
]%%

Teraz możesz zbudować swój HTML i formularz, który przetwarza żądanie:

<!DOCTYPE html>
<html>
   <title>Profile Center</title>
   <body>
      <h2>Your Profile:</h2>
      %%[ if RowCount(@rs) == 1 then ]%%
      <ul>
         <li><strong>First Name:</strong> %%=v(@firstName)=%%</li>
         <li><strong>Last Name:</strong> %%=v(@lastName)=%%</li>
         <li><strong>Unsubcribed:</strong> %%=v(@optout)=%%</li>
      </ul>
      <form method="get">
       <div>
         <input type="hidden" id="contactKey" name="contactKey" value="%%=v(@contactKey)=%%">
         <input type="checkbox" id="unsub" name="masterUnsub" value="true" %%=v(@checked)=%%>
         <label for="masterUnsub">Unsubscribe From All</label>
        </div>
       <div>
         <button type="submit">Update</button>
        </div>
     </form>
      %%[ else ]%%
      <p>You don't have a record.</p>
      %%[ endif ]%%
   </body>
</html>

To wszystko… połącz to wszystko i masz stronę preferencji, która jest aktualizowana o Twój rekord subskrybenta i przekazuje żądanie aktualizacji pola boolowskiego (prawda / fałsz) w Salesforce. Teraz możesz budować niestandardowe zapytania wokół tego pola, aby zawsze mieć pewność, że kontakty, dla których zrezygnowano, nie otrzymają żadnego e-maila!

Jak ulepszyć stronę preferencji lub centrum profili

Oczywiście to tylko zwiastun tego, co jest możliwe dzięki stronie preferencji. Ulepszenia, o których możesz pomyśleć:

  • Wypełnij rzeczywisty tekst z innego rozszerzenia danych, aby Twój zespół marketingowy mógł aktualizować zawartość strony w dowolnym momencie bez dotykania kodu.
  • Wypełnij rozszerzenie danych listy publikacji i zapętlaj publikacje, aby zaoferować opcję akceptacji lub rezygnacji z preferencji oprócz głównego anulowania subskrypcji.
  • Wypełnij rozszerzenie danych powodu, aby dowiedzieć się, dlaczego Twoi subskrybenci są mistrzami w rezygnacji z subskrypcji.
  • Wypełnij inne informacje o profilu z rekordu Salesforce, aby podać dodatkowe informacje o profilu.
  • Przetwórz stronę za pomocą Ajax, aby bezproblemowo ją wypełnić.
  • Zaoferuj sposób rejestracji, aby Twój użytkownik mógł w dowolnym momencie uzyskać dostęp do swojego osobistego centrum profili.

Dodatkowe zasoby dotyczące AMPscript

Jeśli szukasz dodatkowej pomocy w nauce i wdrażaniu AMPscript, oto kilka świetnych zasobów:

  • Przewodnik po AMPscript – zorganizowana przez niektórych pracowników Salesforce, jest to całkiem kompletna baza składni AMPscript, chociaż przykłady są naprawdę lekkie. Gdyby był solidniejszy, być może warto byłoby w niego zainwestować.
  • Nagłówek AMPscriptu - Salesforce's Trailhead to darmowy zasób do nauki, który może przeprowadzić Cię przez podstawy języka za pomocą AMPscript i SSJS oraz jak te dwa elementy mogą ze sobą współdziałać.
  • Wymiana stosów dla Salesforce - świetna społeczność internetowa, która prosi o pomoc z mnóstwem próbek kodu AMPscript.

Istnieje mnóstwo możliwości integracji stron w chmurze z Salesforce, aby zapewnić najwyższy komfort użytkowania. A jeśli Twoja firma ma problemy, zawsze możesz skontaktować się z nami, aby pomóc!

Kontakt DK New Media

Douglas Karr

Douglas Karr jest dyrektorem ds. marketingu OtwórzWglądy i założycielem Martech Zone. Douglas pomógł dziesiątkom odnoszących sukcesy start-upów MarTech, pomagał w due diligence ponad 5 miliardów dolarów w przejęciach i inwestycjach Martech i nadal pomaga firmom we wdrażaniu i automatyzacji ich strategii sprzedaży i marketingu. Douglas to uznany na całym świecie ekspert ds. transformacji cyfrowej oraz MarTech i mówca. Douglas jest także autorem przewodnika dla manekinów i książki o przywództwie biznesowym.

Powiązane artykuły

Powrót do góry przycisk
Zamknij

Wykryto Adblock

Martech Zone jest w stanie udostępnić Ci te treści bez żadnych kosztów, ponieważ zarabiamy na naszej witrynie poprzez przychody z reklam, linki partnerskie i sponsoring. Będziemy wdzięczni za usunięcie blokady reklam podczas przeglądania naszej witryny.