What’s the buzz in the market
SSJS[Server side JavaScript] is the latest buzzword amongst the Salesforce Marketing Cloud developers and there is a divide amongst them regarding the resourcefulness/use cases of AMPscript and SSJS.
One school of thought believes that AMPscript is good enough for all the Salesforce Marketing Cloud use cases or scenarios while the other believes that SSJS is really powerful for a certain set of use cases or scenarios like exception handling and web developers are quite familiar with it due to its similarity with JavaScript
So, we will discuss all the arguments regarding the use cases or scenarios in this blog following this sequence:
- Basics of JavaScript & SSJS
- Comparisons between SSJS & AMPscript
- Various Use cases/scenarios
JavaScript & SSJS – Introduction
SSJS is a server-side scripting language similar to JavaScript and it is executed at the Salesforce Marketing Cloud servers instead of client browsers i.e. client-side.
JavaScript was designed & developed keeping in mind that it is to be embedded with other products and applications such as web browsers. Its main job is to help to create dynamic and interactive elements on the web browser. It works closely with HTML and CSS on the web browser.
JavaScript is of two types i.e. server-side and client-side. Vanilla JS is common between the two types.
- Client-side – This is executed at the client-side software i.e. on the user’s computer. When a user requests a web page, the JavaScript code which is embedded in the webpage is downloaded and executed and finally displayed by the web browser. This is totally dependent on the local web browser. This might be a security risk as the code is executed at the browser level and hence it is exposed to the vulnerabilities and can be exploited by the bad guys.
- Server-side – This is executed on the server rather than on the web browser aka windowed environment. Apart from the fact that it is more secure than client-side execution, it has the advantage of interacting with databases, making API calls to external systems etc.
For more information on JavaScript, please visit the link here.
Comparison between AMPscript & SSJS
There are three types of programmatic languages with the ambit of Salesforce Marketing Cloud
- AMPscript – Proprietary scripting language of Salesforce Marketing Cloud
- SSJS – Similar to JavaScript but run within Salesforce Marketing Cloud environment
- Guided Template language [GTL] – GTL helps you create templates using JSON data that can populate entire messages or landing pages with data from your account’s data extensions.
Let’s now focus on the differences between AMPscript and SSJS.
Both SSJS & AMPscript are scripting languages within Salesforce Marketing Cloud ambit and used for the same purpose of content personalization. But if we go down a level deeper, we see that the similarity ends here and differences start to crop up.
AMPscript
AMPscript is used for content personalization for emails, landing pages, SMS, push notifications etc. AMPScript is executed by Salesforce Marketing Cloud at the end of the email send.
AMPscript has fixed set of pre-built functions to be used and some of the categories of functions that are used frequently with AMPscript
- IF, ELSEIF, ELSE, and ENDIF loops to satisfy various conditions
- FOR loop to traverse through the Data extensions[tables]
- Personalization string
- Measuring impressions
For more information on AMPscript, please visit the link here.
Server-Side JavaScript [SSJS]
This is something web developers are quite familiar with due to its similarity to JavaScript. Web developers find it easier to adopt with a minimum learning curve.
There are few more pointers which make the case for SSJS
- Use arrays with SSJS
- Utilize advance exception handling/try-catch blocks within SSJS
- Use math functions, EVAL functions
- Use the core library to be used within Landing pages and applications
Use cases or scenarios
Below are some use cases or scenarios where we identified the preferred programmatic language along with reasons as compared to other languages:
- AMPscript should be preferred for simple inline personalization, which includes content like greeting, name, emails etc. and simple IF ELSE loops
- If the web developers are new to both the programmatic languages, then AMPscript has a shorter learning curve compared to SSJS.
- If the web developers have past experience with development, then SSJS will be easier to learn and implement.
- SSJS is preferred for Landing pages, applications when there are no functions to support in AMPscript
- In general, SSJS makes execution of emails slow and hence shouldn’t be preferred over AMPscript until there are some specific benefits.
- SSJS should be preferred over AMPscript because of its JASON handling capabilities.
In general, AMPscript can handle the vast majority use cases or scenarios and is recommended to be used in all the aspects of Salesforce Marketing Cloud
Wrap Up
We have tried to put up all the similarities as well as the differences in various aspects of JavaScript and SSJS. Plus, we have jotted down the differences between AMPscript and SSJS and then looked into the various use cases or scenarios along with their reasoning behind preferring AMPscript over SSJS or vice versa. As a thumb of rule, we should prefer AMPscirpt over SSJS until there is a specific use [like mentioned above] for it.
In case you wish to read and try it for yourself, please check out the Trailhead module for AMPscript and SSJS. For in-depth details, for both the programmatic languages, visit the link here.