Хмарний центр уподобань Salesforce Marketing: приклад AMPScript та хмарних сторінок

Код сторінки вбудованих в AMPscript Salesforce маркетингових хмарних налаштувань

Справжня історія ... моя кар’єра справді зросла понад десять років тому, коли я зайняв посаду консультанта з питань інтеграції для ExactTarget (нині Salesforce Marketing Cloud). Моя робота залучила мене по всьому світу, допомагаючи компаніям розвивати глибоку інтеграцію з платформою, і я накопичив стільки інституційних знань про платформу, що мене підвищили до менеджера з продуктів.

Проблеми Product Manager для організації, яка раніше належала розробнику, зрештою змусили мене рухатися далі. Це була чудова організація, але я ніколи по-справжньому яка перебуває у власності продукт. Тож, хоча мої колеги в підтримці, продажах та маркетингу продуктів сподівалися на мене, щоб зробити справжні зміни ... реальність полягала в тому, що команда розробників часто застосовувала інше рішення, і я дізнавався про це за кілька днів до виходу.

Одним із останніх моїх проектів була робота над внутрішньою платформою сценаріїв, яка дозволила б нашим клієнтам додавати сценарій до своїх електронних листів. Я працював з іншим менеджером з продуктів, і ми провели купу досліджень ... врешті-решт вирішивши розробити підхід у стилі JQuery з нашими власними функціями, але включаючи можливість передавати та споживати масиви, використовувати JSON тощо. Це мало бути цілком рішення ... поки воно не вдалося розробити. На початку циклу продукту мою бібліотеку було скасовано, а старший розробник замінив її на AMPscript.

Через роки, Партнер Salesforce Компанія, в якій я є партнером, зараз робить складні корпоративні інтеграції, і я щодня занурююся в AMPscript - або покращуючи логіку вмісту електронної пошти, або випускаючи Cloud Pages. Звичайно, розчарування щоденного робочого дня з AMPscript гарантує мені, що в ті часи було прийнято неправильне рішення ... моє рішення було б набагато елегантнішим. Я відчуваю, що знову повернувся до програмування TRS-80 в BASIC.

Редактор, який ви використовуєте для Cloud Pages, не прощає. Він не вловлює простих проблем, таких як оголошення змінних чи синтаксичних помилок у коді. Насправді ви можете фактично опублікувати сторінку, яка просто генерує помилку сервера 500. Для ваших сторінок також є два поля іменування ... не питайте мене, чому.

Pro-наконечник: Якщо Cloud Pages ніколи не повертає зразки даних, коли ви збираєтеся їх опублікувати, і здається, що вони обробляються назавжди ... ви видасте помилку. Якщо ви все одно публікуєте, вам, мабуть, доведеться взагалі видалити Хмарну сторінку та почати спочатку. Я припускаю, що інфраструктура, на якій вона побудована, недостатньо інтелектуальна для ідентифікації зміни коду, а просто продовжує обробляти кешований код.

Окрім цього, ви будете раді дізнатися, що багато задокументованих зразків коду мають власні синтаксичні помилки. Ага! Це жахливий досвід ... але ви все ще можете і повинні використовувати його, оскільки він забезпечує дивовижну гнучкість.

Сторона примітка: Існує нова Хмарна сторінка досвід... де схоже, що вони щойно переформатували сторінку, і вона не надає ніякої додаткової інформації. Мені насправді більше подобається стара версія для багатоступеневої послідовності публікацій.

Поки моя компанія Highbridge розробляє складні рішення з підтримкою Ajax, які інтегрують декілька систем та включають розширення даних з AMPscript, SSJS, Cloud Pages та електронною поштою ... Я хотів би поділитися простим прикладом того, як ви можете розпочати роботу, просто використовуючи AMPscript для запиту вашого екземпляра Salesforce та зворотні дані. У цьому випадку просте логічне поле, яке зберігає головний прапор відписки. Звичайно, ви можете розширити цей код, щоб створити цілу сторінку налаштувань або центр профілів, якими ви можете скористатися.

Створіть посилання на хмарну сторінку з даними абонентів

Якщо ви переглядаєте деталі своєї хмарної сторінки, ви можете отримати унікальний ідентифікатор сторінки, який ви можете включити у свої електронні листи.

ідентифікатор хмарної сторінки

Синтаксис виглядає наступним чином:

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

AMPscript для даних Salesforce через хмарні сторінки через розширення даних

Першим кроком є ​​створення вашого AMPscript для оголошення змінних та отримання даних із Salesforce для використання на вашій сторінці. У цьому прикладі моє булеве поле Salesforce, яке містить істину чи хибність, називається Відмовився:

%%[

/* 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
 
]%%

Тепер ви можете створити свій HTML і форму, яка обробляє запит:

<!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>

Ось і все ... складіть все це, і у вас з’явилася сторінка налаштувань, яка оновлюється вашими записами передплатників і передає запит на оновлення логічного поля (true / false) у Salesforce. Тепер ви можете створювати власні запити навколо цього поля, щоб завжди гарантувати, що контакти, яким відмовлено, не надсилають жодних листів!

Як покращити сторінку налаштувань або Центр профілів

Звичайно, це лише тизер того, що можливо на сторінці налаштувань. Покращення, про які ви можете подумати:

  • Заповніть фактичний текст з іншого розширення даних, щоб ваша команда маркетингу могла оновлювати вміст сторінки, коли завгодно, не торкаючись коду.
  • Заповніть розширення даних списку публікацій та перегляньте публікації, щоб запропонувати ввімкнення або відмову від уподобань на додаток до основної відписки.
  • Заповніть розширення даних причини, щоб з’ясувати, чому ваші абоненти відмовляються від підписки.
  • Заповніть іншу інформацію про профіль із запису Salesforce, щоб надати додаткову інформацію про профіль.
  • Обробіть сторінку за допомогою Ajax, щоб ви могли легко заповнити її.
  • Запропонуйте спосіб реєстрації, щоб ваш користувач мав доступ до свого центру особистих профілів у будь-який час.

Додаткові ресурси для AMPscript

Якщо ви шукаєте додаткову допомогу для вивчення та розгортання AMPscript, ось кілька чудових ресурсів:

  • Посібник AMPscripte - організована деякими працівниками Salesforce, це досить повна база даних синтаксису AMPscript, хоча приклади дійсно легкі. Якби це було більш надійно, можливо, варто було б інвестувати.
  • AMPscript Trailhead - Trailhead Salesforce - це безкоштовний навчальний ресурс, який може ознайомити вас з основами мови як за допомогою AMPscript, SSJS, так і про те, як вони можуть взаємодіяти.
  • Обмін стеками для Salesforce - чудова Інтернет-спільнота для звернення за допомогою до тонни зразків коду AMPscript.

Існує маса можливостей для інтеграції ваших хмарних сторінок із Salesforce, щоб забезпечити чудовий досвід користувачів. І якщо ваша компанія має проблеми, ви завжди можете зв’язатися з нами, щоб допомогти!

Контакти Highbridge

Що ви думаєте?

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.