- Consolidate tracking data using SQLThere are many use cases for consolidating and transforming email tracking data in Salesforce Marketing Cloud, and they are usually related to a requirement for sending the tracking data in a given format to external systems, such as databases and data warehouses. We will use Salesforce Marketing Cloud’s Data Views to get all the details …
- Updated Data Views visualizationIt’s been one and a half years since the original article about Data Views has been published and since then, it’s become the most viewed article on sfmarketing.cloud. I’ve received many questions and comments about it over time, and have decided it’s high time to update the Data Views visualization. Here’s what has been revised: …
- Add multiple contacts to a Journey in one batch using REST APIFiring an Entry Event is great for injecting single contacts into a Salesforce Marketing Cloud journey from external systems or websites – but what if you need to inject contacts to a journey in bulk? After reading a recent question on Salesforce Stack exchange, I found myself playing with the unofficial REST endpoint /interaction-experimental/v1/batchcontactevents, which …
Continue reading Add multiple contacts to a Journey in one batch using REST API
- Working with Salesforce Multi-Select Picklists in AMPscriptCustom Multi-Select Picklists in Sales/Service Cloud allow users to select one or more values from a predefined list: When a user picks more than one value, the selected values show in a field separated by a semicolons: The values will be in the same, semicolon-delimited format, if you synchronize the picklist field into Marketing Cloud …
Continue reading Working with Salesforce Multi-Select Picklists in AMPscript
- Troubleshooting Marketing Cloud Connect Business Unit mappingThis quick tutorial will come in hand for anyone who is making changes to their Marketing Cloud Connect and Business Unit setup. Whether you’re trying to remove Business Unit access for an existing Salesforce Marketing Cloud API user or you’re disconnecting your current connection and replacing it with a brand new one, it’s possible that …
Continue reading Troubleshooting Marketing Cloud Connect Business Unit mapping
- Customize your Marketing Cloud account with your company’s brandingMarketing Cloud’s Brand Builder lets you easily change the color scheme of your Marketing Cloud account based on the colors of your company’s logo. The updated color scheme will be visible to both your users and your subscribers. Once you upload a file with the logo (it needs to be a *.JPG or *.GIF and …
Continue reading Customize your Marketing Cloud account with your company’s branding
- Manage Contacts and Leads in Marketing Cloud Journeys directly from your Salesforce orgThis week Salesforce Labs has released a Lightning Component which, no doubt, will make the life easier for anyone working with Journey Builder and Marketing Cloud Connect. If you have multiple Journeys set up in your account with different Salesforce Entry Events, you probably know the pain of finding out which Sales/Service Cloud Contacts and …
- Exception handling in Salesforce Marketing Cloud CloudPagesErrors and exceptions are inevitable, no matter how defensively you code your CloudPage. There is always a possibility of a human error, for example if the person who creates and sends the email doesn’t pass all the parameters to your CloudPage correctly. There are also things that sometimes cannot be prevented, for example Marketing Cloud …
Continue reading Exception handling in Salesforce Marketing Cloud CloudPages
- Inventory of Data Extensions and their data sourcesIt’s very likely that at some point in your career you will inherit or take over a Salesforce Marketing Cloud instance that has been set up and used by someone else in the past. In case it hasn’t been well documented, it can be a struggle to understand all the data related processes and clean …
Continue reading Inventory of Data Extensions and their data sources
- Simple Marketing Cloud App hosted on a CloudPageDISCLAIMER: The Marketing Cloud App component has been designed for use with externally hosted apps. Use any alternative solutions presented in this article with caution. The settings we are going to use are simplified compared to the ones required by externally hosted apps, so make sure that only designated users have access to the apps …
Continue reading Simple Marketing Cloud App hosted on a CloudPage
- Add subscribers to a Journey from a CloudPage using Fire Entry EventFiring an Entry Event is great for injecting contacts into a Salesforce Marketing Cloud journey, especially if you need to be able to inject them from an external system or a website. It’s also useful when you’re creating a custom form on a CloudPage and would like to replicate the behavior of SmartCapture forms, which …
Continue reading Add subscribers to a Journey from a CloudPage using Fire Entry Event
- Salesforce-style spinner for use on CloudPagesSpinners are loading indicators that can be shown when retrieving data or performing other operations. We will use a common spinner that Salesforce Lightening users are familiar with – the full documentation can be found here. This spinner is a Lightning component, which means that it cannot be directly used on a CloudPage. My awesome …
Continue reading Salesforce-style spinner for use on CloudPages
- Two alternative ways of developing and testing CloudPagesAs a Salesforce Marketing Cloud developer, you have certainly been caught up in this loop: Develop the CloudPage > Save and Publish > Wait 2, 3 or even 5 minutes > Check the results. Moreover, if you are not debugging correctly, you can lose a lot of time between looking for the problem and waiting …
Continue reading Two alternative ways of developing and testing CloudPages
- Create a CloudPages form with an image/file upload optionThe HTML <input> tag specifies an input field where the user can enter data. An input field can vary in many ways, depending on the type attribute. The <input> elements with type=”file” let the user choose one or more files from their device storage. The file can then be manipulated using JavaScript in order to …
Continue reading Create a CloudPages form with an image/file upload option
- Exception handling in Salesforce Marketing Cloud emails“Hope for the best and prepare for the worst” should be every marketer’s motto when it comes to creating contextual personalized content. Your company’s reputation could be easily tarnished if you send out buggy emails, that’s why exception handling should be an essential element of your email strategy. In this article, you will learn about …
Continue reading Exception handling in Salesforce Marketing Cloud emails
- Custom profile and subscription center integrated with Sales/Service CloudIn this tutorial, you will learn how to create a simple, yet fully customizable profile and subscription centre integrated with Sales and Service Cloud. Bear in mind, that the script utilizes a couple of standard and custom Sales/Service Cloud fields, which you will need to adjust based on your Salesforce CRM setup – the full …
Continue reading Custom profile and subscription center integrated with Sales/Service Cloud
- Trigger SMS text messages using Server-Side JavaScriptIn order to be able to programmatically trigger text messages, you will need to have MobileConnect enabled in Marketing Cloud’s Mobile Studio. You will also need to be able to create an installed package in your Marketing Cloud account to interact with Salesforce Marketing Cloud APIs. If you have both in place, we can start …
Continue reading Trigger SMS text messages using Server-Side JavaScript
- Subscribe to Automation Studio notifications via SOAP APIIf you have used Automation Studio to build workflows on autopilot, you are certainly aware of the importance of monitoring. Checking manually the execution status of every automation in your account is tedious and exhausting. Sometimes, you need to be notified in real time so you can fix eventual issues. That is why having email …
Continue reading Subscribe to Automation Studio notifications via SOAP API
- Loops in AMPscript and Server-Side JavaScriptIn programming languages, loops are a basic, yet a very powerful and indispensable concept. They shorten the code and reduce the need to repeat tasks. A loop is a set of instructions to be executed until a certain condition is met. In this article, we will focus on the most fundamental kind of loop, the …
Continue reading Loops in AMPscript and Server-Side JavaScript
- Get Journey history by filtering the Definition ID via APIIn today’s article, we will be going through a non-documented way of getting journey’s history through the API. The majority of this information is available on the UI. However, having a second way of getting this data in raw format can be helpful in some use cases. You can use free software like POSTMAN to interact with …
Continue reading Get Journey history by filtering the Definition ID via API
- Introduction to Triggered SendsAfter reading this article you will be able to: Create a triggered email, Create a triggered email interaction, Track and log sent triggered emails, Personalize a triggered email, Trigger an email from Marketing Cloud using various methods, Trigger emails from Sales and Service Cloud. Understand Triggered Sends in Salesforce Marketing Cloud A triggered email is …
- Update multiple non-sendable Data Extensions to be sendableIn order to programmatically update the settings of an existing Data Extension, we will interact with Salesforce Marketing Cloud’s SOAP Web Services API using WSProxy. Code snippets in this article will show you how to update a Data Extension, so that a non-sendable Data Extension is turned into a sendable Data Extension, but you can …
Continue reading Update multiple non-sendable Data Extensions to be sendable
- Retrieve tracking data since account inception using WSProxyWhether you’re building a data warehouse or are dealing with a legal compliance issue, access to historical tracking data from your Salesforce Marketing Cloud account using the out-of-the-box features is limited. Data Views are powerful, but only allow you to query for up to six months of subscriber and tracking information. Tracking extracts provide granular …
Continue reading Retrieve tracking data since account inception using WSProxy
- Retrieve client IP address and geolocation in CloudPagesThere are many reasons for checking the client IP address, most common include tracking and personalization. What can you find out about the visitors of a webpage from their IP address? You can identify their ISP, figure out approximately where they’re located and see how often they (or someone else sharing their router) visit your …
Continue reading Retrieve client IP address and geolocation in CloudPages
- Send a triggered email using WSProxyTriggered sends allow you to automatically send personalized and timely messages to your subscribers. They are sent to an individual subscriber in response to a subscriber action. If you would like to find out more about creating a Triggered Email Message Interaction, check out my other article here. TriggeredSend object The TriggeredSend object represents a …
- Find a Data Extension and it’s folder path using SSJSIf you work with a lot of Data Extensions in multiple folders, you know the pain of using the built-in search feature. It only searches the folder that you’re in, with the exclusion of any sub-folders, which is simply impractical. Below, I would like to show you how to find a Data Extension and it’s …
Continue reading Find a Data Extension and it’s folder path using SSJS
- Troubleshooting Journey Builder Integration with Debug LogsIf you have a Salesforce Data Entry Event set up in Journey Builder that is not injecting records as intended, it is necessary to look into Debug Logs to determine what the cause may be. Here is a step-by-step guide to setting up and initiating Debug Logs for Journey Builder. The whole process takes part …
Continue reading Troubleshooting Journey Builder Integration with Debug Logs
- Unsubscribe and Log an UnsubEvent with a LogUnsubEvent Execute CallThe LogUnsubEvent provides a convenient way of handling unsubscribes when you create your own unsubscribe landing page or profile center functionality. This call allows you to unsubscribe a subscriber and log an UnsubEvent that is tracked against a specific Job, which means that you will be able to track from which email they unsubscribed and …
Continue reading Unsubscribe and Log an UnsubEvent with a LogUnsubEvent Execute Call
- Salesforce Marketing Cloud API Authentication using Server-Side JavaScriptIn order to interact with Salesforce Marketing Cloud APIs you need to create an installed package in your Marketing Cloud account first. Marketing Cloud uses installed packages to help authenticate users and API requests. To create and install packages you must have the Administrator or Marketing Cloud Administrator role assigned to your profile. Marketing Cloud …
Continue reading Salesforce Marketing Cloud API Authentication using Server-Side JavaScript
- Create a Sales Cloud-integrated lead capture form using AMPscriptSmartCapture forms provide a quick, user-friendly way to create simple forms and use them in Salesforce Marketing Cloud journeys, but they are not very versatile and often can create more problems than they actually solve. In this tutorial, you will learn how to create a form using HTML and AMPscript and include functions that will …
Continue reading Create a Sales Cloud-integrated lead capture form using AMPscript
- Send a triggered email using AMPscriptTriggered sends allow you to automatically send personalized and timely messages to your subscribers. They are sent to an individual subscriber in response to a subscriber action. Common use cases include sending welcome emails to new subscribers, service case notifications or post-purchase thank you notes to clients. They can be personalized just as any other …
- Data Views in Salesforce Marketing CloudData Views are a powerful feature of Salesforce Marketing Cloud. They store subscriber information and the last six months of tracking data for your account. While they cannot be accessed or viewed from the UI, they can be used like any other data extension: you can write a query against a data view in Automation …
- Create a SmartCapture form prefilled (prepopulated) with Salesforce dataSmart Capture allows you to easily create forms on your Cloud Pages to collect information about your subscribers and then use that data for future sends and campaigns. While creating a Smart Capture form doesn’t require any coding skills and can be done using only the drag-and-drop editor, adding a simple script to your form …
Continue reading Create a SmartCapture form prefilled (prepopulated) with Salesforce data
- Make a simple API call in Salesforce Marketing Cloud using AMPscriptIn this tutorial, I would like to show you how to make a simple API call using the HTTPGet function. In AMPscript, there are three HTTP functions used to interact with third-party APIs (HTTPGet, HTTPPost, HTTPPostTo). The HTTPGet function retrieves content from a publicly accessible URL. In the ampscript.guide, you can see an example of …
Continue reading Make a simple API call in Salesforce Marketing Cloud using AMPscript
- Debugging AMPscriptDebugging AMPscript in Salesforce Marketing Cloud can be a pain, as there is no built-in feature that would show script errors in CloudPages. The idea to add a debugging feature to CloudPages has been hanging in the Traiblazer Community’s “Ideas” section for two years now and haven’t yet reached the point threshold set by Salesforce …
- Query Studio for Salesforce Marketing CloudThe ability to write and automate SQL queries in Automation Studio is an indispensable feature when it comes to working with data in Salesforce Marketing Cloud. The current SQL query editor in Automation Studio is very rudimentary and makes it almost impossible to debug SQL queries. It can be very time consuming and frustrating to …
Continue reading Query Studio for Salesforce Marketing Cloud
- Testing email load (download) speedThe size of an HTML email can impact both deliverability and subscriber engagement. An email that requires long time to load can lead to lost interest, that’s why it’s important to optimize your emails for better performance. Acceptable email download speeds according to Email on Acid are: 3G connection: Less than 4 seconds 4G connection: …
- Troubleshooting Marketing Cloud ConnectMarketing Cloud Connect integrates your Salesforce Marketing Cloud instance with Salesforce Sales, Service, and Community Clouds. It’s an easy-to-configure set of functionality that can bring great benefits to your organization. There is an official Marketing Cloud Connect troubleshooting guide available, but I’ve decided to share a few tips and tricks that usually solve most common …
- Preparing for the Salesforce Marketing Cloud Developer certificationLast week I passed the Salesforce Marketing Cloud Developer exam. Afterwards, I received a lot of questions about preparing for it and the test itself. That’s why I’ve decided to share how I prepared, what helped me pass it on the first attempt and hopefully will help you too. Resources First, familiarize yourself with the …
Continue reading Preparing for the Salesforce Marketing Cloud Developer certification