Kontenta MerkatumadoCRM kaj Datumaj PlatformojRetpoŝta Merkatado kaj Aŭtomatigo

Salesforce Marketing Cloud Preference Center: AMPScript kaj Cloud Page Ekzemplo

Vera rakonto ... mia kariero vere ekis antaŭ pli ol jardeko, kiam mi komencis pozicion kiel Integriĝa Konsultisto por ExactTarget (nun Salesforce Marketing Cloud). Mia tasko kondukis min tra la mondo helpante kompaniojn disvolvi profundajn integriĝojn kun la platformo kaj mi konstruis tiom da institucia scio pri la platformo, ke mi estis promociita al Produkta Administranto.

La defioj de Produkta Manaĝero por organizo, kiu antaŭe posedis programistojn, fine kondukis min plu. Ĝi estis bonega organizo, sed mi neniam vere posedata la produkto. Do, dum miaj kunuloj pri subteno, vendo kaj produkta merkatado rigardis min por fari veran ŝanĝon ... la realo estis, ke la disvolva teamo ofte realigis alian solvon kaj mi ekscius tagojn antaŭ la eldono.

Unu el miaj lastaj projektoj laboris pri interna skriptplatformo, kiu ebligus niajn klientojn aldoni skriptojn al siaj retpoŝtoj. Mi laboris kun alia Produktmanaĝero kaj ni multe esploris... fine decidis evoluigi JQuery-stilan aliron kun niaj propraj funkcioj, sed inkluzive de la kapablo pasi kaj konsumi tabelojn, uzi JSON, ktp. solvo... ĝis ĝi trafis evoluon. Frue en la produktociklo, mia biblioteko estis forigita kaj altranga programisto anstataŭigis ĝin per AMPscript.

Jaroj poste, la Salesforce Partnera kompanio, en kiu mi estas partnero, nun faras kompleksajn, entreprenajn integriĝojn, kaj mi trovas min enŝlimigita en AMPscript ĉiutage - ĉu plibonigante retpoŝtan enhavologikon aŭ disvolvante Nubajn Paĝojn. Kompreneble, la ĉagreno de labortago post tago kun AMPscript certigas min, ke la malĝusta decido estis farita en tiuj tagoj... mia solvo estus multe pli eleganta. Mi sentas, ke mi revenis al programado de TRS-80 en BASIC.

La redaktilo, kiun vi uzas por Cloud Pages, estas nepardona. Ĝi ne kaptas simplajn problemojn kiel deklari variablojn aŭ sintaksajn erarojn kun via kodo. Fakte vi povas efektive publikigi paĝon, kiu simple generos eraron de 500-servilo. Estas ankaŭ du nomkampoj por viaj paĝoj ... ne demandu min kial.

Por-pinto: Se Nubo-Paĝoj neniam redonas specimenajn datumojn kiam vi publikigos kaj ŝajnas, ke ĝi prilaboriĝas por ĉiam ... vi ĵetos eraron. Se vi publikigas iel ajn, vi probable devos tute forigi la Nuban Paĝon kaj rekomenci. Mi supozas, ke la infrastrukturo, sur kiu ĝi estas konstruita, ne estas sufiĉe inteligenta por identigi kodŝanĝon kaj nur daŭre prilaboras la kaŝmemoran kodon.

Krom tio, vi ĝojos scii, ke multaj el la dokumentitaj kodaj specimenoj havas siajn proprajn sintaksajn erarojn. Jes! Ĝi estas terura sperto ... sed vi ankoraŭ povas kaj devas uzi ĝin, ĉar ĝi donas mirindan flekseblecon.

Flanka noto: Estas nova Nuba Paĝo sperto... kie ŝajnas, ke ili ĵus rehaŭtigis la paĝon kaj ĝi ne donas pliajn informojn. Mi efektive pli ŝatas la malnovan version por la plurpaŝa eldonsekvenco.

Dum mia kompanio DK New Media konstruas kompleksajn, Ajax-ebligitajn solvojn, kiuj integras plurajn sistemojn kaj asimilas datumajn etendaĵojn kun AMPscript, SSJS, Cloud Pages kaj retpoŝto ... Mi volis dividi simplan ekzemplon pri kiel vi povas komenci simple uzante AMPscript por pridemandi vian Salesforce-instancon kaj tiri reen datumoj. Ĉi-kaze simpla bulea kampo, kiu konservas majstran malabonan flagon. Vi kompreneble povas etendi ĉi tiun kodon por konstrui tutan preferatan paĝon aŭ profilan centron, kiun vi povas uzi.

Generi Nub-Paĝan Ligilon kun Abonaj Datumoj

Se vi vidas viajn Nubo-Paĝajn detalojn, vi povas akiri la unikan paĝan ID por la paĝo, kiun vi povas inkluzivi en viaj retpoŝtoj.

nuba paĝa identigilo

La sintakso estas jena:

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

AMPscript por Salesforce-Datumoj per Nubaj Paĝoj per Datumaj Etendaĵoj

La unua paŝo estas konstrui vian AMPscript por deklari variablojn kaj retrovi la datumojn de Salesforce por uzi en via paĝo. En ĉi tiu ekzemplo, mia Salesforce-bulea kampo, kiu enhavas la veran aŭ falsan, nomiĝas Elektita:

%%[

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

Nun vi povas krei vian HTML kaj formon, kiu prilaboras la peton:

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

Jen ... kunmetu ĉion kaj vi havas preferatan paĝon, kiu estas ĝisdatigita kun via abonanta rekordo kaj trapasas peton ĝisdatigi bulean kampon (vera / malvera) en Salesforce. Nun vi povas krei laŭmendajn demandojn ĉirkaŭ tiu kampo por ĉiam certigi, ke kontaktoj, kiuj estas malakceptitaj, ne sendas retpoŝton!

Kiel Plibonigi Vian Preferan Paĝon aŭ Profilan Centron

Kompreneble, ĉi tio estas nur teaser pri tio, kio eblas kun preferopaĝo. Plibonigoj, pri kiuj vi eble pensas:

  • Popolu la realan tekston de alia datuma etendo por ke via merkatista teamo povu ĝisdatigi la enhavon de la paĝo kiam ajn ili volus sen tuŝi la kodon.
  • Popolu publikigan listan datuman etendon kaj trarigardu la publikaĵojn por oferti elekton aŭ malakcepton de preferoj krom majstra malabono.
  • Enmetu kialan datuman etendon por kapti kial viaj abonantoj majstras malaboni.
  • Popolu aliajn profilajn informojn el la registrado de Salesforce por provizi aldonajn profilajn informojn.
  • Prilaboru la paĝon per Ajax, por ke vi povu senĝene plenigi ĝin.
  • Proponu rimedon por registriĝi, por ke via uzanto povu aliri sian propran profilcentron iam ajn.

Pliaj Rimedoj por AMPscript

Se vi serĉas plian helpon por lerni kaj disfaldi AMPscript, jen kelkaj bonaj rimedoj:

  • Gvidilo de AMPscript – organizita de iuj Salesforce-dungitoj, ĉi tio estas sufiĉe kompleta datumbazo de AMPscript-sintakso, kvankam la ekzemploj estas vere malpezaj. Se ĝi estus pli fortika, ĝi povus valori la investon.
  • Migrovojo AMPscript - Salesforce's Trailhead estas senpaga lerna rimedo kaj povas marŝi vin tra la bazaĵoj de la lingvo per AMPscript, SSJS, kaj kiel ambaŭ povas interrilati.
  • Staka Interŝanĝo por Salesforce - bonega interreta komunumo por peti helpon kun amaso da AMPscript-kodaj specimenoj.

Estas multe da ŝanco integri viajn Cloud-Paĝojn kun Salesforce por doni superan sperton de uzanto. Kaj se via kompanio luktas, vi ĉiam povas kontakti nin por helpi!

kontakton DK New Media

Douglas Karr

Douglas Karr estas CMO de OpenINSIGHTS kaj la fondinto de la Martech Zone. Douglas helpis dekduojn da sukcesaj MarTech-noventreprenoj, helpis en la konvena diligento de pli ol $ 5 miliardoj en Martech-akiroj kaj investoj, kaj daŭre helpas firmaojn en efektivigado kaj aŭtomatigo de siaj vendaj kaj merkatigstrategioj. Douglas estas internacie agnoskita cifereca transformo kaj MarTech-eksperto kaj parolanto. Douglas ankaŭ estas publikigita verkinto de la gvidisto de Dummie kaj komerca gvidadlibro.

rilataj Artikoloj

Reen al la supra butono
Fermi

Adbloko Detektita

Martech Zone kapablas provizi al vi ĉi tiun enhavon senkoste ĉar ni monetigas nian retejon per reklamaj enspezoj, filiaj ligiloj kaj sponsorado. Ni dankus se vi forigus vian reklamblokilon dum vi rigardas nian retejon.