Review AMPscript Basics
Learning Objectives
After completing this unit, you’ll be able to:
- Review AMPscript language elements.
- Identify AMPscript functions.
- Use date and math functions.
Before You Begin
Before you begin, make sure you complete AMPscript for Marketers. While the badge is geared toward marketers with little coding experience, it serves as a great foundation for anyone learning AMPscript. The work you do here builds on the concepts and work you do in that badge. In this badge, we assume that you’re a technical marketer with basic knowledge of HTML and CSS.
AMPscript Review
AMPscript is Marketing Cloud Engagement’s proprietary scripting language that helps marketers enhance their messages. From adding personalized content to retrieving relational data from data extensions, AMPscript is a powerful friend to have, especially as a technical marketer.
In AMPscript for Marketers, you learn about the language of AMPscript from characters, variables, and operators. We even show practical examples of how to use strings of code. In this badge, we take you to the next level, where we help you start using AMPscript in specific use cases.
AMPscript Basics
Let’s get started by doing a quick review of AMPscript basics. The AMPscript language is procedural and processed top down. In other words, the system scans and outputs all AMPscript in the order it was written before sending the email to subscribers. Therefore, the system needs to know where the AMPscript code starts and stops. To identify AMPscript, the code must be surrounded by opening and closing delimiters or defined within a script tag. It’s a flexible language with three options for defining the AMPscript code.
Type | Sample Code |
---|---|
Inline
| %%=LowerCase(FavoriteAnimal)=%% |
Block
| %%[Output(LowerCase(FavoriteAnimal))]%% |
Tag | <script runat=server language=ampscript> Output(LowerCase(FavoriteAnimal))</script> |
Values
One of the core language elements of AMPscript are values, which can be either variables, constants, or attributes. Let’s start with variables.
Variables
A variable is a storage location for the information you want to reference later within a script statement or function. Variable names must begin with @ and include at least one other letter, number, or underscore. For example: @firstName
or @first_Name
.
Variables are declared in your code by using the keyword VAR
followed by one or more comma-delimited variable names. To assign a value to a variable, use the keyword SET
followed by the variable name, an equal sign, and the value. A variable’s value can be a constant or an attribute.
Constants and Attributes
Value Type | Description | Code Example |
---|---|---|
Constant | A constant is a value that can’t be altered by the system. These can be numeric, string, boolean, or null values. | %%[ VAR @firstName SET @firstName = "Susan" ]%% |
Attribute | Attributes (or data extension values) refer to any content held inside a subscriber list or a data extension. They’re recognized as unquoted strings. Values that have a space or special character require opening and closing brackets. We recommend that you include opening and closing brackets around all values for consistency and troubleshooting. | %%[ VAR @firstName SET @firstName = [First Name] ]%% |
Data Comparison
A key component of AMPscript is the ability to compare and add data into an email. AMPscript uses common operators for data comparison criteria, like greater than, equal to, and so on. However, they also use a few additional operators.
Operator | Used For |
---|---|
== | Is Equal To |
!= | Not Equal To |
| Comparison modifiers |
Comparison operators are controlled in AMPscript by using parentheses. So if you’re looking for a new orange tabby cat or kitten, your comparison operators might be (Cat AND Orange) OR (Kitten AND Orange)
.
IF Syntax
Now let’s review the IF syntax, which is used to define data or narrow down results based on set criteria.
Operator | Additional Info |
---|---|
IF | To perform conditional processing. |
ELSEIF | Multiple ELSEIF statements can appear within an IF block. |
ELSE | Only one ELSE statement can appear within an IF block. |
ENDIF | Use the ENDIF statement to end an IF block. Only one ENDIF statement must appear at the end of an IF block. |
Example Code
Let’s see an example of how the IF syntax would be used to set a default first name for a customer whose first name is missing in your data.
%%[ VAR @firstName SET @firstName = [First Name] IF Empty(@firstName) THEN SET @firstName = "NTO Rockstar" ENDIF ]%%
A Comment on Comments
Every good programmer knows how important it is to add comments to your code. Doing so makes code easier for yourself and others to understand the purpose of the code. But did you know that AMPscript comments don’t appear in the messages that your customers receive? This separates AMPscript comments from HTML comments—HTML comments can still be viewed after deployment by inspecting the source code of the sent message.
AMPscript Functions
The previous language elements are all used within functions. Functions are self-contained modules of code that accomplish specific tasks. Functions usually take in data, process it, and return a result. For example, the function %%=Format(@price, "C", 'en-US')=%%
updates a product’s price to reflect the proper formatting for US currency.
Functions are written like this: FunctionName(X)
- FunctionName: A unique name that describes the function.
- ( ): Opening and closing parentheses.
- X: The parameters being evaluated. When there are multiple parameters, use commas to separate them.
Functions can accept variables, constants, and attributes as parameters between the parentheses.
Common AMPscript Functions
While AMPscript doesn’t support the creation of custom functions, there are plenty of built-in functions that you can add to your code. Let’s review some date and time functions and sample code.
Date Functions
Click on the name of each function to see how to use it and example code with output. You can also click on the link for each function to view developer documentation.
Working with date and time values can take some practice. Here are some things to keep in mind.
- There are many ways to format dates. See the FormatDate() function reference page for information and examples.
- Marketing Cloud Engagement’s system time is Central Standard Time, and it doesn’t adjust for daylight saving time.
Math Functions
By learning how to do math with AMPscript, you can write complex math equations using data from data extensions, and using constants that you define. Let’s do some math. Click on the name of each function to see how to use it and example code with output.
Now that you have a handle on the basic aspects of AMPscript, in the next unit we review AMPscript string functions.
Resources
- Salesforce Developer: AMPscript Language Elements
- Trailhead: Marketing Cloud Engagement Programmatic Languages
- Trailhead: AMPscript for Marketers