SFMC General Tips and Gotchas

This post contains a selection of quick tips I’ve learnt while working across the SFMC platform.

Content Builder

Scenario: An email contains dynamic text with a lookup to a DE. The lookup uses _subscriberkey as the customer identifier. When previewing the email using a test record, the text shows 0 as a count instead of 1. If a record has never been emailed before, at send time the count will be 1, but in previews it will be 0. This is because SFMC does not know what their subscriber key is until an email is sent to them. Send a test email to yourself using the desired record to resolve this.

SQL Activities

  • When using the ‘Update’ action on a DE, the DE must contain at least one nullable field when you run SQL on it.
  • Large SQL activities with multiple joins can time out. It is better practice to create separate, smaller activities which are faster to process.
  • Check if a boolean is empty: field = false or field is null
  • Check if a string is empty: field = "" or field is null

Import Activities

  • Common errors that will cause an automated import to fail:
    • A cell has a , inside it – this increases the number of expected fields (Invalid Field Count)
    • Invalid email addresses
    • Phone field has less than 4 numbers
    • Attempting to import a Decimal into a Number field (Invalid Number). Note decimals can accept whole numbers, represented as 1.00 depending on your decimal format
  • On the first screen of an Import Activity, add an email address to be notified of imports into SFMC. The email generated by Salesforce contains the number of records added, updated, and skipped, along with an attachment containing skipped record error details.
  • Publication Lists and Auto Suppression Lists are in fact treated as Data Extensions in the background of SFMC. To update them, use a Data Extract > File Transfer > Import Activity.

Filter Activities

  • Create a Data Filter in Email Studio, then a Filter Activity in Automation Studio to refresh the resulting DE at a schedule you specify. To change the filter parameters, edit the Data Filter in Email Studio.


  • Make sure the Locale field has a type of Locale in your sendable DE, otherwise you will see an “Invalid Locale” error in Journey Builder.

Journey Builder

  • If changing the subject line of an email, make sure to update the subject line in the JB Email Activity
  • Avoid using Date field = Today in a decision split when your timezone is not SFMC system time (CST). If your date field is local time (e.g. AEST), in CST time the current date is yesterday. This could stop customers flowing through your journey.
  • Scenario: For UAT purposes you want to activate a journey to test API calls, and then use the same event definition key in a separate production journey. API event definition keys – when defined in the JB canvas – cannot be reused when a journey is activated. To resolve this, create the event definition key as a “reusable” entry source, even if you only plan to use it for one live journey.
  • In JB Email Activities, the “success” status means a contact passed through the activity successfully. The contact is ready to be sent the email, but system processes in SFMC could still block the send.
  • How to UAT test a journey triggered by an automation
    • Add a decision split path where Email Address contains company domain, remainder exit the journey
    • Activate the journey
    • Run automation steps to verify the data flow
    • Run journey step in automation to test the journey

Web Studio

Scenario: A client wants to replicate their company website’s header and footer in a CloudPage. While html & css can be easily copied from a website, there is a risk that external css files are deleted or moved in the future, breaking the CloudPage. To mitigate this, host css files in SFMC using Code Resources.