Category: AMPscript en Español

Porque casi todo el contenido sobre AMPscript y cosas está en inglés y a veces hace falta un poco de español 🙂

  • Enviar un formulario desde WordPress a Marketing cloud.

    Enviar un formulario desde WordPress a Marketing cloud.

    Los formularios de registro son una de las cosas principales que hacemos en cloudpages de SFMC, si no es que incluso la única cosa que realmente tiene sentido hacer en una cloudpage.

    Uno de los problemas recurrentes es que estos formularios se encuentran en otro dominio (cloud.subdominio.dominio.com) y que no hay una forma de integrarlos, digamos en WordPress.

    Así pues y considerando que en realidad cuando procesamos un formulario con ampscript ese formulario se queda abierto y siempre que pases los parámetros correctos me puse a hacer un formulario (que de hecho tienes aquí a la derecha) que toma los datos de este form, hace una validación de que el email sea único y luego lo envía a una data extension.

    Parece magia?

    Bueno, no lo es.

    ¿Por qué hice esto en lugar del clásico cargar el formulario en un iframe?

    Supermessages. Todo es por supermessages.

    Cada que alguien carga una cloudpage publicada nos cuesta un super message y gastar un supermessage siempre que se carga la página aunque no deje sus datos no es muy eficiente.

    Con este método solo cargaremos la cloudpage y por lo tanto consumiremos un supermessage cuando si se dejaron los datos 😃.

    Aquí les dejo el repo.

    https://github.com/jcgalindof/salesforcecancun-sfmc-form-process.git

  • Error Handling en Cloudpages con AMPscript y SSJS

    Error Handling en Cloudpages con AMPscript y SSJS

    Todos lo hemos visto: todo bien en tu formulario, todo bien en tu AMPscript y cuando lo ejecutas: pum. Error 500. Y lo peor es que SFMC es menos comunicativo que tu ex cuando decía “no tengo nada”. Solo te dice Error 500… y ya está. Adivina qué está mal.

    Así que, llegué a la siguiente solución. Obligar a AMPscript a que me diga que es lo que está mal… usando de intermediario a su amiga menos tóxica: Server Side JavaScript. O SSJS pa los cuates.

    Total que si tienes un bloque de AMPscript que te está dando problemas y quieres troubleshootear, puedes hacer lo siguiente: ponerlo entre dos bloques de SSJS. Algo así

    <script runat="server">
    Platform.Load("Core","1.1.1");
    try{
    </script>
    %%[
    Inserta tu AMPscript Aquí
    ]%%
    <script runat="server">
    }catch (e) {
    Write("<b>Error:</b> " + Stringify(e.message) + "<br><br><b>Descripción:</b> " + Stringify(e.description));
    }
    </script>

    Y voilá! al correr el código nos va a devolver el error y la descripción del error para que podamos debuguear.

    Oye kryz, pero qué pasa si ya está en producción y los usuarios se están quejando de que tiene errores pero no puedo replicarlos?

    Pues he llegado a una solución también para eso. Puedes loggear los errores en una Data Extension.

    Agrega lo siguiente al segundo bloque de SSJS

    <script runat="server">
    }catch (e) {
    Write("<b>Error:</b> " + Stringify(e.message) + "<br><br><b>Descripción:</b> " + Stringify(e.description));
    Platform.Function.InsertData("errorLogDE", 
    ["Error_Message","Error_Description"],
    [e.message,e.description]);
    }
    </script>

    Ya a partir de aquí te puedes poner más creativo y agregarle campos a tu Data Extension de errorLog, por ejemplo:

    %%[
    SET @PAGEURL = RequestParameter('PageUrl')
    <script runat="server">
    Platform.Load("Core","1.1.1");
    try{
    </script>
    %%[
    Inserta tu AMPscript Aquí
    ]%%
    <script>
    var pageUrl = Variable.GetValue("@PAGEURL");
    var userAgent = Platform.Request.UserAgent;
    Platform.Function.InsertData("errorLogDE", 
    ["Error_Page", "User_Agent, "Error_Message","Error_Description", "Error_Date"],
    [pageUrl, userAgent, e.message, e.description, Now()]);
    }
    </script>

    Y agregando este código a tus CloudPages y teniendo una sola Data Extension puedes mantener el log de tus errores, saber de qué página se generaron, cual era el userAgent y así poder troubleshootear o tratar de replicar los errores.

    No olvides configurar el Retention Policy de tu errorLogDE para que no te quedes con los errores hasta la eternidad consumiendo tu espacio de almacenamiento de Data Extensions.

    Happy coding.

  • Trabajando AMPscript en Visual Studio Code

    Trabajando AMPscript en Visual Studio Code

    Trabajar con Marketing Cloud significa que tarde o temprano terminarás utilizando AMPscript. 

    ¿Qué es AMPscript?

    AMPscript es un lenguaje de scripting en Salesforce Marketing Cloud. Se utiliza en landing pages, SMSs, emails de texto y emails en HTML.

    Puede utilizarse para interactuar con las data extensions de tu instancia de Marketing Cloud e incluso para enviar notificaciones push desde MobilePush.

    Y sí: siendo un lenguaje significa que hay que programar un poquitín. 

    Esto es un reto para las personas que – como yo – no somos programadores… somos nogramadores. 

    De cualquier manera: te aseguro que adquirir habilidades de scripting, especialmente de AMPscript hará tu trabajo en Marketing Cloud más fluido. 

    AMPscript es una habilidad que definitivamente quieres desarrollar si quieres perseguir una carrera como Salesforce Marketer. 

    Mi reto personal con AMPscript

    El entorno en el que vas a editar AMPscript generalmente es el editor embebido en el navegador de tu instancia de SFMC. Si quieres hacer, digamos, una Landing Page, tendrás que ir a Web Studio -> CloudPages. Crear una Collection y una Landing Page y empezar a trabajar desde ahí. 

    Ahora bien, cuando editas una Cloudpage, te das cuenta que el código HTML (y todo lo que incluye como scripts, css, etcétera) aparecen resaltados con colores lo que facilita la navegación en el código…

    ¿Y el AMPscript?

    Ah no, ese no. 

    ¿Por qué? La verdad no lo sabemos. Pero no importa. Si te interesa tener AMPscript resaltado solo necesitas Visual Studio Code y unos plugins.

    Resaltando AMPscript en Visual Studio Code.

    Hace ya unos años que Visual Studio Code es mi editor de código preferido. Tiene muchas opciones de personalización, plugins de comunidad y la opción de sincronizar todos los plugins a través de tu cuenta de Microsoft es una maravilla. Así que si trabajas en tu desktop y tu laptop siempre vas a tener disponibles las mismas herramientas y plugins. 

    Dentro de estas herramientas y plugins hay 3 que son de mucha utilidad para nosotros que usamos AMPscript.

    1. ampscript-language

    Este plugin nos permite resaltar la sintaxis de AMPscript en visual studio code y con esto facilitar la navegación entre nuestro código.

    2. AMPscript code snippet

    Agrega la función de auto completar y sugerencias de código en AMPscript que harán mas ágil el proceso.

    3. MCFS [AMPScript]

    Este plugin requiere que creemos una aplicación en nuestra cuenta de MC y nos permite conectarnos directamente con MC para trabajar en nuestras cloud pages y emails de forma local. 

    En el próximo artículo exploraremos la configuración de MCFS [AMPScript] para poder conectarnos a nuestra instancia de MC y realizar las modificaciones a las Cloudpages directamente desde Visual Studio Code.