Salesforce Marketing Cloud Preference Center: AMPScript i exemple de Cloud Page

Codi de pàgina de preferència de Cloud Marketing Integrated AMPscript Salesforce

Història veritable ... la meva carrera va començar realment fa més d'una dècada quan vaig començar a treballar com a consultor d'integració d'ExactTarget (ara Salesforce Marketing Cloud). La meva feina em va portar a tot el món a ajudar les empreses a desenvolupar profundes integracions amb la plataforma i vaig construir tant coneixement institucional de la plataforma que em van ascendir a director de producte.

Els reptes del gestor de productes per a una organització que anteriorment era propietat del desenvolupador em van portar a seguir endavant. Va ser una gran organització, però mai realment propietat el producte. Per tant, mentre els meus companys d’assistència, vendes i màrqueting de productes em semblaven fer un canvi real ... la realitat era que l’equip de desenvolupament sovint implementava una solució diferent i ho sabria dies abans de la publicació.

Un dels meus darrers projectes va ser treballar en una plataforma de scripting interna que permetés als nostres clients afegir script als seus correus electrònics. Vaig treballar amb un altre director de producte i vam fer un munt d’investigacions ... finalment vam decidir desenvolupar un enfocament d’estil JQuery amb les nostres pròpies funcions, però inclosa la capacitat de passar i consumir matrius, utilitzar JSON, etc. solució ... fins que arribi al desenvolupament. Al començament del cicle de productes, la meva biblioteca es va desfer i un desenvolupador principal la va substituir per AMPscript.

Anys més tard, el Soci de Salesforce L’empresa en la qual sóc soci ara fa integracions empresarials complexes i em trobo immersa en AMPscript diàriament, ja sigui millorant la lògica de contingut de correu electrònic o desplegant Cloud Pages. Per descomptat, la frustració de treballar dia a dia amb AMPscript em garanteix que la decisió equivocada es va prendre en aquells dies ... la meva solució hauria estat molt més elegant. Em sembla que he tornat a programar un TRS-80 en BASIC.

L’editor que utilitzeu per a Cloud Pages no perdona. No detecta problemes senzills com declarar variables o errors de sintaxi amb el vostre codi. De fet, podeu publicar una pàgina que simplement generi un error de 500 servidors. També hi ha dos camps de noms per a les vostres pàgines ... no em pregunteu per què.

Pro-tip: Si un Cloud Pages mai no retorna dades de mostra quan esteu a punt de publicar-lo i sembla que s'està processant per sempre ... llançareu un error. Si publiqueu de totes maneres, probablement haureu de suprimir la pàgina Cloud i començar de nou. Suposo que la infraestructura sobre la qual està construïda no és prou intel·ligent per identificar un canvi de codi i només continua processant el codi emmagatzemat.

A part d'això, us complau saber que molts dels exemples de codi documentats tenen els seus propis errors de sintaxi. Visca! És una experiència horrible ... però encara podeu i heu d’utilitzar-la perquè proporciona una flexibilitat sorprenent.

Nota lateral: Hi ha una nova pàgina Cloud Experiència... on sembla que acaben de revisar la pàgina i no proporciona cap informació addicional. De fet, m’agrada més la versió antiga per a la seqüència de publicació de diversos passos.

Mentre la meva empresa Highbridge crea solucions complexes habilitades per Ajax que integren múltiples sistemes i incorporen extensions de dades amb AMPscript, SSJS, Cloud Pages i correu electrònic ... Volia compartir un exemple senzill de com podeu començar simplement utilitzant AMPscript per consultar la vostra instància de Salesforce i tornar dades. En aquest cas, un simple camp booleà que conserva un senyalador de cancel·lació de la subscripció principal. Per descomptat, podeu ampliar aquest codi per crear tota una pàgina de preferències o un centre de perfils que pugueu utilitzar.

Genereu un enllaç de pàgina al núvol amb dades de subscriptors

Si visualitzeu els detalls de la vostra pàgina Cloud, podeu adquirir l’identificador de pàgina exclusiu de la pàgina que podeu incloure als vostres correus electrònics.

identificador de pàgina al núvol

La sintaxi és la següent:

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

AMPscript per a dades de Salesforce mitjançant Cloud Pages mitjançant extensions de dades

El primer pas és crear el vostre AMPscript per declarar variables i recuperar les dades de Salesforce per utilitzar-les a la vostra pàgina. En aquest exemple, es diu el meu camp booleà de Salesforce que conté el valor vertader o fals Optat per sortir:

%%[

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

Ara podeu crear el vostre codi HTML i el formulari que processa la sol·licitud:

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

Ja està ... ajunteu-ho tot i teniu una pàgina de preferències que s'actualitza amb el registre de subscriptor i que transmet una sol·licitud per actualitzar un camp booleà (vertader / fals) a Salesforce. Ara podeu crear consultes personalitzades al voltant d’aquest camp per assegurar-vos que sempre no s’envien correus electrònics als contactes desactivats.

Com millorar la vostra pàgina de preferències o el vostre centre de perfils

Per descomptat, això és només un avís del que és possible amb una pàgina de preferències. Millores que potser voldríeu pensar:

  • Poseu el text real d'una altra extensió de dades perquè el vostre equip de màrqueting pugui actualitzar el contingut de la pàgina sempre que vulgui sense tocar el codi.
  • Empleneu una extensió de dades de la llista de publicacions i passeu per les publicacions per oferir preferències de participació o desactivació, a més d’una cancel·lació principal.
  • Introduïu una extensió de dades motiva per comprovar per què els vostres subscriptors cancel·len la subscripció principal.
  • Empleneu altra informació del perfil del registre de Salesforce per proporcionar informació addicional del perfil.
  • Processar la pàgina amb Ajax perquè pugui omplir-la sense problemes.
  • Oferiu un mitjà de registre perquè el vostre usuari pugui accedir al seu centre de perfils personals en qualsevol moment.

Recursos addicionals per AMPscript

Si voleu obtenir ajuda addicional per aprendre i desplegar AMPscript, aquí teniu alguns recursos fantàstics:

  • AMPscript GuidOrganitzada per alguns empleats de Salesforce, es tracta d’una base de dades bastant completa de sintaxi AMPscript, tot i que els exemples són realment escassos. Si fos més robust, pot valer la pena la inversió.
  • Trailhead AMPscript - Salesforce's Trailhead és un recurs d'aprenentatge gratuït i us pot guiar pels conceptes bàsics de l'idioma amb AMPscript, SSJS i com poden interactuar els dos.
  • Stack Exchange per a Salesforce - una gran comunitat en línia per sol·licitar ajuda amb un munt de mostres de codi AMPscript.

Hi ha moltes oportunitats per integrar les vostres pàgines del núvol amb Salesforce per proporcionar una experiència d’usuari superior. I si la vostra empresa té problemes, sempre podeu posar-vos en contacte amb nosaltres per ajudar-vos.

Contacte Highbridge

Què et sembla?

Aquest lloc utilitza Akismet per reduir el correu no desitjat. Esbrineu com es processa el vostre comentari.