--- title: "Personalization Basics" slug: "personalization-basics" description: "Personalize your messages with Mapp Engage using placeholders and rules to boost engagement and conversion based on user profiles and behaviors." status: "update" updated: 2026-11-04T10:53:52Z published: 2026-11-04T10:53:52Z canonical: "docs.mapp.com/personalization-basics" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.mapp.com/llms.txt > Use this file to discover all available pages before exploring further. # Basics Mapp Engage allows you to personalize your messages based on each contact’s profile, preferences, or behavior. Personalized messages increase the relevance of your communication and help improve engagement and conversion. There are two personalization approaches in Mapp Engage: - **Placeholders** – a simple way to insert individual values, such as a contact’s name - **Rules** – a more advanced option to show or hide content based on conditions > [!NOTE] > Use a placeholder if the value is always present and safe to display. Use a rule if the value can be missing or if the content depends on contact data, for example to show fallback content. Rules can contain placeholders, so you can combine both in one message. --- ## 1 Use Case Comparison | **Use Case** | **With Placeholders** | **With Rules (Extended)** | | --- | --- | --- | | **Personalized greeting** | Use the contact’s first name in the message. | Adapt the greeting based on gender and name, with fallback if data is missing. | | **Location reference** | Insert the city or country from the profile. | Show content only to contacts from specific regions or cities. | | **Loyalty status** | Mention the contact’s current loyalty level. | Show exclusive benefits only to contacts who meet a certain threshold (e.g. Gold tier). | --- ## 2 Personalization Placeholders Placeholders are used to insert values from user, group, or member attributes directly into a message. They are enclosed in <%...%> and replaced with the actual value during message sendout. **Common examples include:** - First name, city, country - Group name or membership level - Loyalty points or preferences > [!NOTE] > Note > > A placeholder for an empty attribute inserts nothing. For a contact without a first name, `Hello <%${user['FirstName']}%>,` becomes `Hello ,`. If a value can be missing, use a rule with fallback content instead. **Tools to use:** - [**Personalization expander**](/v1/docs/personalization-wizard): Insert placeholders directly during message creation - [**Code View**](/v1/docs/code-view): Manually enter placeholders when working with custom layouts or external code > [!NOTE] > Note > > Member attributes are not available in the personalization expander. Personalizations based on custom attributes must be configured manually. In these cases, enter the placeholder code manually. See [Attribute References](/v1/docs/attribute-references). Learn more: [Placeholders for Message, Group, and System Data](/v1/docs/placeholders-for-message-group-and-system-data), [Personalization Placeholders](/v1/docs/personalization-tags-for-placeholders) --- ## 3 Personalization Rules Rules define whether content is shown or hidden based on logical conditions. This allows you to display or suppress specific parts of a message, depending on each contact’s data or behavior. **Rules are useful when:** - You want to create fallback options if certain data is missing - You need to adjust content for different audience segments - You want to combine multiple conditions in one message block You can also include placeholders **inside** rules for full flexibility. A rule consists of one or more `InsertIf` blocks and optional `InsertElse` blocks. At send time, Mapp Engage checks the blocks for each contact in the order they are defined and inserts the content of the first block whose condition is met. A default `InsertElse` block without a condition is used if no other condition applies. Rules only control the content of a message. They do not define the audience, the timing, or the campaign flow. - **Combined conditions**: A block can contain several conditions. With **All**, every condition must be true. With **One**, at least one condition must be true. Grouped conditions allow combinations such as `A AND (B OR C)`. - **Rules with or without content**: A rule can contain its own content, for example a complete greeting that you reuse as one unit. A rule without content wraps existing content in your message and only controls whether it is shown. - **Block names**: Block names appear in the email message statistics. Meaningful names make it easier to compare how the variants perform. - **Rules in messages**: When you insert a rule into a message, its code is copied into the message. Changes you make in the message do not change the saved rule. **Tools to use:** - [**Personalization Builder**](/v1/docs/personalization-builder): Visually create and structure rule logic - [**Personalization expander**](/v1/docs/personalization-wizard): Insert existing rules into your message - [**Code View**](/v1/docs/code-view): Build custom logic manually (for advanced scenarios) Learn more: [Personalization Rules](/v1/docs/personalization-rules-insertif-insertelse), [Create a Personalization Rule](/v1/docs/create-a-personalization-rule) > [!TIP] > ![](https://cdn.document360.io/554b9b98-6720-4d8b-9919-c7b203d72648/Images/Documentation/grafik(33).png) > > Looking for a structured learning path? > > Learn step by step in our Academy Course: [Mapp Engage - Advanced - Personalization Rules](https://academy.mapp.com/catalog/courses/4888795). --- ## 4 Data and Functions Placeholders and rules work with the data in your Engage system. Functions extend rules with checks and calculations. - **Attributes**: Store contact, group, and member data that you use in placeholders and rules. See [Understanding Attributes](/v1/docs/attribute-basics). - **Related Data**: Store larger or structured data, such as product catalogs or order histories, and use it in rules and messages. See [Getting Started with Related Data in Mapp Engage](/v1/docs/getting-started-with-related-data-in-mapp-engage) and [Personalization with Related Data](/v1/docs/personalization-with-related-data). - **Functions**: Extend rules when a simple value check is not enough. Functions validate values, for example a date or a format, or transform them, for example by extracting or formatting a string. Some functions serve special cases such as coupons or related data. Functions often require Code View. See [Mapp Engage Functions](/v1/docs/mapp-engage-functions). --- ## 5 Next Steps To see the steps from creating a message to reviewing its performance in order, see [Getting Started with Personalization in Mapp Engage](/v1/docs/getting-started-with-personalization-in-mapp-engage).