> For the complete documentation index, see [llms.txt](https://support.emarketeer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.emarketeer.com/guides/guides/email-content/personalize-content.md).

# Personalize content

How to use contact field data to display personalized content for each individual recipient in emails, SMS, forms, and landing pages.

Personalized content displays differently for each contact based on data stored on the contact card.

The most common example is a personalized email greeting that addresses the contact by name. Personalization works in emails, SMS, forms, and landing pages.

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-4c3e803c18a12c723d3d219c95083852ca3956d9%2F2021-05-19_10-30-58.png?alt=media" alt="A personalized greeting in an email."></div>

## How personalized content works

When a contact is identified in an eMarketeer component, that component can pull data from the contact card. Emails and SMS always identify the contact, since they are targeted to specific contacts at send time. Forms and landing pages can also personalize when the contact is identified — for example via a personal link.

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-59f3065a92578297f59e8e5e15be5a684c3f257a%2Fpersonalize-content-contact-card-sebastian.png?alt=media" alt="Details tab of a contact card with First name, Last name, Email, Mobile and Company filled in"></div>

Take the contact Sebastian Olsson as an example. Any data stored on a contact card field can be used in a component's text, URL, or HTML content. With First name available, you can greet the contact informally — "Hi Sebastian." With Last name and Salutation available, you can use a formal greeting — "Dear Mr. Olsson."

An email is rarely sent to a single recipient, so the important part is that every recipient has the same fields populated for a consistent message. When a contact lacks data, a fallback value can be used.

## Storing contact data for personalization

The most common ways to gather contact data are CRM sync, Excel import, and forms.

### Importing via Excel

Importing via Excel lets you set the data on each contact by preparing the sheet before upload. In this example, First name, Last name, Email, Company, and Personal Code are imported for two contacts.

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-e2812beb17205a18496b7e9e7079b9291c94f3f3%2F2021-05-19_11-10-16.png?alt=media" alt="Excel sheet with five columns prepared for import"></div>

You can import an Excel file as part of sending an email or SMS, or beforehand into a contact list. Whichever path you choose, the column-mapping step is crucial — each column must match a contact card field.

{% hint style="info" %}
In this example, Personal Code is a custom field. Custom fields are non-standard contact card fields. Add custom fields under: Account Settings → Customize → Contact card fields (administrator role required).
{% endhint %}

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-d0ff81a0a904708a5be8d65a8f3714727da51774%2Fpersonalize-content-import-column-mapping.png?alt=media" alt="Column mapping screen during Excel import showing source columns matched to contact card fields"></div>

## Using contact data in a component

Add personalized data to any text field using the Personalize option in the toolbar.

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-45c05546f33c4165f3ef279a7e359fc9e81c7b84%2Fpersonalize-content-personalize-icon-text-toolbar.png?alt=media" alt="Personalize icon in the Text toolbar of the email editor, marked with an arrow"></div>

The menu lists all available contact card fields, company account fields, and [campaign fields](/guides/guides/campaigns/how-to-use-campaign-fields-in-emarketeer.md).

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-d98ecef5270f4524af164ea46efdd2d9dbbe4ea1%2Fpersonalize-content-personalize-menu.png?alt=media" alt="Personalize dialog listing contact card fields, account data and campaign fields"></div>

Clicking a field inserts a code snippet at the cursor. The snippet for First name looks like this:

```
<% contact field="firstname" fallback="" %>
```

The fallback value handles contacts that lack the field. Edit the text between the `fallback=""` quotes.

Adding `Hello <% contact field="firstname" fallback="valued customer" %>` to your email renders as:

* Hello Sebastian — if the contact's first name is Sebastian.
* Hello valued customer — if the first name is not available.

### Custom field syntax

Standard fields use the syntax above. Custom fields need an extra `type="custom"` attribute:

```
<% contact field="personal_code" fallback="" type="custom" %>
```

{% hint style="info" %}
When writing snippets by hand, forgetting the type attribute is a common mistake — it is not required for standard fields.
{% endhint %}

## Where you can add personalization

### Email sender info

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-e98e08b6f7c75f4310fdac12460f193772158f7a%2Fpersonalize-content-sender-info-personalized.png?alt=media" alt="Email sender info fields with a merge tag typed into the Subject field"></div>

### Text content

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-9d75812ef89531c1f0c16cb840435454e96d34fd%2Fpersonalize-content-headline-personalized.png?alt=media" alt="Big Headline editor with a merge tag inserted after the word Hi"></div>

### Links and URLs

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-7fd791c511739aacfb8bf5455a912095c6fe8927%2Fpersonalize-content-link-personalized-url.png?alt=media" alt="Link URL and caption fields with a personal code merge tag in the URL"></div>

### HTML

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-37d80d21debabb5cf46a28e015fb6957eed92caa%2F2021-05-19_15-17-02.png?alt=media" alt="HTML editor showing a conditional personalization block"></div>

Personalization in HTML with a conditional statement. The block is visible only to contacts with the value "prospect" for the contact category field.

### Other places

* In forms — fields display only if the contact is identified, such as on the thank-you page, in a confirmation email, or via a personal link.
* In certain automations — for example, the lead description text for SuperOffice automations.
* In SMS.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://support.emarketeer.com/guides/guides/email-content/personalize-content.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
