50 Favorite Marketing Cloud Tips

To celebrate our 50th blog post on HandsonSFMC here’s part One of our 50 Marketing Cloud tips. We tried to cover overall tips and then focus on key areas of the platform. Please provide feedback or comments as we’d love to hear your tips as well.

1.) Never stop learning
Marketing Automation and the Marketing Cloud platform has endless opportunities to learn no matter what stage you are in your career and experience level. Never stop learning and challenging yourself to learn more even when there are obstacles, like not having access to an SFMC environment. There’s always ways like using cool tools like MC Snippets: https://mcsnippets.herokuapp.com/ to get familiar with Marketing Cloud or building your own email program in whatever email platform is available to you.

2.) Leverage the SFMC community
The Marketing Cloud community is wide and deep and many resources and individuals will make this tips list. If you are working through a problem and hitting blockers, reach out to the community to help find that answer. More often you’ll find a member of the community who’s encountered the very same issue and took the time to publish the answer on their own website or community board.

3.) Own your code
Follow tip #2 but don’t just copy the answer from the community without breaking it down line by line to understand how they arrived at the solution. It’s best to not even copy the code into your environment, instead copy it into a notepad, customize the code for your own use case line by line and then move it over. To help you own the code try teaching another person a walkthrough of the functionality and stand up at least one variation of the use case.

4.) Don’t be afraid of HTML, SQL, Ampscript and SSJS
These are the big four coding languages in Marketing Cloud and the coding can get quite complex especially if you have a more functional background. Mature environments will lean on the basic functionality of all four code platforms not the more advanced and complicated functionality. Focus on the basic functionality in all four platforms.

5.) Avoid use email as the Subscriber Key
If possible utilize a contact or lead id as the subscriber key instead of the email address. Not using the email as the subscriber key allows for more flexibility for the subscriber. For example you might have a subscriber exist both as a contact and a lead. Some organizations will treat existing customers this way in that they are a contact for their existing products, but a lead might be created as sales works the customer to expand their product set. If email address was the subscriber key it prevents multiple subscribers for a single email address.

6.) Be Mindful when setting Subscriber Keys
Be mindful of how you are setting and using the subscriber key in Marketing Cloud. If not used correctly you could be generating dozens of subscribers for each email address in Marketing Cloud. We’ve seen cases where the subscriber key was the name of the data extension which changed daily. The result was dozens of duplicate subscribers for each email address which diluted the performance of the subscriber and resulted in costly charges as Salesforce charges you by the subscriber.

7.) Make the most out of the Phoenix Marketers Group
Jyothsna Bitra’s Marketers Group(https://trailblazercommunitygroups.com/salesforce-marketer-group-marketing-cloud-phoenix-united-states/) is our top favorite resource because she always has amazing learning events each week like bootcamps featuring industry leading experts. Plus all of her sessions are recorded on YouTube: https://www.youtube.com/@MCLearningCamp/videos . Sign up and be proactive by attending and practicing the amazing tips that Jyothsna provides.

8.) Subscribe to The Ampscript Guide
To leverage the full power of the most amazing Marketing Cloud guide, The Ampscript guide: https://ampscript.guide/ and to do your part to thank Eliot Harper and Adam Spriggs, purchase an annual subscription and get the book. We utilize The Ampscript Guide daily for countless functions and are always pleased with the clear explanations of each function as well as high quality code examples.

9.) Invest in a TEST SFMC instance
To test in Marketing Cloud it requires either leveraging a separate business unit or a completely new instance of Marketing cloud. And migrating or pushing test assets to production is clunky as best, but the effort is well worth the current challenges. Marketing Cloud is a very controllable platform which can make testing in production doable, but nothing beats being able to full test E2E in a separate environment especially if it’s connected to Sales or other Salesforce clouds and synching data.

10.) Be a Developer in Marketing Cloud
You don’t need to be a developer or have years of experience in coding languages to be skilled in HTML, Ampscript, SQL and SSJS in Marketing cloud. Sometimes those functional roles can be the best coders because they understand the goal of the use case and leverage the code to creatively explore outcomes. If you can’t afford a developer in your environment don’t be afraid to dig in and become a coder yourself.

11.) Get Query Studio asap!
Want to become better at SQL? Get the handiest, free tool in Marketing Cloud that will allow you to query and experiment slicing and dicing your data at ease. It’s fast, it saves you from creating endless queries and data extensions and it’s FREE. https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3A00000FP3yFUAT

12.) Avoid naming Data Extensions with spaces
It’s a simple tip that can save you issues down the road by using underscores instead of spaces when naming your data extensions.

(1) If possible avoid using spaces when naming data extensions.
(2) Why? When calling the data extension in a query you’ll need to surround the DE name in [ ].
(3) Use underscores instead.
(4) and no brackets required needed.

13.) Leverage Mateusz Dabrowski’s amazing site – Must Do: SQL Basics
Mateusz makes this list twice because he does so much for the community. First tip is to leverage his website: https://mateuszdabrowski.pl/docs/sql/sfmc-sql-basics/ especially the SQL Basics page to solidify your grounding in SQL.

(1) Mateusz provide these amazing exercises to learn SQL from the beginning.
(2) He clearly lays out the exercise.
(3) Gives you hints to help think through each problem.
(4) And gives you the solution which you can drop right into Query Studio to validate.

14.) Every query is SELECT, FROM and WHERE
SQL can be very intimidating but every query has these three main components. Whenever you create a query always type in the SELECT, FROM and WHERE. Start from the easy part first, maybe there’s only one data source, then start with the FROM. If you have a complex WHERE or filter, build it slowly each where clause at a time. To simplify the SELECT only include those field that are necessary data points. Don’t just copy a long list of data fields.

15.) Set a default Business Unit for each user
If your environment has multiple business units, but certain users are in one BU primarily set the default BU in Settings.

(1) Under Setup (Click on your name in the upper right corner).
(2) Select Users under Administration.
(3) Search for the users name, check the box for the user.
(4) Select Manage Business Units.
(5) click on the default business unit which will highlight in grey and click save.

16.) Create a Code Snippet Block at the top of each email to store Ampscript
Ampscript is flexible to be used inline with the HTML, but it is recommended to store as much Ampscript in a Code Snippet block near the top of the email. A Code Snippet block is preferred over a Free Form block as Content Builder won’t modify the code like it can do in a Free Form block.

(1) When building your email in Email Studio.
(2) Drag over a Code Snippet content block near the top of the email.
(3) Verify it is a Code Snippet block vs Free Form.
(4) Place the majority of the ampscript code in the block.

17.) Variable-ize your ampscript data points
When personalizing marketing automation communications you can display data points by simply using %%datapoint%%. In a Code Snippet block set the data points as variables so that you can normalize the values and allow for more advanced personalization.

(1) Set data points as a variable using the attributevalue function: https://ampscript.guide/attributevalue/ which will normalize the data and allow the builder to leverage each variable in the solution.
(2) Use the variables in more complex functions like an IF THEN statement.
(3) Setting new variable to customize personalization points depending on different subscriber scenarios.
(4) Display the final variables in the content block using the v function: https://ampscript.guide/v/
(5) Don’t forget to use a Code Snippet block when storing ampscript.

18.) When in doubt always edit/create with the HTML Editor in an email
Content builder has a fantastic Wiziwig editor in Free Form content blocks, but it can be unpredictable, add extra spacing, unwanted formatting and inconsistencies. Editing in the HTML editor guarantees accuracy. It might not be pretty, but in the long run it’s worth the extra effort to get the content right the first time.


19.) Always duplicate a piece of content that is not yours before editing it
Depending on your admin settings Marketing Cloud can automatically change the owner and date modified the second you edit a piece of content. Even if you are just looking at the code always make a duplicate of the email content and save it in a test folder before editing the document.

20.) Be mindful of all the details when setting up a Data Extension
Data Extension can be easy to set up, but the fine details of each can make or break your marketing automation. Be mindful of all those details to ensure success.

(1) Subscriber Relationship determines what All Subscribers uses to identify the subscriber key. If you select email address then email address will be the subscriber key. If you select a contact ID that data point will be the subscriber key.
(2) The Primary key identifies a unique identifier field. There can only be one record in this data extension per value in this field. A great way to prevent duplicates.
(3) There are many different data types beyond the default “Text” data type so be mindful of the best type for each field. EmailAddress for instance automatically populates at 254 length and is required type in order to be sent as the email address.
(4) Be mindful of the length of each field. In this example the Name field is longer than the FirstName field because it could contain the first, middle and last name. If your length is too short it will prevent records from being added.
(5) When using fields that are date formatted use the Date field. If you need to multiple/divide two fields make sure they are number or decimal fields.
(6) Don’t forget about nullable as it can cause problems with automations if the field isn’t selected as nullable and the record coming through doesn’t have that data point.
(7) One more not mentioned above is Default – a handy field to set the value to the field to prevent it from being blank.

21.) In SQL Select statement after the first value begin each line with a comma

A simple formatting trick will prevent you from forgetting to add a comma after each line but the last one.

22.) Three fun tips to remember on Synchronized Data Extensions

(1) The “Id” field typically contains the object ID.
(2) A maximum of 250 fields can be synched for each object. Only synch over those fields you absolutely need and keep your team informed whenever you add any new fields.
(3) There are three ways to limit the number of records that are synched over. This can be very helpful especially with Contacts as Salesforce will charge you for every contact that is synched over. Limit those that have been flagged email-able to prevent excess charges.

23.) Use a Salesforce Entry Event in Journey Builder to feed in subscribers just in time from Salesforce CRM
Whenever possible experiment using the Salesforce Data Entry Entry Event if you are pulling leads or contacts from Sales or Service Cloud. If set up correctly any record that is either created or updated in Sales/Service Cloud will instantly be brought into the Journey. Compared with the 15+ minute synch and an hourly automation you can quickly feed contacts/leads into Journeys and avoid queries and automations.

Tip: In the Define Entry Source section of the Entry Event setup always choose the Salesforce Data tile as it will give you the most options.

24.) Don’t forget to save often in Journey Builder
Journey builder will time out on you after what feels like 15 minutes where all changes aren’t saved. It’s deceiving because you can make changes, add activities, etc, but in the back end it’s not capturing the work. Unfortunately unlike content builder it doesn’t have an auto save functionality. So always remember to save after setting up each activity or when you set up a key component like an entry event.

25.) Join us for a Hands-On building session
We’ll grant you access to our sandbox Marketing Cloud environment and you will build live a marketing automation solution. Through the end of December we’ll be building out solutions showcased in the SSJS Bootcamp. Code in SSJS to build out a multi-form cloud page and a custom preference center. Sign up here: https://trailblazercommunitygroups.com/salesforce-marketer-group-marketing-cloud-phoenix-united-states/


Thank you for reading. We will publish the second half next week. Please send us any of your tips.

Welcome back to our top 50 Marketing Cloud tips part two, our second set of twenty five tips.

26.) TrailBlazer Marketing Cloud Community groups
Take advantage of the amazing TrailBlazer community groups. They are a fantastic place to post your questions and most if not all answers will not only receive multiple answers from SFMC experts, but also you’ll receive an answer within an hour. Another big shout out to Mateusz Dabrowski (https://mateuszdabrowski.pl/) for all of his efforts in these groups. He will most likely answer your question and provide a thorough explanation as well.

And don’t forget to try your hand at answering questions as well. Take a question posted and solve it on your end in your own SFMC or Sales Cloud org and submit an answer. If you answer is helpful you might receive a best answer award and receive a shout out by community organizers for best answers by month.

Here’s a link to the Marketing Cloud focused community group: https://trailhead.salesforce.com/trailblazer-community/groups/0F9300000001pQ5CAI?tab=discussion&sort=LAST_MODIFIED_DATE_DESC

27.) How to find the handlebar code for Update Contact activity
The Update Contact Activity is a helpful activity in Journey Builder as it allows you to update a data extension based on the journey path of the subscriber. Setting up this activity is not easy as detailed below:

(1) In the settings of the Update Contact activity in Journey Builder
(2) When selecting the fields to update
(3) Journey builder doesn’t provide you with the handlebar code needed to populate the field

To find this handlebar code exit out of the Update Contact activity and add an Object Activity.

Follow the steps and select an object like Lead, Find and Update and select a text field to update.

(1) In an Object Activity settings
(2) Select the field in your data extension under Attributes
(3) The Handlebar code will appear. Copy the handlebar code for the variable and save it in a notepad. Follow these steps for every variable that needs to be populated in the Update Contact DE.

28.) Refresh Contact Builder Data Extension view
One of the challenges viewing and editing records in data extensions in Contact Builder is that the UI constantly needs to be refreshed. In Email Studio it’s much easier to exit the data extension folder which will refresh the data. But unfortunately in Content Builder that won’t work and you are left to do a complete refresh and navigate back to your data extension.

Here’s a work around to do an instant refresh while staying in your data extension.

(1) Viewing a data extension in Contact Builder
(2) Add a new record
(3) And hit cancel and this will refresh the data extension

29.) Add/edit individual records in Contact Builder data extension
When testing it can be helpful to edit individual records in a data extension. To do this first make sure your data extension has a primary key. In Content Builder you will be able to select and edit all fields except for the primary key on individual records.

(1) Make sure you select a primary key
(2) Select an individual record by clicking the checkbox
(3) Edit the record

30.) Add CreateDate to Data Extensions
When creating a data extension always consider adding in a CreateDate field to capture the date/time when the record was added to the data extension.

(1) Make sure the field is a Date data type
(2) It can be nullable or not
(3) Set it to the current date as the default
(4) To do so click on the plus icon to the left of the window
(5) When a row gets added the time of entry will be captured

31.) Chrome for PROD and Edge for Test
Hopefully in your environment you’ll have the ability to utilize a Marketing Cloud test and prod environment. Instead of switching back and forth in the same browser, use Chrome for prod and Edge for test. It can be helpful to have both environments open at both times.


32.) Certifications can help but take your time
Marketing Cloud or any Salesforce certifications are an excellent path to learn about the platform when starting out. They also can be helpful to strengthen your knowledge after working in the platform for a couple of years. Always consider certifications as part of your learning/growth path, but we’d advise to not rush into piling up certifications. 

If you are starting out consider the Marketing Cloud Admin certification as a starter year one especially if you have exposure to a SFMC instance. If you have had experience in email marketing/operations in the past you could consider Email Specialist.

Take your time building up experience in the platform before attempting Marketing Cloud Consultant or Developer however. Having a couple of years experience in the platform across multiple use cases can help bring to life the areas of focus in these more advance certifications. Also consider the Sales Cloud Admin certification as well as SFMC and Sales Cloud are so well integrated.

33.) Use LookupRows if you need multiple values vs multiple Lookups
The Lookup function is one of the most useful functions to leverage data points in other data extensions. It’s a super simple function that only takes one line of code. https://ampscript.guide/lookup/

If you find yourself needing multiple data points from the same data extension use LookupRows instead: https://ampscript.guide/lookuprows/

The lookup functions should be a key part of your ampscript training for your team. Spend the time to test both lookup options and even lookuporderedrows. These functions will a foundational ampscript function for your team.

34.) Decision split – attribute to attribute settings
When configuring a decision split in Journey builder if the data point you are using is matching a data point in a synchronized data extension with a 1 to many relationship you’ll want to utilize the attribute to attribute function. 

(1) Select the checkbox on the attribute to attribute comparison
(2) Select the data point in the custom attribute or synchronized data extension first or on the left
(3) Then select the data point in the data extension on the right

35.) Refresh email in Journey
Making an update to an email that is in an active journey? Don’t forget to update the email content in the journey as well. The email updates won’t take affect unless you do. Click into each email and select “Done”. If you are updating a version that is active you should see the following spinner which will confirm the email is being updated:

Tip: It may be easier to update the email directly in the Journey vs updating in Content Builder separately.


36.) Never pause a journey
Each version as well as all versions have the ability to be paused in journey builder.

The problem with pausing is the options are limited:

(1) This is a nice feature where it looks like you can pause even those in an existing journey. Now this can be handy if #2 wasn’t so limiting.
(2) Unfortunately the longest you can pause a Journey is 14 days. After that you have two choices, either resume the journey or stop it.
(3) Queuing sounds interesting after-all a journey is based on a trigger and you probably can view and clear the queue like a trigger send as well.

An longer term solution to pausing would be the following:
(1) Create a new version of the journey and Activate it. This will put the current version of the journey into a finishing state.
(2) Stop the newly activated Journey version.

This will allow you to prevent any new entrants into the journey and safely resume whenever needed. To resume, simply create another version of the journey and activate.

37.) Use Postman to test triggered sends
There is now way to test trigger sends in Marketing Cloud. Utilizing an API tool like Postman you can test triggered sends end to end. Obtain the key credentials from a installed package in Setup and configure an Auth and Post call in Postman.

(1) Use the provided Auth URL from the installed package plus additional syntax to the URL string.
(2 – 3) Select the appropriate settings in Postman to configure the API call.
(4) Add i the Client ID and Secret in the JSON payload.
(5) And click send to make the handshake into the Marketing Cloud environment.

And then configure the POST call:

(1 – 4) Configure the Rest URL settings
(5 – 6) Select the appropriate settings in Postman to configure the API call
(7 – 8) Fill in the payload based on the data extension on the trigger
(9) Click send

For a complete walkthrough refer to this page we posted on Medium: https://medium.com/cervello-an-a-t-kearney-company/marketing-cloud-end-to-end-triggered-email-overview-a32ead33a374

38.) Object Activity vs individual activities
Journey Builder offers a variety of object activities like Lead to Contact to Campaign Member. We’ve heard from Salesforce support that they recommend using the Object Activity vs the individual object activities. The Object Activity gives you the ability to create any object in Sales Cloud.


39.) Use Keys to secure credentials
Utilize the keys in Marketing Cloud to encrypt and decrypt credentials to keep cloud pages and other assets secure. We break this process down in detail at the following page:https://handsonsfmc.com/how-to-create-keys-in-marketing-cloud/

First off you’ll need to follow the steps to create a set of the three keys. Then create an email with a code snippet block where you can encrypt your credentials:

(1) Create your Key Creation test email
(2) Add the three keys that you created
(3) Add in the values for the credential variables you’d like to encrypt. In this case we are encrypting the Client ID and Client Secret for an installed package.
(4) Use the EncryptSymmetric ampscript function to encrypt the variables: https://ampscript.guide/encryptsymmetric/

Then in the cloud page pass in the encrypted values for both variables and decrypt the variables.

(1) In a cloud page or another asset
(2) Pass in the encrypted variables created in your Key Creation test email
(3) Use the Decryptsymmetric function: https://ampscript.guide/decryptsymmetric/

40.) Make DE send-able if using in a Journey
Don’t forget when using an email in a journey, even if it’s being written to in a Contact Update activity and not sending the Data Extension must be selected “Used for Sending” in order for Journey Builder to see it or be able to be selected.


41.) Stack exchange for Marketing Cloud
Another fantastic resource to ask questions in the community is Stack Exchange. This forum is monitored by many legendary SFMC SMEs like Greg Gifford, Eliot Harper, Adam Spriggs and more.

Most common issues have been asked and resolved in this forum and thanks to those who monitor the forum the questions and answers are edited and maintained at a high level. This can make asking and especially answers questions a little more involved. You’ll want to read SE’s recommended formatting for asking questions. Spend some time reading questions to understand the best way to ask a good question.

Here’s a link to Marketing Cloud tagged forum on Stack Exchange: https://salesforce.stackexchange.com/questions/tagged/marketing-cloud

42.) Connections!
You got to go to Connections in Chicago in June. Connections is like the Marketing Cloud Dreamforce. There are a ton of amazing sessions both hands on and regular presentations. All of the SFMC experts are there and they are so approachable. 

Here’s a few tips when attending Connections. 
A.) Plan your sessions way in advance. Sign up for those hands on sessions early and prioritize your key sessions. 
B.) Meet the SFMC experts! Introduce yourself before or after the session where the SFMC expert is presenting. Prepare questions if you can to make the most of your brief time with the expert. One example could be asking them what they’d recommend you focus on to broaden your SFMC experience.
C.) Take advantage of the before and after conference events. Amazing vendors/partners could have a waffle bar before the conference day kicks off or a cocktail hour afterwards. Look for these events prior to the conference and sign up for as many as you can. If you don’t see any events make it a point to meet a few vendors right away at the conference and they’ll provide an invite.
D.) Don’t go just once. It’s a lot to take in and you won’t see half of the amazingness. Plan on at least going three years in a row to start to feel comfortable knowing the entirety of the event and where you can focus attention.

43.) Use a SQL Cheat sheet
SQL cheat sheets are handy to reference if you need to find the right syntax for say the LIKE function or understand which type of JOIN to use. Here’s out Cheat Sheet and we hope it comes in handy for you: https://handsonsfmc.com/query-cheat-sheet/



44.) Leverage those amazing Data Views
Marketing Cloud captures a treasure trove of data points at time of send and throughout the engagement of your communications stored in data views. https://help.salesforce.com/s/articleView?id=sf.mc_as_data_views.htm&type=5

The data is captured and stored for up to six months but this time frame can be extended if you reach out to your Marketing Cloud account executive. Each Data View is a data extension and can be used in queries as such.

(1) The Click data view – let’s you query on every click by susbscriber
(2) _Click is the name of the data extension
(3) Each Data View has a set of fields to leverage

Also you have to check out https://dataviews.io/ as it is incredibly helpful to identify the linkage when joining multiple data views.

Here’s a basic query accessing the Click data view to check if a certain subscriber has clicked



45.) And don’t forget about Personalization Strings
Personalization strings are another fantastic data source native to Marketing Cloud. At time of send a long list of fields are captured in the system. These fields can be utilized as if they were part of your data extension.https://help.salesforce.com/s/articleView?id=sf.mc_es_available_personalization_strings.htm&type=5

Here are a few of our most used personalization strings:

(1) Bookmark the Personalization strings documentation as you’ll be here early and often
(2) Utilize each variable like you would a data extension field by surrounding the variable in %%. You can set variables as well like:
SET @subscriber = atttributevalue(“_subscriberkey”)
(3) These are our top three used strings

46.) Use cloudpagesurl to pass all data extension and personalization strings to a cloud page
Whenever possible utilize the CloudpagesURL ampscript: https://ampscript.guide/cloudpagesurl/ for your links that go to Marketing Cloud Cloud pages. Using this syntax will link the data in the email to the cloud page and all data extension and personalization string data points will be available in the cloud page.

(1) When using a link or call to action button that goes to a cloud page
(2) Wrap the cloud page number with the CloudpagesURL function
(3) And wrap that function in a Redirectto function: https://ampscript.guide/redirectto/ especially for <a> tag links

47.) Invest in an Email Design System
An email design system involves creating a blank template and a series of content blocks that you can drag and drop to create emails relevant to your company/instance. These systems take time and a solid understanding of HTML and CSS to stand up, but the effort is well worth the it. 

48.) Save as content block
When using your email design system and working in a content block you can quickly save your block as a content block right in the window. 

(1) In any content block
(2) Select “Save Block” in the lower left corner
(3) Select Create New and follow the steps to quickly create a new content block in your email design system

49.) Leverage ContentblockByKey
Contentblockbykey: https://ampscript.guide/contentblockbykey/ and all of its variations are a wonderful tool to leverage in Marketing Cloud. Basically the function brings in additional code into your asset by calling that content block of code. There are many benefits to utilizing this function:
1.) Simplifies the code – Breaking out key areas of code into content blocks can help streamline and simplify the code.
2.) Universal code assets – Instead of building coding functions specific to each email, create content blocks of universal applicable code and call them using contentblockbykey in any asset.
3.) Custom pre-header – Do you need a dynamic pre-header? Based on order of operations: https://ampscript.guide/order-of-operations/ Pre-header comes before the HTML body of the email. Use contentblockbykey to leverage coding to customize the pre-header, just remember to not use the variable set in the body of the email.

50.) Indent your ampscript
Where possible indent your ampscript functions so that it’s easy to tell how IF/THENs or FOR Loops begin and end. Spending a little time up front indenting will save tons of time at the end as it will prevent mistakes in the code like a missing ENDIF.

(1) Try indenting any code in an IF THEN statement by two spaces
(2) Indent nested functions as well, each with two spaces
(3) Make sure the ending functions line up as well. See how the NEXT lines up with the FOR and the ENDIF lines up with the IF?
(4) When coding in ampscript always use a Code Snippet block. If you use a Free Form block it can modify your code and mess up formatting.

That’s all fifty tips. We have easily another fifty to share and will add them to our tips page which we will be better about keeping updated: https://handsonsfmc.com/marketing-cloud-tip-of-the-week/

Please share your Marketing Cloud tips whenever you can, we look forward to learning from your experience. Thank you.