# Personalization strings and AMPscript lookups and conditionals

*Marketing Cloud Engagement Specialist Study Guide · Content Creation and Delivery · Last updated October 29, 2026 · https://www.certifyforce.com/study-guide/marketing-cloud-engagement-specialist/content-creation-and-delivery/personalization-strings-and-ampscript-lookups-and-conditionals*

Read and fix the personalization a specialist meets: personalization strings and their defaults, footer and profile center strings, AMPscript variables with AttributeValue, Empty, Iif and IF/ELSEIF, Lookup argument order and first-match behavior, RedirectTo for tracked links, and when SSJS is the wrong tool.

- Certification: Salesforce Marketing Cloud Engagement Specialist
- Exam section: Content Creation and Delivery
- Study guide: https://www.certifyforce.com/study-guide/marketing-cloud-engagement-specialist

**Official exam objective:**

> Given a customer scenario, create and customize an email message to meet customers' needs.

## What the exam expects

- Insert personalization strings correctly, including footer address and profile center strings in custom HTML, and give every attribute a default.
- Read AMPscript that sets variables with AttributeValue, Empty and Iif, and predict which IF, ELSEIF or ELSE branch a subscriber sees.
- Fix a Lookup call by its argument order, and explain why duplicate rows return an unexpected value.
- Keep click tracking on links built from data with RedirectTo.
- Explain why a sending data extension column can override a profile attribute, and when SSJS rather than AMPscript belongs in an email.
- Key terms: **personalization string** (a `%%attribute%%` merge field); **AMPscript block** (`%%[ ... ]%%` code that sets variables); **inline expression** (`%%=v(@var)=%%` output); **Lookup** (returns one column's value from a data extension row); **RedirectTo** (builds a tracked link from data).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Unpopulated personalization string | Appears blank; define a default value | [Personalization Strings](https://help.salesforce.com/s/articleView?id=sf.mc_es_personalization_strings.htm&type=5&language=en_US) |
| Footer address strings | member_busname, member_addr, city, state, postalcode, country | [Personalization Strings in Email Studio](https://help.salesforce.com/s/articleView?language=en_US&id=sf.mc_es_available_personalization_strings.htm&type=5) |
| Profile center link | `%%profile_center_url%%`; default in standard template footers | [Personalization Strings in Email Studio](https://help.salesforce.com/s/articleView?language=en_US&id=sf.mc_es_available_personalization_strings.htm&type=5) |
| AttributeValue with no data | Returns null | [AttributeValue()](https://developer.salesforce.com/docs/marketing/marketing-cloud-ampscript/references/mc-ampscript-utilities/mc-ampscript-reference-utilities-attribute-value.html) |
| Iif result | First value if true, second if false | [Lesson 2](https://developer.salesforce.com/docs/marketing/marketing-cloud-ampscript/guide/mc-ampscript-get-started-learning-lesson-2.html) |
| If statement | Must end with EndIf | [Lesson 2](https://developer.salesforce.com/docs/marketing/marketing-cloud-ampscript/guide/mc-ampscript-get-started-learning-lesson-2.html) |
| Lookup argument order | Data extension, return column, search column, search value | [Lookup()](https://developer.salesforce.com/docs/marketing/marketing-cloud-ampscript/references/mc-ampscript-data-extension/mc-ampscript-reference-data-extension-lookup.html) |
| Lookup with several matches | Returns the first matching value | [Lookup()](https://developer.salesforce.com/docs/marketing/marketing-cloud-ampscript/references/mc-ampscript-data-extension/mc-ampscript-reference-data-extension-lookup.html) |
| RedirectTo tracking | Anchor tag in the email body, function in href | [RedirectTo()](https://developer.salesforce.com/docs/marketing/marketing-cloud-ampscript/references/mc-ampscript-http/mc-ampscript-reference-http-redirect-to.html) |
| Same-name data extension column | Overrides the profile attribute | [Dynamic Content](https://help.salesforce.com/s/articleView?id=mktg.mc_ceb_dynamic_content.htm&language=en_US&type=5) |

## Check yourself

- Why does a personalization string need a default value?
- When would LookupOrderedRows be chosen over Lookup?
- Which personalization string shows the email as a web page?
- Why should Core library SSJS stay out of email messages?

## Sources

- [Personalization Strings in Marketing Cloud Engagement](https://help.salesforce.com/s/articleView?id=sf.mc_es_personalization_strings.htm&type=5&language=en_US)
- [Personalization Strings in Email Studio](https://help.salesforce.com/s/articleView?language=en_US&id=sf.mc_es_available_personalization_strings.htm&type=5)
- [Get Started with AMPscript Development, Lesson 2](https://developer.salesforce.com/docs/marketing/marketing-cloud-ampscript/guide/mc-ampscript-get-started-learning-lesson-2.html)
- [AttributeValue()](https://developer.salesforce.com/docs/marketing/marketing-cloud-ampscript/references/mc-ampscript-utilities/mc-ampscript-reference-utilities-attribute-value.html)
- [Lookup()](https://developer.salesforce.com/docs/marketing/marketing-cloud-ampscript/references/mc-ampscript-data-extension/mc-ampscript-reference-data-extension-lookup.html)
- [RedirectTo()](https://developer.salesforce.com/docs/marketing/marketing-cloud-ampscript/references/mc-ampscript-http/mc-ampscript-reference-http-redirect-to.html)
- [Dynamic Content](https://help.salesforce.com/s/articleView?id=mktg.mc_ceb_dynamic_content.htm&language=en_US&type=5)
- [Server-Side JavaScript](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/ssjs_serverSideJavaScript.html)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 7 linked practice questions, and unlimited timed mock exams are included with the Marketing Cloud Engagement Specialist pack (USD $19): https://www.certifyforce.com/practice-exams
