Centro de preferencia de Salesforce Marketing Cloud: exemplo de AMPScript e Cloud Page

Código de páxina de preferencia na nube de mercadotecnia integrada por AMPscript Salesforce

Historia verdadeira ... a miña carreira despegou hai máis dunha década cando comecei como consultor de integración de ExactTarget (agora Salesforce Marketing Cloud). O meu traballo levoume a todo o mundo axudando ás empresas a desenvolver profundas integracións coa plataforma e acumulei tanto coñecemento institucional da plataforma que fun ascendido a Xerente de produto.

Os retos do xestor de produto para unha organización que antes era propiedade do desenvolvedor acabaron por levarme a seguir adiante. Foi unha gran organización, pero nunca o fixen realmente propiedade o produto. Entón, mentres os meus compañeiros de soporte, vendas e mercadotecnia de produtos mirábanme para facer un cambio real ... a realidade era que o equipo de desenvolvemento a miúdo implementaba unha solución diferente e descubriría días antes do lanzamento.

Un dos meus últimos proxectos foi traballar nunha plataforma de script interna que permitiría aos nosos clientes engadir script aos seus correos electrónicos. Traballei con outro xestor de produtos e fixemos unha chea de investigacións ... finalmente decidimos desenvolver un enfoque ao estilo JQuery coas nosas propias funcións, pero incluíndo a capacidade de pasar e consumir matrices, usar JSON, etc. Iba a ser bastante solución ... ata chegar ao desenvolvemento. A principios do ciclo de produtos, a miña biblioteca foi desfeita e un desenvolvedor senior substituíuna por AMPscript.

Anos despois, o Socio de Salesforce A empresa na que son socio está a facer integracións empresariais complexas e atópome diariamente en AMPscript, mellorando a lóxica do contido do correo electrónico ou despregando Cloud Pages. Por suposto, a frustración de traballar día a día con AMPscript asegúrame que a decisión incorrecta se tomou naqueles días ... a miña solución sería moito máis elegante. Sinto que volvín a programar un TRS-80 en BASIC.

O editor que utilizas para Cloud Pages non perdoa. Non detecta problemas sinxelos como declarar variables ou erros de sintaxe co seu código. De feito, realmente podes publicar unha páxina que simplemente xerará un erro de 500 servidores. Tamén hai dous campos de nomes para as túas páxinas ... non me preguntes por que.

Pro-información: Se unha Cloud Pages nunca devolve datos de mostra cando está a piques de publicalo e parece que se está procesando para sempre ... vas a producir un erro. Se publicas de calquera xeito, probablemente terás que eliminar a páxina Cloud e comezar de novo. A miña suposición é que a infraestrutura sobre a que está construída non é o suficientemente intelixente como para identificar un cambio de código e segue procesando o código caché.

Ademais diso, estarás encantado de saber que moitos exemplos de código documentados teñen os seus propios erros de sintaxe. ¡Si! É unha experiencia horrible ... pero aínda podes e debes usalo porque proporciona unha flexibilidade incrible.

Nota lateral: Hai unha nova páxina Cloud Experiencia... onde parece que acaban de volver pelar a páxina e non proporciona ningunha información adicional. En realidade gústame mellor a versión antiga para a secuencia de publicación en varios pasos.

Mentres a miña compañía Highbridge crea solucións complexas habilitadas para Ajax que integran varios sistemas e incorporan extensións de datos con AMPscript, SSJS, Cloud Pages e correo electrónico ... Quería compartir un exemplo sinxelo de como pode comezar simplemente usando AMPscript para consultar a súa instancia de Salesforce e extraer devolver datos. Neste caso, un sinxelo campo booleano que conserva un indicador principal de baixa de subscrición. Pode, por suposto, ampliar este código para crear unha páxina de preferencias ou un centro de perfís completo que poida usar.

Xera unha ligazón de páxina na nube con datos de subscritores

Se ves os detalles da túa páxina Cloud, podes adquirir o ID de páxina exclusivo da páxina que podes incluír nos teus correos electrónicos.

ID de páxina na nube

A sintaxe é a seguinte:

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

AMPscript para datos de Salesforce a través de Cloud Pages a través de extensións de datos

O primeiro paso é construír o seu AMPscript para declarar variables e recuperar os datos de Salesforce para usar na súa páxina. Neste exemplo chámase o meu campo booleano de Salesforce que contén o verdadeiro ou falso 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
 
]%%

Agora podes crear o teu HTML e formulario que procesa a solicitude:

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

Xa está ... xunta todo e tes unha páxina de preferencias que se actualiza co rexistro de subscritor e pasa unha solicitude para actualizar un campo booleano (verdadeiro / falso) en Salesforce. Agora podes crear consultas personalizadas arredor dese campo para asegurarte sempre de que non se envían correos electrónicos aos contactos desactivados.

Como mellorar a páxina de preferencias ou o centro de perfís

Por suposto, isto é só un teaser do que é posible cunha páxina de preferencias. Melloras que pode querer pensar:

  • Pobo o texto real doutra extensión de datos para que o seu equipo de mercadotecnia poida actualizar o contido da páxina cando queira sen tocar o código.
  • Poboar unha extensión de datos da lista de publicacións e facer un bucle a través das publicacións para ofrecer preferencias de activación ou desactivación ademais dunha cancelación principal.
  • Explique unha razón de extensión de datos para captar por que os seus subscritores cancelan a subscrición.
  • Compila outra información do perfil do rexistro de Salesforce para proporcionar información adicional sobre o perfil.
  • Procesa a páxina con Ajax para que a poidas cubrir sen problemas.
  • Ofrece un medio de rexistro para que o teu usuario poida acceder ao seu centro de perfil persoal en calquera momento.

Recursos adicionais para AMPscript

Se estás a buscar axuda adicional para aprender e despregar AMPscript, aquí tes algúns recursos fantásticos:

  • AMPscript Guide - organizado por algúns empregados de Salesforce, trátase dunha base de datos bastante completa de sintaxe AMPscript, aínda que os exemplos son realmente lixeiros. Se fose máis robusto, pode valer a pena o investimento.
  • Trailhead AMPscript - Salesforce's Trailhead é un recurso de aprendizaxe gratuíto e pode guiarte polos conceptos básicos do idioma con AMPscript, SSJS e como poden interactuar os dous.
  • Stack Exchange para Salesforce - unha excelente comunidade en liña para solicitar axuda cunha chea de mostras de código AMPscript.

Hai moitas oportunidades para integrar as túas páxinas en nube con Salesforce para ofrecer unha experiencia de usuario superior. E se a túa empresa está loitando, sempre podes contactar connosco para axudarche.

contacto Highbridge

¿Que pensas?

Este sitio usa Akismet para reducir o spam. Aprende a procesar os teus datos de comentarios.