Център за предпочитания в облака на 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 чрез Cloud Pages чрез разширения за данни

Първата стъпка е изграждането на вашия AMPscript за деклариране на променливи и извличане на данните от Salesforce за използване на вашата страница. В този пример се именува моето логическо поле на Salesforce, което съдържа true или false OptedOut:

%%[

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

Това е ... съберете всичко и имате страница с предпочитания, която се актуализира с вашия абонатен запис и предава заявка за актуализиране на логическо поле (вярно / невярно) в Salesforce. Сега можете да създавате персонализирани заявки около това поле, за да сте сигурни, че контактите, които са изключени, не получават имейли!

Как да подобрите страницата си с предпочитания или Центъра за профили

Разбира се, това е само тийзър за това, което е възможно със страницата за предпочитания. Подобрения, върху които може да пожелаете да помислите:

  • Попълнете действителния текст от друго разширение за данни, така че вашият маркетинг екип да може да актуализира съдържанието на страницата, когато пожелае, без да докосва кода.
  • Попълнете разширението на данните от списъка с публикации и прегледайте публикациите, за да предложите включване или отказване на предпочитания в допълнение към основното отписване.
  • Попълнете разширение за данни за причина, за да уловите защо абонатите ви се отписват главно.
  • Попълнете друга информация за профила от записа на Salesforce, за да предоставите допълнителна информация за профила.
  • Обработете страницата с Ajax, за да можете безпроблемно да я попълвате.
  • Предложете начин за регистрация, така че вашият потребител да има достъп до своя център за лични профили по всяко време.

Допълнителни ресурси за AMPscript

Ако търсите допълнителна помощ за обучение и внедряване на AMPscript, ето някои страхотни ресурси:

  • Ръководство за AMPscripte - организирано от някои служители на Salesforce, това е доста пълна база данни за синтаксиса на AMPscript, въпреки че примерите са наистина леки. Ако беше по-здрав, може би си струваше инвестицията.
  • AMPscript на Trailhead - Trailhead на Salesforce е безплатен учебен ресурс и може да ви преведе през основите на езика както с AMPscript, SSJS, така и как двамата могат да си взаимодействат.
  • Обмен на стекове за Salesforce - страхотна онлайн общност за искане на помощ с много проби кодове на AMPscript.

Има много възможности за интегриране на вашите Cloud Pages с Salesforce, за да осигурите превъзходно потребителско изживяване. И ако вашата компания се затруднява, винаги можете да се свържете с нас, за да съдействате!

Контакти Highbridge

Какво мислите?

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните за коментарите ви.