Вміст МаркетингCRM та платформи данихЕлектронний маркетинг і автоматизація

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

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

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

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

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

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

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

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

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

Поки моя компанія DK New Media розробляє складні рішення з підтримкою 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, ось кілька чудових ресурсів:

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

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

Контакти DK New Media

Douglas Karr

Douglas Karr є CMO компанії OpenINSIGHTS і засновник Martech Zone. Дуглас допоміг десяткам успішних стартапів MarTech, допоміг у належній перевірці понад 5 мільярдів доларів у придбання та інвестиції Martech, і продовжує допомагати компаніям у впровадженні та автоматизації їхніх продажів і маркетингових стратегій. Дуглас — міжнародно визнаний експерт і спікер з цифрової трансформації та MarTech. Дуглас також є опублікованим автором посібника для чайників і книги про лідерство в бізнесі.

Статті по темі

Догори кнопки
близько

Виявлено блокування реклами

Martech Zone може надати вам цей вміст безкоштовно, оскільки ми монетизуємо наш сайт за рахунок доходів від реклами, партнерських посилань і спонсорства. Ми будемо вдячні, якщо ви видалите блокувальник реклами під час перегляду нашого сайту.