Complete Developer Introduction to Salesforce Marketing Cloud

In this guide, I will summarize (in some detail) the high-level features that are available to you as a seasoned developer on the Salesforce Marketing Cloud platform. I will review basics of the platform, some advanced platform features, platform-specific programming languages, integration support, API support, platform SDKs, and I’ll also discuss next steps you may wish to take in terms of Salesforce certifications. The Salesforce Marketing Cloud platform is an Enterprise grade solution and well suited for much more than basic email subscriptions. After reading this guide you’ll have a good understanding of what is possible on the solution and how you can launch, iterate, and transform your Marketing efforts at your business and what is expected from your dev team to support those efforts.

On June 4th, 2013, Salesforce signed a definitive agreement to acquire the company ExactTarget. With this acquisition, Salesforce also acquired the Pardot brand. If you are a current Marketing Cloud user, you may even have noticed some of the URLs still use the exacttarget.com domain. It’s important to understand some of the key differences between Marketing Cloud and Pardot. They both fall under the larger Marketing Cloud umbrella, but the ExactTarget solution is more suited to transaction B2C marketing (think tickets, hotel reservations, Ecommerce) and the Pardot solution is more suited to B2B marketing (think sales alignment, lead management, automated nurture campaigns). These are not exclusive requirements, but they are generally true use case scenarios.

This guide will focus primarily on the Salesforce Marketing Cloud (ExactTarget) product and the features around it. Pardot is also an excellent product, and could even be used to Marketing teams who are still less mature in terms of marketing automation capabilities and looking to dip their toes into a simpler product to get started before migrating to Marketing Cloud.

Platform Basics

A quick summary of the key capabilities of the Marketing Cloud platform are multi-channel marketing (email, mobile, social, advertising, interactions), campaign and journey lifecycle management, and contact management that encompasses a full picture of your customer across all the various marketing touchpoints that your business engages on (including those outside of the digital space, like ATM machines, kiosks, in-store purchases, etc).

Marketing Cloud maintains several ‘Studio’ products: Email Studio, Audience Studio, Mobile Studio, Social Studio, Advertising Studio, and Interaction Studio. Each product has it’s own user interface that is specific to that marketing channel, but all solutions are connected to each other. Licensing is unique and based on several scenarios around # of contacts, # of business units (unique subdivisions of your business), license tier, features, and so on and licensing is beyond the scope of this article and I’d advise you to work with your Salesforce rep to help you price out a solution based on your business needs.

In this article, I’m going to focus on a number of the features specific to Marketing Cloud in general, and also to Email Studio specifically since that is the most common use case. Marketing Cloud will manage all of your contacts, your data related to those contacts for manual & intelligent segmentation, and also track the engagement of your marketing contacts across all of those various channels. Think of Marketing Cloud as your hub for all of your marketing efforts across every single channel and sharing and managing that data across every touchpoint.

Advanced Platform Features

Once you move beyond contact, campaign, and data management features of Marketing Cloud that encompass all of the core behaviors you would expect in a digital marketing solution, you will find there are some additional capabilities that separate Marketing Cloud from the competition. As a comparison, there are many great CRM solutions for just basic contact, account, and lead management and Sales Cloud can cover those cases as well, however, if this is the extent of your needs then it may not be the most economical solution for you.

Enhanced Marketing Cloud features include support for on platform programming languages (more below), enterprise grade API support (more below), advanced automations (including SQL queries, automated file imports/exports), complex journeys (A/B testing, personalization), data extensions (basically table data), AI/ML based sends with Einstein, and more.

The final advanced feature to really focus in on, is the idea that Marketing Cloud has you covered for all of your marketing channels. You won’t need Hootsuite for social, PowerBI for reporting, Twilio for mobile messaging, and others connected to your CRM all with an iPaaS solution like Jitterbit to connect all of those disparate business systems together. You may find yourself in this solution outside of Salesforce Marketing Cloud because while other CRMs may offer channel management for these others touchpoints, they do not offer the same competitive features and performance that is offered by Salesforce.

Platform Programming Languages

A key feature of the Salesforce platform, is the ability to personalize email, sms mesages, and push notifications with dynamically information that is rendered at the point the message is sent. There are actually three distinct languages that can be used on Marketing Cloud.

  • Server Side Javascript (SSJS): This is the legacy programming syntax used by Marketing Cloud that executes the code on the server when the messages are sent. The SSJS syntax is more familiar to traditional Javascript you may already be used to, and has better features for error handling.
  • AMPScript: This language is the most commonly used language on Marketing Cloud today and may remind you of ASP/PHP code that is mixed with markup. AMPScript can change messages dynamically for the subscriber it is being sent to, it can pull in data extension data (like Ecommerce order details, or suggested items), it can make HTTP call outs, and do a bunch of other dynamic processing for message sends.
  • Guided Template Language (GTL): Based on the Handlerbars templating language, GTL is useful for simpler scenarios. As a developer, I would concentrate your efforts on AMPScript, but there are use cases for GTL as well. This is the newest offering from Salesforce for messaging personalization.

One additional programming language to mention, but not specifically used to tailor messages is the SQL syntax. Marketing Cloud encourages the use of SQL queries for reporting, and for creating new filtered subsets of existing data extensions (tables of data) based on specific criteria. This can be useful for you to segment your marketing efforts around more complex criteria.

Integrations

Once you’ve acclimated yourself to Marketing Cloud and all that it has to offer in terms of the on-platform behavior, you may also wish to understand how to connect Marketing Cloud to your outside business systems like your CMS/CRM/ERP/CDP/DAM or other 3 letter business system acronym (technology is full of these isn’t it?). Thankfully, Marketing Cloud has two robust API solutions to cover the majority of scenarios with their SOAP and REST API.

The SOAP based API will enable you to perform core marketing behaviors around subscriber management, email sends (both batch and transactional/triggered), track your engagements, and also manage your automations. If there are core behaviors to consider around email marketing, the SOAP API may be the solution you’re looking for.

For all other scenarios, the REST API will cover your needs for managing content (templates, images, reusable blocks), event notifications (password resets, order confirmations), Journey builder management (enrolling users), GroupConnect chat (i.e. Facebook messenger), MobileConnect (i.e. sending SMS), Personalization builder (Einstein based recommendations), and transactional/triggered sends.

As you can see, most of the operations that can be performed by Marketing Cloud on the platform, can also be performed via the SOAP or REST api connectivity. Even the more complex business cases can be handled through integration. This is particularly useful if you, for example, wanted to connect your Markteing Cloud solution to your Ecommerce website and enroll new users in a journey when completing a purchase, send them transactional messages like in-stock notifications, send them SMS messages for their shipping alerts, keep in touch with them via Facebook for support on their orders, and more.

To simplify some of the API connectivity, there are also Platform SDKs for all of the major programming languages (.NET, PHP, Ruby, Node, Java) that will allow you to plugin to the connectivity without having to know specific API surfaces and handle the authentication, security, and batching that goes along with the integration and works in a specific language you are already familiar with.

Thankfully, if you are looking to connect your Marketing Cloud instance to other software solutions such as Sales Cloud, you will benefit from Marketing Cloud Connect. The Marketing Cloud Connect solution will bridge your standard and custom objects and syndicate that data over to Marketing Cloud as data extensions. It can also plug in to your journey builder schema to create tasks, leads, update contacts, etc based on the steps the user is currently engaged in during your defined journey. It really allows for a cohesive solution between Sales and Market Clouds.

Additionally, there are third party solutions that can plug into Marketing Cloud for specific requirements. Examples of this may be FormAssembly for any forms you want to collect information from, Clutch Loyalty for any loyalty program management, and CMS connectors like those from Sitecore for sharing data/information between your CMS and your Marketing Cloud instance.

Lastly, as you grow your business you may consider the benefit of an iPaaS solution like Jitterbit or Mulesoft, which act as an integration hub for all of your business systems, allowing you as the CIO/CTO to easily swap in and out business software without having downstream effects on all of the other business systems in your software ecosystem.

Certifications

Now that you are familiar with a detailed overview of the Salesforce Marketing Cloud solution as a whole, you may be curious on how to continue to iterate on your newfound knowledge. One way to continue to skill up on the solution is to work towards one of the various certifications that exist for the platform.

  • Marketing Cloud Email Specialist: The email specialist exam is a general purpose exam that covers the core components of the Marketing Cloud system. It is also a pre-requisitive for the Developer and Consultant exams.
  • Marketing Cloud Administrator: The administrator exam is useful for anyone who plans to be the individual responsible for the maintenance and general system level configuration of the Marketing Cloud solution and is similar in nature to the Administrator exam offered by the Salesforce Platform. There is no prerequisite needed for this exam.
  • Marketing Cloud Developer: If you see yourself in a developer role, writing AMPScript, connecting to the APIs, authenticating the system to external systems, configuring the data model (basically everything we covered in this post), then the developer exam would be a good one for you to pursue. You will also need to complete the email specialist exam as a prerequisite.
  • Marketing Cloud Consultant: If you see yourself in a customer facing role, assisting your client (or business as a representative) make decisions on how to utilize the Marketing Cloud system, how to speak the language the developers need for their requirements, and have a detailed understanding of the features available, then the consulting exam would be a good fit for you. You will also need to complete the email specialist exam as a prerequisite.

Additional Resources

There are a number of resources available for anyone who is looking to gain more information and continue their path forward learning more about Salesforce Marketing Cloud. I will provide a short bulleted list here, but there are many more linked from these resources worth considering as well.

Summary

In closing, if you’ve made it this far, you should have a relatively detailed understanding of the high-level components of Salesforce Marketing Cloud and how you would fit into that role working on the platform as a developer/architect. There is an exceptional amount of power and tooling to support the modern marketer on this solution, and a lot of room for a developer to assist in connecting those systems together and support the marketing team in their efforts. I hope this post gave you some inspiration and ideas on future steps to pursue as you grow your understanding of what the solution can do. Cheers.

 

Kyle Ballard