---
title: "How to Use Engage Variables to Personalize Landing Pages"
slug: "engage-variables-in-landing-pages"
updated: 2025-07-25T10:48:01Z
published: 2025-07-25T10:48:01Z
---

> ## 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.

# How to Use Engage Variables to Personalize Landing Pages

## Introduction

You can personalize your Mapp Engage landing pages in two different ways:

- by using **Engage variables**, which display profile-based values such as a contact’s name, location, or preferences, and
- by using **conditional logic** (InsertIf/InsertElse), which controls the visibility of content based on segments or contact attributes.

This article focuses on Engage variables – simple placeholders that allow you to insert contact-specific data into landing pages. They are typically used to personalize text, links, or content blocks for known contacts in a campaign or automation journey.

---

## Prerequisites

To use variables in landing pages effectively, the following conditions must be met:

- **The contact must be identified.**

Engage variables are only resolved if the contact is known at the time the page is loaded. Otherwise, they will remain empty.
- **The variable must exist and be populated.**

The corresponding field in the contact profile must contain a valid value.

> [!WARNING]
> Important:
> 
> Engage landing pages are designed to be used with identified contacts only – typically as part of a Whiteboard journey or via a link in a personalized message.
> 
> If a contact accesses the page outside the intended context (e.g. via a forwarded link, from a different device, or after deleting cookies), identification may fail and variables will appear blank.
> 
> To minimize this risk:
> 
> - Avoid placing critical content solely inside variables.
> - Use default values in contact profiles where appropriate.
> - Ensure campaign links include proper identifiers to maintain contact recognition.

---

## Procedure

---

### Step 1: Open Your Landing Page

Go to *Content > Landing Pages* and create a new landing page or edit an existing one.

---

### Step 2: Insert Variables and Insert Ads

You can personalize your landing page using two types of dynamic elements, both available in the *Mapp Engage Variables* panel during the *Build & Design Landing Page* step.

#### a) Contact Variables

These placeholders are resolved using values from the contact profile.

Use the format:

```plaintext
%%variableName%%
```

Examples:

```xml
<h1>Hello, %%city%%!</h1>
<p>Your current loyalty status is %%status%%.</p>
```

You can use variables in:

- Text
- Buttons
- URLs
- Custom HTML blocks

#### b) Insert Ads

Insert Ads are reusable content blocks – such as banners or disclaimers – that are defined elsewhere in your Engage environment and inserted dynamically.

- In the *Mapp Engage Variables* panel, go to *Content / Attachment > Insert Ad*.
- When inserted, the following default placeholder appears in the HTML:

```plaintext
<%InsertAd:"URL"%>
```

- You need to replace "URL" with either a static content reference or a personalized URL, depending on your use case.
- A maximum of **two Insert Ad blocks** is allowed per landing page.

Using more than two may negatively impact loading performance.

> [!NOTE]
> Note
> 
> Insert Ads are resolved server-side and are not based on individual contact data. They are shared components, not personalized values

##### **Optional: Insert Ads with personalized URLs**

You can also modify an Insert Ad to call a personalized URL, for example, to show user-specific content based on a profile attribute.

Example:

```plaintext
<%InsertAd:"http://www.example.com/${user.customAttribute['Hobby']}.html"%>
```

This will insert the contact’s Hobby value into the URL path.

Make sure to:

- Use the full protocol (http:// or https://)
- Format personalization values as ${user.customAttribute['attributeName']}

This allows you to combine Insert Ads with contact-based personalization logic for advanced use cases.

---

### Step 3: Preview and Test

Use the *Preview* function to simulate how the landing page appears for a known contact.

- Select a test contact to verify that values are correctly rendered.
- If a variable remains empty:

– Ensure the contact is identified.

– Confirm that the profile field contains a value.

– Double-check the variable name (case-sensitive).
