--- 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 canonical: "docs.mapp.com/engage-variables-in-landing-pages" --- > ## 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

Hello, %%city%%!

Your current loyalty status is %%status%%.

``` 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).