After completing this unit, you'll be able to:
- Review the fundamentals and syntax for AMPscript.
- Create inline AMPscript and AMPscript blocks.
- Insert personalization strings.
- Implement AMPscript functions and operators.
- Work with AMPscript examples and best practices.
As a developer, you’re probably familiar with more than a few languages. And as a developer, you know that it’s impossible to learn everything about a language from a single document. This module introduces you to the basics of AMPscript, while also giving you the resources you need to dig deeper.
AMPscript Fundamentals and Syntax
At the most basic level, AMPscript calls act as a placeholder for the data requested from Marketing Cloud or a data extension. These calls can appear in one of three basic forms.
- Inline AMPscript:
- AMPscript block:
%%[ LOWERCASE(Name) ]%%
- AMPscript tag:
<script runat=server language=ampscript> Lowercase(Name) </script>
AMPscript can handle constant values, values from attributes and data extensions, and keywords. This example shows how to produce the same results for all three language elements.
'email@example.com'(note the quotes around the string constant)
SubscriberEmail(this string returns the value of SubscriberEmail from a data extension, which conveniently is firstname.lastname@example.org)
@EmailAddress(this variable holds the value assigned to it earlier in the AMPscript block, which would be email@example.com)
AMPscript uses terms you’re probably familiar with, such as IF, ELSEIF, ELSE, and ENDIF. Take a look at this example to see how to implement these conditions in your AMPscript.
<script runat=server language=ampscript> IF @region == '1' THEN SET @greeting = 'Bonjour!' ELSEIF @region == '2' THEN SET @greeting = 'Hola!' ELSE SET @greeting = 'Hi!' ENDIF </script>
You can include as many ELSEIF statements as necessary for all the conditions you need to evaluate.
You can also set up FOR loops in AMPscript to iterate over content as many times as necessary. This example sets the applicable first name values for the number of included roles.
%%[FOR @Position = '1' TO @Position = @rowCount DO ]%% SET @FirstName = FirstName %%[NEXT @Position]%%
And, of course, you can assign variables (declared as VAR) in AMPscript using SET.
%%[ VAR @text SET @text = "Hello, world!" Output(v(@text))]%%
Notice how the
Output() function prints the value of the variable contained in the
For email messages, remember that AMPscript processes the HTML body of the message first (including any preheader), then the text body. The subject line goes last.
AMPscript uses functions—an extremely large number of functions. We divide functions into several different categories.
||What It Does
||Create SOAP API interactions
||Modify Marketing Cloud contact information
||Modify Marketing Cloud content, such as text and images in email messages.
||Modify data in data extensions
||Modify date and time information in Marketing Cloud
||Encrypt and decrypt Marketing Cloud data
||Get, post, and modify HTTP information in Marketing Cloud
||Perform basic math functions
|Microsoft Dynamics CRM
||Interact with Microsoft Dynamics CRM data
||Interact with Sales Cloud data in Marketing Cloud
||Interact with CloudPages sites
||Interact with Social Forward functionality in Email Studio
||Modify string information in Marketing Cloud
||Return and evaluate types of Marketing Cloud data
AMPscript offers some easy strings to pull information into content, email addresses, and other areas where you need to dynamically assign values. These personalization strings return data from Email Studio lists and from the sendable data extension used for a send. Use AMPscript functions to return content from data extensions in other Marketing Cloud functions.
AMPscript lets you determine which sections of an email message perform better in sends. We may know intuitively that random cat pictures attract more attention than a block of text, but now you have the statistics to prove it! Surround a piece of content—pulled in using the
ContentAreaByName() functions—with the
EndImpressionRegion() functions, and use impression tracking reports to see how your cat pictures measure up.
So What Do I Do with AMPscript?
You can perform a number of tasks in Marketing Cloud using these functions. That said, AMPscript is usually used to pull data from data extensions using calls like
LookupRow(). These functions look for data in specified data extensions and return fields based on the values you include in the functions. This example looks up purchases made by a contact identified by a member ID and returns any rows containing purchase information.
%%[ VAR @row SET @row = LookupRows("Purchases","MemberID",@memID)]%%
This example shows how to retrieve a content area from Content Builder in an email message, using the key value.
Once you retrieve that information, you can perform all manner of modifications and transformations to accomplish what you need.