All posts

Marketing Automation - Salesforce Marketing Cloud

 — #marketing

Salesforce Marketing Cloud is used for delivering personalized journeys to your target audiences across the right digital channels.

Marketing Cloud provides advantage of integrated solutions like Customer Journey Management, Email Studio, Mobile Studio, Social Studio, web personalization, advertising, content management and creation, and data analysis.

All of these integrations work together to helped us achieve our primary objectives, build new goals, and give a clear visualization into your customer’s journey through marketing goggles.

Problem

  • Our organisation has been using external vendors to deliver email marketing campaigns and data analytics which sometimes may impact the budget and timelines.
  • Build target audience.
  • How to distinguish the use cases for use of the platform?

Solution

Salesforce CRM

Our company has implemented Salesforce as a strategic CRM. Integrating Marketing Cloud with the data within CRM would save a lot of time and effort as we continue to build new products.

Targeted customer journey

Every customer interaction is personalised with Marketing Cloud, which helps move customers through their own unique journeys.

We used Salesforce data to personalize touchpoints and impressions from the get-go, and keep enhancing them as we go forward.

Personalisation

Marketing Cloud helped us send targeted CTAs unique to every customer, based on their profile attributes, behaviors, and interests.

Data analytics

Marketing Cloud's reporting helped us to understand opens, clicks, unsubscribes, and more for each of our campaigns. It also provided us with powerful custom reporting to understand advanced metrics such as audience engagement over time, best-performing send day, and more.

Too many notifications platforms again?

We discussed about having a centralised notifications platform. So why do we need another platform to send comms to customers?

Both the platforms deliver comms as per their strategic alignment.

Transactional communications to be delivered through the company's custom build notifications platform. These communications are either customer initiated or are important communications that are really important for customers.

Marketing campaigns to be delivered through Marketing Cloud for the benefits for customer journey builder and it's tight integration with the customer data and personalisation.

Design templates

It is exactly what they sound like — fully mocked-up components or designs in Photoshop or Sketch, with replaceable areas for content.

We were set out to solve a challenge of email design which felt like they were coming from different brands, not a unified voice that represented our company.

As we were building the templates, I wanted to keep the design simple and effective (to the point) so we could build deliver more with less effort for our customers. After all, we were a very small team, and we didn’t always have the bandwidth to create new design assets frequently.

The code repo

A simple email workflow. It is the HTML and CSS that brings these designs to life. Every element that you include in your design templates should have corresponding HTML/CSS living within the code repo. When those design templates get updated, the code repo should as well.

We built an email workflow that manages

  • inlining of css (to make sure we an still support email and stubborn email clients)
  • code for reusable template/layout design assets
  • git version control
  • preview email before moving it to preferred email automation tool

Getting Started

1. Dependencies
2. Clone this repository
git clone https://github.com/shivdatt/simple-email-workflow.git
cd email-workflow
3. Install packages (Skip this step for now)
npm install

It will download all the dependencies and create node_modules folder.

4. Start build
npm start

The compiled and inlined output email will be in the dist/ directory and can be previewed in browser at http://localhost:8000

How to use

Creating templates

Reusable templates are stored in src/templates and layouts (combination of templates that builds an email) in src/layouts. To include a template in layout, use the following syntax -

{% include "templates/header.html" %}

To define a block of dynamic content to be replaced by the email file, use the following syntax -

{% block CUSTOM_BLOCK_NAME %}{% endblock %}
Creating emails from templates

To create an email based off a template file, create a new file in the src/emails/ directory (also with the .html file extension).

Specify which layout to use using the following syntax -

{% extends "default-layout.html" %}

To define the contents of a dynamic content block, use the following syntax -

{% block CUSTOM_BLOCK_NAME %}
Content goes here
{% endblock %}
CSS

SASS files are stored in the src/sass/ directory. You can create subdirectories within the SASS folder to hold any partials. Make sure to precede the name of a partial with an underscore, e.g. _typography_.scss.

Local build to preferred email platform

Development

while building the template go to email-template dir and run npm start dev

Build templates

once build is completed, run npm start

  • go to localhost:8000
  • open the email you just built
Copy the source

Copy the required source from your local build

  • meta
  • styles
  • email body
Dynamic sections of the templates

Assets:

  • add assets to src/assets folder and add link to the template (if you do not want to upload the images to the preferred CMS just yet)

Layouts

  • This controls the layout of the email template

Templates:

  • Create/modify the segments of the templates
  • eg header, footer, sub-footer