Salesforce Marketing Cloud Preference Center: AMPScript és Cloud Page példa

AMPscript Salesforce-integrált Marketing Cloud Preference oldalkód

Igaz történet… a karrierem több mint egy évtizeddel ezelőtt indult el, amikor az ExactTarget (ma Salesforce Marketing Cloud) integrációs tanácsadójaként kezdtem el dolgozni. Munkám az egész világon elvezetett, hogy segítsem a vállalatokat a platformmal való mély integrációk kialakításában, és annyi intézményi ismeretet gyűjtöttem a platformról, hogy előléptem termékmenedzserként.

A termékmenedzser kihívásai egy korábban fejlesztői tulajdonban lévő szervezet számára végül a továbblépéshez vezettek. Remek szervezet volt, de soha nem igazán tulajdonú a termék. Tehát, miközben a támogatási, értékesítési és termékmarketing-társaim egy igazi változásra törekedtek ... a valóság az volt, hogy a fejlesztői csapat gyakran más megoldást alkalmazott, és napokkal a kiadás előtt megtudtam.

Az egyik utolsó projektem egy belső szkriptplatformon dolgozott, amely lehetővé tenné ügyfeleink számára, hogy szkriptet adhassanak az e-mailjeikhez. Egy másik termékmenedzserrel dolgoztam, és rengeteg kutatást végeztünk ... végül úgy döntöttünk, hogy kifejlesztünk egy JQuery-stílusú megközelítést saját funkcióinkkal, de magában foglaljuk a tömbök átadásának és fogyasztásának, a JSON hasznosításának stb. Képességét is. megoldás ... amíg nem éri el a fejlesztést. A termékciklus elején a könyvtárat selejtezték, és egy idősebb fejlesztő helyettesítette AMPscript.

Évekkel később a Salesforce partner az a vállalat, amelyben partner vagyok, most komplex, vállalati integrációkat végez, és napi szinten belemerülök az AMPscript-be - vagy az e-mail tartalom logikájának fejlesztésében, vagy a Cloud Pages bevezetésében. Természetesen az AMPscript-mel való nap mint nap végzett munka csalódása biztosítja számomra, hogy azokban a napokban rossz döntést hoztak ... megoldásom sokkal elegánsabb lett volna. Úgy érzem, visszatértem a TRS-80 programozásához a BASIC-ban.

A Cloud Pages-hez használt szerkesztő könyörtelen. Nem fog meg olyan egyszerű problémákat, mint a változók vagy a szintaxis hibák deklarálása a kóddal. Valójában közzétehet egy olyan oldalt, amely egyszerűen 500 szerver hibát generál. Két névmező is van az oldalaihoz ... ne kérdezd, miért.

Pro-tipp: Ha a Cloud Pages soha nem adja vissza a mintaadatokat, amikor közzétenni készül, és úgy tűnik, hogy örökre feldolgozás alatt áll ... hibát fog dobni. Ha mégis közzétesz, valószínűleg teljesen ki kell törölnie a Felhő-oldalt, és elölről kell kezdenie. Azt hiszem, hogy az az infrastruktúra, amelyre épül, nem elég intelligens a kódváltás azonosításához, és csak a gyorsítótárazott kódot dolgozza fel.

Ettől eltekintve örömmel fogja tudni, hogy a dokumentált kódminták közül soknak megvan a maga szintaxis hibája. Hurrá! Szörnyű tapasztalat ... de mégis használhatja és érdemes is használnia, mert elképesztő rugalmasságot biztosít.

Oldaljegyzet: Van egy új Felhő oldal Tapasztalat… Ahol úgy tűnik, hogy most nyúzták újra az oldalt, és ez nem nyújt további információt. A többlépcsős közzétételi sorrendhez valójában jobban tetszik a régi verzió.

Míg a társaságom Highbridge összetett, Ajax-kompatibilis megoldásokat épít ki, amelyek több rendszert integrálnak, és az adatkiterjesztéseket beépítik az AMPscript, az SSJS, a Cloud Pages és az e-mail funkciókba. Meg akartam osztani egy egyszerű példát arra, hogyan kezdheti el egyszerűen az AMPscript használatát a Salesforce példány lekérdezéséhez és vissza adatok. Ebben az esetben egy egyszerű logikai mező, amely megtartja a fő leiratkozási zászlót. Természetesen kiterjesztheti ezt a kódot, hogy létrehozzon egy teljes preferencia oldalt vagy profilközpontot, amelyet használhat.

Felhő-oldal link létrehozása az előfizetői adatokkal

Ha megtekinti a Cloud Page részleteit, megszerezheti az oldal egyedi oldalazonosítóját, amelyet felvehet az e-mailjeibe.

felhő oldalazonosító

A szintaxis a következő:

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

AMPscript for Salesforce Data Cloud Pages via Data Extensions segítségével

Az első lépés az AMPscript felépítése a változók deklarálásához és az adatok lekéréséhez a Salesforce-tól, amelyeket az oldalon használhat. Ebben a példában a Salesforce logikai mezőm, amely igaz vagy hamis, meg van nevezve Elutasított:

%%[

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

Most elkészítheti a HTML-t és az űrlapot, amely feldolgozza a kérést:

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

Ez az ... összerakja az egészet, és megkapja az egyik előfizetői oldalt, amely frissül az előfizetői rekordjával, és elküldi a logikai mező (true / false) frissítésének kérését a Salesforce-ban. Most egyéni lekérdezéseket hozhat létre a mező körül, hogy mindig biztosítsa, hogy a leiratkozott kapcsolatok ne kapjanak e-mailt!

Hogyan lehet javítani a preferencia oldalt vagy a profilközpontot

Természetesen ez csak egy kedvcsináló abból, ami lehetséges egy preferencia oldallal. Fejlesztések, amelyekre gondolhat:

  • Töltse fel a tényleges szöveget egy másik adatbővítményből, hogy a marketing csapata bármikor frissíthesse az oldal tartalmát a kód megérintése nélkül.
  • Töltse fel a publikációs lista adatkiterjesztését, és keresse meg a publikációkat, hogy a fő leiratkozás mellett feliratkozást vagy lemondást nyújtson a preferenciákra.
  • Töltse fel az okadat-kiterjesztést, hogy megtudja, miért fizetnek előfizetői leiratkozásra.
  • Töltse ki az egyéb profilinformációkat a Salesforce rekordból, hogy további profilinformációkat nyújtson.
  • Az oldalt az Ajax segítségével dolgozza fel, hogy zökkenőmentesen feltölthesse.
  • Kínáljon regisztrációs lehetőséget, hogy felhasználója bármikor hozzáférhessen személyes profilközpontjához.

További források az AMPscript számára

Ha további segítségre van szüksége az AMPscript elsajátításához és telepítéséhez, íme néhány nagyszerű forrás:

  • AMPscript útmutatóe - a Salesforce néhány alkalmazottjának szervezésében ez egy nagyon teljes adatbázis az AMPscript szintaxisáról, bár a példák nagyon könnyűek. Ha robusztusabb lenne, érdemes lehet befektetni.
  • Trailhead AMPscript - A Salesforce Trailhead egy ingyenes tanulási forrás, amely végigvezeti Önt a nyelv alapjain mind az AMPscript, az SSJS, mind a kettő kölcsönhatásában.
  • Veremcsere a Salesforce számára - nagyszerű online közösség segítség kérésére rengeteg AMPscript kódmintával.

Rengeteg lehetőség rejlik a Cloud Pages és a Salesforce integrálásában, hogy kiváló felhasználói élményt nyújtson. Ha pedig cége nehezen küzd, bármikor felveheti velünk a kapcsolatot, hogy segítsen!

Kapcsolat Highbridge

Mit gondolsz?

Ez az oldal Akismet-et használ a levélszemét csökkentése érdekében. Ismerje meg, hogyan dolgozik a megjegyzésed.