We will provide instructions on adding personalization (merge fields) into your ExactTarget emails from Data Extensions or Lists. Additionally, we will cover AMPscript basics (declaring, setting, and retrieving variables) and formatting functions (ProperCase, Lowercase, Uppercase, and RedirectTo).
2. Founded in 1999 in Overland Park, KS
100+ associates, strategists, designers
& developers
Significant work for significant clients
3.
4. Presenters
Kevin Joseph Smith, Sr. Training Coordinator
ksmith@DEGdigital.com
913.951.3124
ExactTarget Training :: Personalization & Basic AMPscript
5. Agenda
Personalization (not AMPscript)
AMPscript
Variables
– Declare
– Set
– Output
Common Functions
– ProperCase
– Lowercase
– Uppercase
– RedirectTo
Commenting
– Hide a Content Area with AMPscript
ExactTarget Training :: Personalization & Basic AMPscript
7. Lists - Personalization
If your subscriber data is stored in Lists
(segmented with Groups), then you can
add personalization (mail merge) to the
subject line, preheader, HTML version
or text version by using the name of the
Profile Attribute surrounded by double
percent signs.
For example, if you had the Profile
Attribute of “First Name”, you would use
%%First Name%%
You must have data for a subscriber or
a blank space will appear for the
personalization.
Several locations will provide a
dropdown list of your account’s Profile
Attributes.
ExactTarget Training :: Personalization & Basic AMPscript
8. Lists - Personalization
An example of an email that has personalization of First Name.
ExactTarget Training :: Personalization & Basic AMPscript
9. Lists - Personalization
This subscriber had a value for first name in ExactTarget.
ExactTarget Training :: Personalization & Basic AMPscript
10. Lists - Personalization
This subscriber did not have a value for first name in ExactTarget.
ExactTarget Training :: Personalization & Basic AMPscript
11. Data Extensions - Personalization
If your subscriber data is stored in
Data Extensions (or segmented with
Data Filters) then you can add
personalization (mail merge) by using
the name of the column heading
(field) of the sending Data Extension
surrounded by double percent signs.
For example, if you had the column
heading of “First_Name”, you would
use %%First_Name%%
You must have data for a subscriber
or a blank space will appear for the
personalization.
ExactTarget Training :: Personalization & Basic AMPscript
12. Data Extensions - Personalization
An example of an email that has personalization of First Name.
ExactTarget Training :: Personalization & Basic AMPscript
13. Data Extensions - Personalization
This subscriber had a value for first_name field in the Data Extension.
ExactTarget Training :: Personalization & Basic AMPscript
14. Data Extensions - Personalization
This subscriber did not have a value for first_name field in the Data Extension.
ExactTarget Training :: Personalization & Basic AMPscript
16. AMPscript
AMPscript requires Advanced Content Management (ACM) to be purchased and
enabled in your account. It’s included with Enterprise 2.0 accounts.
AMPscript is a scripting language that you can embed within emails (also
Landing Pages (if enabled) and MobileConnect (if enabled)).
Create highly personalized emails with AMPscript:
– Define and set variables within the email
– Format subscriber data
– Dynamic emails (without using Dynamic Content Wizard)
– Lookup relational/reference data from Data Extension
ExactTarget Training :: Personalization & Basic AMPscript
18. Personalization Recap
You’ve seen that if subscriber data is stored in Lists or Data Extensions, you can
personalize emails with variables associated with that subscriber (e.g. first
name).
With AMPscript, you have the ability to declare and set variables at the
beginning of an email and then output those values (once or multiple times)
throughout the email.
A variable is a stored piece of data.
ExactTarget Training :: Personalization & Basic AMPscript
19. Variables
What if you had a weekly email, which has a few values change from week to
week, and you want the ability to quickly update them.
ExactTarget Training :: Personalization & Basic AMPscript
20. Variables
You could utilize AMPscript! At the top of the email, you will declare and set the
variables to be used within the rest of the email.
ExactTarget Training :: Personalization & Basic AMPscript
21. Variables
You will always choose “HTML Only” Content Area when setting and declaring variables
in a template-based email.
AMPscript can be coded directly into Paste HTML emails or Paste HTML Templates.
ExactTarget Training :: Personalization & Basic AMPscript
22. Delimiters
To alert ExactTarget that you are
declaring and setting variables, you
must add a opening block delimiter:
%%[
To alert ExactTarget you have
completed declaring and setting
variables, you must add a closing
block delimiter:
]%%
Always declare and set a variables at
the top of an email.
ExactTarget Training :: Personalization & Basic AMPscript
23. Declare Variables
You will then declare to ExactTarget that
you are creating variables inside of the
email. You’ll accomplish this by adding
the word VAR after the opening delimiter.
Next choose what you would like each
variable called.
VAR
@promotion, @promodate, @rep, @firstnam
e
Variable names must begin with the @
symbol and be followed by at least one
other letter, number, or underscore.
Spaces and commas are not allowed in
variable names.
The @ symbol and variable are called a
Keyword.
Variables are null until a value is SET.
ExactTarget Training :: Personalization & Basic AMPscript
24. SET Variables
You will then set the value of each
variable by typing SET followed by the
variable name, an equal sign, opening
parenthesis, typing the value for the
variable, and closing parenthesis.
SET @promotion = "Annual Fall Sale"
SET @promodate = "31 October"
SET @rep = "John Doe"
You even have the ability to set Profile
Attributes for Lists or column headings
for Data Extension as a variable.
SET @firstname = [First_Name]
ExactTarget Training :: Personalization & Basic AMPscript
25. SET String Constant Value
String (or text) constant values must be quoted in double or single quotes.
SET @promotion = "Annual Fall Sale"
SET @promotion = 'Annual Fall Sale'
String constants can escape the delimiting quote character if they appear within
the text by doubling it.
SET @promotion = "October's Annual Fall Sale"
SET @promotion = 'October''s Annual Fall Sale'
Alternative quote characters, such as smart quotes, are not recognized…so
write your AMPscript in ExactTarget or a text editor!
ExactTarget Training :: Personalization & Basic AMPscript
26. SET Numeric Constant Value
When setting a numeric variable, you do not need to use single quotes or
double quotes:
SET @price = 12
Numeric constant values can also include one decimal point and an introductory
minus sign to indicate negative values.
SET @expense = -12
SET @expense2 = -12.00
SET @expense3 = 12.00
Numeric constant values cannot contain commas.
ExactTarget Training :: Personalization & Basic AMPscript
27. Set Boolean Constant Values
Boolean constant values must be true or false and are case insensitive.
SET @preference1 = TRUE
SET @preference2 = true
SET @preference3 = FALSE
SET @preference4 = false
ExactTarget Training :: Personalization & Basic AMPscript
28. Set Profile Attributes or Data Extension Fields
You even have the ability to set Profile Attributes for Lists or column headings for
Data Extension as a variable.
If the Profile Attribute or Data Extension column heading contains a space, these
values must be enclosed in brackets.
SET @first = [First Name]
SET @first = First_Name
If the Profile Attribute or Data Extension column heading doesn’t contain
space, you can still add brackets.
SET @first = [First_Name]
ExactTarget Training :: Personalization & Basic AMPscript
29. Output Variables
To output (or retrieve or print) a
variable declared at the top of the
email, you will add the inline delimiter
of %%=v( followed by the keyword
(e.g. @rep) and close with another
inline delimiter of )=%%
Dear %%=v(@firstname)=%%,
We are celebrating our
%%=v(@promotion)=%%!
Join us %%=v(@promodate)=%% at
your closest store for a free
gift.
Thanks!
%%=v(@rep)=%%
ExactTarget Training :: Personalization & Basic AMPscript
30. Completed Email
Here’s what our completed email looks like:
ExactTarget Training :: Personalization & Basic AMPscript
31. Rendered Email
When you test the email, all of the variables will be populated!
ExactTarget Training :: Personalization & Basic AMPscript
33. ProperCase
What if your data is not clean and some subscribers have
a first name in shouting caps or lowercase (e.g. JOHN or jill).
ExactTarget Training :: Personalization & Basic AMPscript
34. ProperCase
You can add an AMPscript function
called ProperCase to format all first
names into the proper case.
If you had a Profile Attribute or Data
Extension field called First_Name (no
space):
%%=ProperCase(First_Name)=%%
%%=ProperCase([First_Name])=%%
If you had a Profile Attribute or Data
Extension field called First Name
(space), you must include brackets:
%%=ProperCase([First Name])=%%
ExactTarget Training :: Personalization & Basic AMPscript
35. ProperCase
If you had a Profile Attribute or Data Extension field called First_Name (no
space), you would use the ProperCase function. You could define and set the
variable at the top of the email, rather than in the body of the email:
%%[VAR @firstname
SET @firstname = ProperCase(First_Name)
]%%
You could render the ProperCase variable in the email:
%%=v(@firstname)=%%
ExactTarget Training :: Personalization & Basic AMPscript
36. Lowercase
You can add an AMPscript function
called Lowercase to format all first
names into the proper case.
If you had a Profile Attribute or Data
Extension field called Interest (no
space), you would use the Lowercase
function:
%%=Lowercase(Interest)=%%
If you had an Attribute or Data
Extension field called Primary Interest
(with a space), you must include
brackets:
%%=Lowercase([Primary Interest
])=%%
ExactTarget Training :: Personalization & Basic AMPscript
37. Lowercase
If you had a Profile Attribute or Data Extension field called Interest (no
space), you would use the Lowercase function. You could define and set the
variable at the top of the email, rather than in the body of the email:
%%[VAR @interest
SET @interest = Lowercase (Interest)
]%%
You could render the Lowercase variable in the email:
%%=v(@interest)=%%
ExactTarget Training :: Personalization & Basic AMPscript
38. Uppercase
You can add an AMPscript function
called Uppercase to format all first
names into the proper case.
If you had a Profile Attribute or Data
Extension field called Interest (no
space), you would use the Uppercase
function:
%%=Uppercase(Interest)=%%
If you had an Attribute or Data
Extension field called Primary Interest
(with a space), must use brackets:
%%=Uppercase([Primary Interest
])=%%
ExactTarget Training :: Personalization & Basic AMPscript
39. Uppercase
If you had a Profile Attribute or Data Extension field called Interest (no
space), you would use the Uppercase function. You could define and set the
variable at the top of the email, rather than in the body of the email:
%%[ VAR @interest
SET @interest = Uppercase (Interest)
]%%
You could render the Uppercase variable in the email:
%%=v(@interest)=%%
ExactTarget Training :: Personalization & Basic AMPscript
40. RedirectTo
If you have a Profile Attribute or Data
Extension column heading that
contains a hyperlink, you can use
personalization to populate the
hyperlink in the email, including the
href attribute.
ExactTarget Training :: Personalization & Basic AMPscript
41. RedirectTo
However, when declaring and setting hyperlink variables at the top of the email, you
must always use RedirectTo function to populate the href attribute in an anchor tag.
For example if you declared a hyperlink at the top of the email, when you output the
variable in the href, the hyperlink would not work:
%%[
VAR @url
set @url = "https://pages.exacttarget.com/northern_trail_outfitters/"
]%%
<a href="%%=v(@url)=%%">click here</a>
Nor can you use RedirectTo function when setting a variable:
%%[
VAR @url
set @url = RedirectTo("https://pages.exacttarget.com/northern_trail_outfitters/")
]%%
ExactTarget Training :: Personalization & Basic AMPscript
42. RedirectTo
Instead, you would add the RedirectTo function in the href attribute of an
anchor tag:
<a href="%%=RedirectTo(@url)=%%">click here</a>
ExactTarget Training :: Personalization & Basic AMPscript
44. Commenting
AMPscript may contain comments-or non-executed notes-that allow you, as the
author, to document your code.
You must open comments with the /* sequence and close comments with the */
sequence. Comments may span multiple lines.
For example, if we had created this AMPscript:
%%[
VAR
SET
SET
SET
SET
]%%
@promotion, @promodate, @rep
@promotion = "Annual Fall Sale"
@promodate = "31 October"
@rep = "John Doe"
@firstname = ProperCase([First Name])
ExactTarget Training :: Personalization & Basic AMPscript
45. Commenting
We could mark it up with internal comments:
%%[
/*variables we can use in the email*/
VAR @promotion, @promodate, @rep
/*change the promotion!*/
SET @promotion = "Annual Fall Sale"
/*change the promotion date!*/
SET @promodate = "31 October"
/*if needed, change the rep's name!*/
SET @rep = "John Doe"
/*this function makes the first name propercase*/
SET @firstname = ProperCase([First Name])
]%%
ExactTarget Training :: Personalization & Basic AMPscript
47. Hide a Content Area with AMPscript
We can also hide a Content Area with AMPscript by adding <-- ! -->
Hiding the Content Area will still execute the AMPscript.
<!-%%[
/*variables we can use in the email*/
VAR @promotion, @promodate, @rep, @firstname
/*change the promotion!*/
SET @promotion = "Annual Fall Sale"
/*change the promotion date!*/
SET @promodate = "31 October"
/*if needed, change the rep's name!*/
SET @rep = "John Doe"
/*this function makes the first name propercase*/
SET @firstname = ProperCase([First Name])
]%%
-->
ExactTarget Training :: Personalization & Basic AMPscript
48. Hide a Content Area with AMPscript
ExactTarget Training :: Personalization & Basic AMPscript
50. Thank You!
Kevin Joseph Smith, Sr. Training Coordinator
ksmith@DEGdigital.com
913.951.3124
ExactTarget Training :: Personalization & Basic AMPscript
Presentation created by Kevin Joseph Smith (ksmith@DEGdigital.com).
AMPscript is a scripting language that you can embed within HTML emails, text emails, landing pages, and SMS messages.AMPscript can also interact with your data extensions. You can use AMPscript to include information from your data extensions in your messages and to update data extensions with information from your landing pages.http://help.exacttarget.com/en/documentation/exacttarget/content/ampscript/
Variable names must begin with the @ symbol and be followed by at least one other letter, number, or underscore. Spaces and commas are not allowed in variable names. http://help.exacttarget.com/en/documentation/exacttarget/content/ampscript/ampscript_syntax_guide/
String (or text) constant values must be quoted in double or single quotes. String constants can escape the delimiting quote character if they appear within the text by doubling it. Alternative quote characters, such as smart quotes, are not recognized.http://help.exacttarget.com/en/documentation/exacttarget/content/ampscript/ampscript_syntax_guide/
Numeric constant values consist of an unquoted set of numerals and can also include one decimal point and an introductory minus sign to indicate negative values. Numeric constant values cannot contain commas. Here are some examples:
What if your data is not clean and some subscribers have a first name in shouting caps or lowercase (e.g. JOHN or jill).KJS Verbiage
If you had an Attribute or Data Extension field called First Name (with a space), you must add brackets. %%[@firstname SET @firstname = ProperCase([First Name]) ]%%
If you had an Attribute or Data Extension field called Primary Interest (with a space), you would use the Lowercase function and add brackets. You could define and set the variable at the top of the email, rather than in the body of the email:%%[VAR @interest SET @firstname = Lowercase([Primary Interest]) ]%%
If you had an Attribute or Data Extension field called Primary Interest(with a space), you would use the Uppercase function and add brackets. You could define and set the variable at the top of the email, rather than in the body of the email:%%[ VAR @interest SET @interest = Uppercase([Primary Interest]) ]%%
AMPscript may contain comments-or non-executed notes-that allow you, as the author, to document your code. You must open comments with the /* sequence and close comments with the */ sequence. Comments may span multiple lines.http://help.exacttarget.com/en/documentation/exacttarget/content/ampscript/ampscript_syntax_guide/