Salesforce Marketing Cloudi eelistuskeskus: AMPScript ja pilvelehe näide

AMPscript Salesforce'i integreeritud turunduspilve eelistuste lehe kood

Tõestisündinud lugu ... minu karjäär sai tõeliselt alguse juba kümme aastat tagasi, kui asusin ExactTargeti (nüüdse Salesforce Marketing Cloudi) integratsioonikonsultandi kohale. Minu töö viis mind kogu maailmas abistama ettevõtteid platvormiga sügavate integreerumiste väljatöötamisel ja ma sain nii palju institutsioonilisi teadmisi platvormist, et mind ülendati tootejuhiks.

Varem arendaja omanduses olnud organisatsiooni tootejuhi väljakutsed viisid mind lõpuks edasi liikuma. See oli suurepärane organisatsioon, kuid ma pole kunagi tõeliselt omanikuks toote. Nii et kui tugi-, müügi- ja tooteturunduse eakaaslased otsisid minult tõelisi muudatusi, siis tegelikkuses oli see, et arendusmeeskond kasutas sageli teistsugust lahendust ja ma sain sellest teada juba päevad enne väljaandmist.

Üks minu viimaseid projekte oli töötada sisemise skriptimisplatvormi kallal, mis võimaldaks meie klientidel skripti oma e-kirjadele lisada. Ma töötasin koos teise tootejuhiga ja me tegime palju uuringuid ... lõpuks otsustasime välja töötada JQuery stiilis lähenemisviisi koos oma funktsioonidega, kuid sealhulgas võime massiive edastada ja tarbida, kasutada JSON-i jne. See pidi olema üsna lahendus ... kuni see tabas arengut. Tootetsükli alguses loobuti minu raamatukogust ja vanemarendaja asendas selle järgmisega: AMPscript.

Aastaid hiljem Salesforce'i partner ettevõte, milles ma olen partner, tegeleb nüüd keerukate ettevõtteintegratsioonidega ja leian end igapäevaselt AMPscriptis - kas täiustades e-posti sisuloogikat või juurutades pilvulehti. Muidugi tagab pettumus AMPscriptiga päevast päeva töötamise eest mulle, et nendel päevadel tehti vale otsus ... minu lahendus oleks olnud palju elegantsem. Mulle tundub, et olen tagasi alustanud TRS-80 programmeerimist BASIC-is.

Redaktor, mida kasutate pilvlehtede jaoks, on andestamatu. See ei taba lihtsaid probleeme, näiteks muutujate või süntaksivigade deklareerimine koodiga. Tegelikult saate tegelikult avaldada lehe, mis genereerib lihtsalt 500 serveri tõrke. Teie lehtede jaoks on ka kaks nimetusvälja ... ärge küsige minult, miks.

Pro-tip: Kui pilvlehed ei avalda avaldamise ajal kunagi näidisandmeid ja tundub, et neid töödeldakse igavesti ... viskate vea. Igatahes avaldades peate tõenäoliselt pilvlehe täielikult kustutama ja otsast alustama. Ma arvan, et infrastruktuur, millele see on ehitatud, ei ole koodimuudatuse tuvastamiseks piisavalt intelligentne ja töötleb lihtsalt vahemälu koodi.

Peale selle on teil hea meel teada, et paljudel dokumenteeritud koodinäidistel on oma süntaksivead. Jah! See on kohutav kogemus ... kuid saate seda siiski kasutada ja peaksite seda kasutama, sest see pakub hämmastavat paindlikkust.

Ääremärkus: On uus pilveleht kogemus... kus näib, et nad lihtsalt lehe uuesti nülgisid ja see ei anna täiendavat teavet. Mulle meeldib tegelikult vana versioon mitmeastmelise avaldamise jada jaoks paremini.

Kuigi minu seltskond Highbridge loob keerukaid Ajax-toega lahendusi, mis integreerivad mitu süsteemi ja hõlmavad andmelaiendeid AMPscriptiga, SSJS-iga, pilvlehtedega ja e-postiga ... Tahtsin jagada lihtsat näidet selle kohta, kuidas saate lihtsalt AMPscripti abil oma Salesforce'i eksemplari päringut teha ja tõmmata tagasi andmed. Sellisel juhul on lihtne booleanväli, mis säilitab peamise tellimusest loobumise lipu. Loomulikult saate seda koodi laiendada, et luua kogu eelistuste leht või profiilikeskus, mida saate kasutada.

Looge pilvlehe link tellijate andmetega

Kui vaatate pilvlehe üksikasju, saate hankida selle lehe ainulaadse lehe ID, mille saate oma meilidesse lisada.

pilvelehe ID

Süntaks on järgmine:

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

AMPscript for Salesforce Data Cloud Pages via Data Extensions

Esimene samm on AMPscripti loomine muutujate deklareerimiseks ja Salesforce'i andmete hankimiseks teie lehel kasutamiseks. Selles näites nimetatakse minu Salesforce'i tõeväärtusega välja tõene või väär Valitud:

%%[

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

Nüüd saate oma HTMLi ja vormi vormistada, mis päringut töötleb.

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

See on kõik ... pane see kõik kokku ja teil on eelistusleht, mida värskendatakse teie abonendikirjega ja mis edastab taotluse Salesforce'i tõeväärtuse (true / false) värskendamiseks. Nüüd saate selle välja ümber luua kohandatud päringuid, et alati tagada, et kontaktidest, kellest loobute, ei saadetaks ühtegi meilisõnumit!

Kuidas oma eelistuste lehte või profiilikeskust täiustada

Muidugi on see vaid eelroog, mis on eelistuslehega võimalik. Parandused, millele võiksite mõelda:

  • Täitke tegelik tekst mõnest teisest andmelaiendist, nii et teie turundusmeeskond saab koodi puudutamata lehe sisu igal ajal värskendada.
  • Täitke väljaandeloendi andmelaiend ja vaadake publikatsioone, et pakkuda lisaks peamisele tellimusele eelistuste lubamist või sellest loobumist.
  • Täitke põhjuse andmelaiend, et saada teada, miks teie tellijad tellimuse tühistavad.
  • Täiendava profiiliteabe pakkumiseks täitke muu Salesforce'i kirje profiiliteave.
  • Töötage lehte Ajaxiga, et saaksite seda sujuvalt täita.
  • Pakkuge registreerimisvahendeid, et teie kasutaja saaks igal ajal oma isiklikule profiilikeskusele juurde pääseda.

Täiendavad ressursid AMPscriptile

Kui soovite AMPscript'i õppimiseks ja juurutamiseks täiendavat abi, leiate siit suurepäraseid ressursse:

  • AMPscripti juhendE-korraldatud mõne Salesforce'i töötaja poolt, see on AMPscript'i süntaksist üsna täielik andmebaas, kuigi näited on tõesti kerged. Kui see oleks jõulisem, võib see investeerimist väärt olla.
  • Trailhead AMPscript - Salesforce'i Trailhead on tasuta õppematerjal, mis aitab teil tutvuda keele põhitõdedega nii AMPscriptiga, SSJS-iga kui ka nende kahe suhtlemisega.
  • Virnavahetus Salesforce'i jaoks - suurepärane veebikogukond, kes palub abi AMPscripti koodinäidiste kohta.

Oma pilvlehtede integreerimiseks Salesforce'iga on palju võimalusi, et pakkuda paremat kasutuskogemust. Ja kui teie ettevõttel on raskusi, võite abi saamiseks alati meiega ühendust võtta!

Kontakt Highbridge

Mis sa arvad?

Sellel saidil kasutatakse rämpsposti vähendamiseks Akismetit. Vaadake, kuidas teie andmeid töödeldakse.